From 69cc282902b8fe49b2e1fbd9d63ebe18ad4b5117 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 3 Mar 2020 15:36:22 +0100
Subject: [PATCH 001/117] PAR : calage

---
 DEVELOPERS.md                                 |   13 +
 package-lock.json                             | 3705 +++--------------
 package.json                                  |    2 +-
 src/app/app.module.ts                         |    4 +-
 src/app/calculators/par/config.json           |   41 +
 src/app/calculators/par/en.json               |   68 +
 src/app/calculators/par/fr.json               |   68 +
 src/app/config.json                           |    8 +
 .../images/themes/passe-ralentisseurs.jpg     |  Bin 0 -> 49927 bytes
 src/locale/messages.en.json                   |    6 +
 src/locale/messages.fr.json                   |    6 +
 11 files changed, 857 insertions(+), 3064 deletions(-)
 create mode 100644 src/app/calculators/par/config.json
 create mode 100644 src/app/calculators/par/en.json
 create mode 100644 src/app/calculators/par/fr.json
 create mode 100644 src/assets/images/themes/passe-ralentisseurs.jpg

diff --git a/DEVELOPERS.md b/DEVELOPERS.md
index 306e7fcf3..02d65fee1 100644
--- a/DEVELOPERS.md
+++ b/DEVELOPERS.md
@@ -183,6 +183,19 @@ Les options peuvent également contenir :
  * les identifiants des listes déroulantes
  * l'aide associée aux résultats (voir ci-dessous)
 
+#### champs
+
+La liste fields contient les champs à afficher, dans l'ordre. Un champ peut être désigné par sa forme courte (son symbole seulement, ex: `"B"`) ou sa forme longue, comme suit :
+
+```json
+{
+    "id": "B",
+    "allowEmpty": false
+}
+```
+
+Définir `allowEmpty` à `true` permet de lancer le calcul même si la valeur du paramètre est laissée vide. Cette option peut être omise si elle vaut `false` (par défaut).
+
 #### aide contextuelle
 
 Différents éléments de la configuration peuvent contenir une clé `help` donnant l'URL de l'aide pour l'élément de l'interface graphique concerné :
diff --git a/package-lock.json b/package-lock.json
index 7bf928081..fdbada216 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,7 +24,6 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
-          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -1598,7 +1597,6 @@
           "version": "6.10.2",
           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
           "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
-          "dev": true,
           "requires": {
             "fast-deep-equal": "^2.0.1",
             "fast-json-stable-stringify": "^2.0.0",
@@ -1610,7 +1608,6 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
-          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -1632,7 +1629,6 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
-          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -1691,8 +1687,7 @@
         "ansi-colors": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
-          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
-          "dev": true
+          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
         },
         "ansi-escapes": {
           "version": "4.3.1",
@@ -1706,14 +1701,12 @@
         "ansi-regex": {
           "version": "5.0.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-          "dev": true
+          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
         },
         "cli-cursor": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
           "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
-          "dev": true,
           "requires": {
             "restore-cursor": "^3.1.0"
           }
@@ -1722,7 +1715,6 @@
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -1731,7 +1723,6 @@
           "version": "3.2.0",
           "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
           "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
-          "dev": true,
           "requires": {
             "escape-string-regexp": "^1.0.5"
           }
@@ -1740,7 +1731,6 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz",
           "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==",
-          "dev": true,
           "requires": {
             "ansi-escapes": "^4.2.1",
             "chalk": "^2.4.2",
@@ -1760,32 +1750,27 @@
         "is-fullwidth-code-point": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
+          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
         },
         "lodash": {
           "version": "4.17.15",
           "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
-          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
-          "dev": true
+          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
         },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
         },
         "mute-stream": {
           "version": "0.0.8",
           "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
-          "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
-          "dev": true
+          "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
         },
         "npm-package-arg": {
           "version": "6.1.1",
           "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz",
           "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==",
-          "dev": true,
           "requires": {
             "hosted-git-info": "^2.7.1",
             "osenv": "^0.1.5",
@@ -1796,8 +1781,7 @@
             "semver": {
               "version": "5.7.1",
               "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
+              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
             }
           }
         },
@@ -1805,7 +1789,6 @@
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
           "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
-          "dev": true,
           "requires": {
             "mimic-fn": "^2.1.0"
           }
@@ -1814,7 +1797,6 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
           "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-          "dev": true,
           "requires": {
             "onetime": "^5.1.0",
             "signal-exit": "^3.0.2"
@@ -1824,7 +1806,6 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
           "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
-          "dev": true,
           "requires": {
             "glob": "^7.1.3"
           }
@@ -1832,14 +1813,12 @@
         "semver": {
           "version": "6.3.0",
           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
         },
         "string-width": {
           "version": "4.2.0",
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
           "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-          "dev": true,
           "requires": {
             "emoji-regex": "^8.0.0",
             "is-fullwidth-code-point": "^3.0.0",
@@ -1850,7 +1829,6 @@
               "version": "6.0.0",
               "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
               "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-              "dev": true,
               "requires": {
                 "ansi-regex": "^5.0.0"
               }
@@ -1861,7 +1839,6 @@
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
           "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-          "dev": true,
           "requires": {
             "ansi-regex": "^4.1.0"
           },
@@ -1869,8 +1846,7 @@
             "ansi-regex": {
               "version": "4.1.0",
               "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-              "dev": true
+              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
             }
           }
         },
@@ -2175,76 +2151,16 @@
       "version": "7.5.5",
       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
       "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+      "dev": true,
       "requires": {
         "@babel/highlight": "^7.0.0"
       }
     },
-    "@babel/core": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.5.5.tgz",
-      "integrity": "sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg==",
-      "requires": {
-        "@babel/code-frame": "^7.5.5",
-        "@babel/generator": "^7.5.5",
-        "@babel/helpers": "^7.5.5",
-        "@babel/parser": "^7.5.5",
-        "@babel/template": "^7.4.4",
-        "@babel/traverse": "^7.5.5",
-        "@babel/types": "^7.5.5",
-        "convert-source-map": "^1.1.0",
-        "debug": "^4.1.0",
-        "json5": "^2.1.0",
-        "lodash": "^4.17.13",
-        "resolve": "^1.3.2",
-        "semver": "^5.4.1",
-        "source-map": "^0.5.0"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.5.5",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
-          "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
-          "requires": {
-            "@babel/highlight": "^7.0.0"
-          }
-        },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "json5": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.0.tgz",
-          "integrity": "sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ==",
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
-        }
-      }
-    },
     "@babel/generator": {
       "version": "7.5.5",
       "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz",
       "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==",
+      "dev": true,
       "requires": {
         "@babel/types": "^7.5.5",
         "jsesc": "^2.5.1",
@@ -2256,64 +2172,17 @@
         "jsesc": {
           "version": "2.5.2",
           "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-          "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+          "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+          "dev": true
         },
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
         }
       }
     },
-    "@babel/helper-annotate-as-pure": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz",
-      "integrity": "sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz",
-      "integrity": "sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w==",
-      "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-builder-react-jsx": {
-      "version": "7.3.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz",
-      "integrity": "sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw==",
-      "requires": {
-        "@babel/types": "^7.3.0",
-        "esutils": "^2.0.0"
-      }
-    },
-    "@babel/helper-call-delegate": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz",
-      "integrity": "sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ==",
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.4.4",
-        "@babel/traverse": "^7.4.4",
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/helper-create-class-features-plugin": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz",
-      "integrity": "sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg==",
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-member-expression-to-functions": "^7.5.5",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.5.5",
-        "@babel/helper-split-export-declaration": "^7.4.4"
-      }
-    },
     "@babel/helper-create-regexp-features-plugin": {
       "version": "7.8.6",
       "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz",
@@ -2376,1076 +2245,112 @@
           "dev": true,
           "requires": {
             "regenerate": "^1.4.0",
-            "regenerate-unicode-properties": "^8.2.0",
-            "regjsgen": "^0.5.1",
-            "regjsparser": "^0.6.4",
-            "unicode-match-property-ecmascript": "^1.0.4",
-            "unicode-match-property-value-ecmascript": "^1.2.0"
-          }
-        },
-        "regjsgen": {
-          "version": "0.5.1",
-          "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
-          "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
-          "dev": true
-        },
-        "regjsparser": {
-          "version": "0.6.4",
-          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
-          "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
-          "dev": true,
-          "requires": {
-            "jsesc": "~0.5.0"
-          }
-        },
-        "unicode-match-property-value-ecmascript": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
-          "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/helper-define-map": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz",
-      "integrity": "sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg==",
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/types": "^7.5.5",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-explode-assignable-expression": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz",
-      "integrity": "sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA==",
-      "requires": {
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-function-name": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
-      "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
-      "requires": {
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-get-function-arity": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
-      "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-hoist-variables": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz",
-      "integrity": "sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w==",
-      "requires": {
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/helper-member-expression-to-functions": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz",
-      "integrity": "sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA==",
-      "requires": {
-        "@babel/types": "^7.5.5"
-      }
-    },
-    "@babel/helper-module-imports": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz",
-      "integrity": "sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-module-transforms": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz",
-      "integrity": "sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw==",
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.4.4",
-        "@babel/template": "^7.4.4",
-        "@babel/types": "^7.5.5",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-optimise-call-expression": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz",
-      "integrity": "sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g==",
-      "requires": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-plugin-utils": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
-      "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA=="
-    },
-    "@babel/helper-regex": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.5.5.tgz",
-      "integrity": "sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw==",
-      "requires": {
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-remap-async-to-generator": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz",
-      "integrity": "sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg==",
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-wrap-function": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz",
-      "integrity": "sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg==",
-      "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.5.5",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/traverse": "^7.5.5",
-        "@babel/types": "^7.5.5"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz",
-      "integrity": "sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w==",
-      "requires": {
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
-      "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
-      "requires": {
-        "@babel/types": "^7.4.4"
-      }
-    },
-    "@babel/helper-wrap-function": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz",
-      "integrity": "sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ==",
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/template": "^7.1.0",
-        "@babel/traverse": "^7.1.0",
-        "@babel/types": "^7.2.0"
-      }
-    },
-    "@babel/helpers": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.5.5.tgz",
-      "integrity": "sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g==",
-      "requires": {
-        "@babel/template": "^7.4.4",
-        "@babel/traverse": "^7.5.5",
-        "@babel/types": "^7.5.5"
-      }
-    },
-    "@babel/highlight": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
-      "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
-      "requires": {
-        "chalk": "^2.0.0",
-        "esutils": "^2.0.2",
-        "js-tokens": "^4.0.0"
-      },
-      "dependencies": {
-        "js-tokens": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-          "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
-        }
-      }
-    },
-    "@babel/parser": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
-      "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g=="
-    },
-    "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz",
-      "integrity": "sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0",
-        "@babel/plugin-syntax-async-generators": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-class-properties": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz",
-      "integrity": "sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A==",
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.5.5",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-proposal-decorators": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz",
-      "integrity": "sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw==",
-      "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.4.4",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-decorators": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-do-expressions": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-do-expressions/-/plugin-proposal-do-expressions-7.5.0.tgz",
-      "integrity": "sha512-xe0QQrhm+DGj6H23a6XtwkJNimy1fo71O/YVBfrfvfSl0fsq9T9dfoQBIY4QceEIdUo7u9s7OPEdsWEuizfGeg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-do-expressions": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-dynamic-import": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz",
-      "integrity": "sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-export-default-from": {
-      "version": "7.5.2",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.5.2.tgz",
-      "integrity": "sha512-wr9Itk05L1/wyyZKVEmXWCdcsp/e185WUNl6AfYZeEKYaUPPvHXRDqO5K1VH7/UamYqGJowFRuCv30aDYZawsg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-export-default-from": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-export-namespace-from": {
-      "version": "7.5.2",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.5.2.tgz",
-      "integrity": "sha512-TKUdOL07anjZEbR1iSxb5WFh810KyObdd29XLFLGo1IDsSuGrjH3ouWSbAxHNmrVKzr9X71UYl2dQ7oGGcRp0g==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-export-namespace-from": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-function-bind": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.2.0.tgz",
-      "integrity": "sha512-qOFJ/eX1Is78sywwTxDcsntLOdb5ZlHVVqUz5xznq8ldAfOVIyZzp1JE2rzHnaksZIhrqMrwIpQL/qcEprnVbw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-function-bind": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-function-sent": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-function-sent/-/plugin-proposal-function-sent-7.5.0.tgz",
-      "integrity": "sha512-JXdfiQpKoC6UgQliZkp3NX7K3MVec1o1nfTWiCCIORE5ag/QZXhL0aSD8/Y2K+hIHonSTxuJF9rh9zsB6hBi2A==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-wrap-function": "^7.2.0",
-        "@babel/plugin-syntax-function-sent": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-json-strings": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz",
-      "integrity": "sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-json-strings": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-logical-assignment-operators": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.2.0.tgz",
-      "integrity": "sha512-0w797xwdPXKk0m3Js74hDi0mCTZplIu93MOSfb1ZLd/XFe3abWypx1QknVk0J+ohnsjYpvjH4Gwfo2i3RicB6Q==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-nullish-coalescing-operator": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.4.4.tgz",
-      "integrity": "sha512-Amph7Epui1Dh/xxUxS2+K22/MUi6+6JVTvy3P58tja3B6yKTSjwwx0/d83rF7551D6PVSSoplQb8GCwqec7HRw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-numeric-separator": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.2.0.tgz",
-      "integrity": "sha512-DohMOGDrZiMKS7LthjUZNNcWl8TAf5BZDwZAH4wpm55FuJTHgfqPGdibg7rZDmont/8Yg0zA03IgT6XLeP+4sg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-numeric-separator": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz",
-      "integrity": "sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz",
-      "integrity": "sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-optional-chaining": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.2.0.tgz",
-      "integrity": "sha512-ea3Q6edZC/55wEBVZAEz42v528VulyO0eir+7uky/sT4XRcdkWJcFi1aPtitTlwUzGnECWJNExWww1SStt+yWw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-optional-chaining": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-pipeline-operator": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.5.0.tgz",
-      "integrity": "sha512-HFYuu/yGnkn69ligXxU0ohOVvQDsMNOUJs/c4PYLUVS6ntCYOyGmRQQaSYJARJ9rvc7/ulZKIzxd4wk91hN63A==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-pipeline-operator": "^7.5.0"
-      }
-    },
-    "@babel/plugin-proposal-throw-expressions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.2.0.tgz",
-      "integrity": "sha512-adsydM8DQF4i5DLNO4ySAU5VtHTPewOtNBV3u7F4lNMPADFF9bWQ+iDtUUe8+033cYCUz+bFlQdXQJmJOwoLpw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-throw-expressions": "^7.2.0"
-      }
-    },
-    "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz",
-      "integrity": "sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.4.4",
-        "regexpu-core": "^4.5.4"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
-        },
-        "regexpu-core": {
-          "version": "4.5.5",
-          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz",
-          "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==",
-          "requires": {
-            "regenerate": "^1.4.0",
-            "regenerate-unicode-properties": "^8.1.0",
-            "regjsgen": "^0.5.0",
-            "regjsparser": "^0.6.0",
-            "unicode-match-property-ecmascript": "^1.0.4",
-            "unicode-match-property-value-ecmascript": "^1.1.0"
-          }
-        },
-        "regjsgen": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
-          "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA=="
-        },
-        "regjsparser": {
-          "version": "0.6.0",
-          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
-          "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
-          "requires": {
-            "jsesc": "~0.5.0"
-          }
-        }
-      }
-    },
-    "@babel/plugin-syntax-async-generators": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz",
-      "integrity": "sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-decorators": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz",
-      "integrity": "sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-do-expressions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-do-expressions/-/plugin-syntax-do-expressions-7.2.0.tgz",
-      "integrity": "sha512-/u4rJ+XEmZkIhspVuKRS+7WLvm7Dky9j9TvGK5IgId8B3FKir9MG+nQxDZ9xLn10QMBvW58dZ6ABe2juSmARjg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-dynamic-import": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz",
-      "integrity": "sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-export-default-from": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.2.0.tgz",
-      "integrity": "sha512-c7nqUnNST97BWPtoe+Ssi+fJukc9P9/JMZ71IOMNQWza2E+Psrd46N6AEvtw6pqK+gt7ChjXyrw4SPDO79f3Lw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-export-namespace-from": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.2.0.tgz",
-      "integrity": "sha512-1zGA3UNch6A+A11nIzBVEaE3DDJbjfB+eLIcf0GGOh/BJr/8NxL3546MGhV/r0RhH4xADFIEso39TKCfEMlsGA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-flow": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.2.0.tgz",
-      "integrity": "sha512-r6YMuZDWLtLlu0kqIim5o/3TNRAlWb073HwT3e2nKf9I8IIvOggPrnILYPsrrKilmn/mYEMCf/Z07w3yQJF6dg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-function-bind": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.2.0.tgz",
-      "integrity": "sha512-/WzU1lLU2l0wDfB42Wkg6tahrmtBbiD8C4H6EGSX0M4GAjzN6JiOpq/Uh8G6GSoR6lPMvhjM0MNiV6znj6y/zg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-function-sent": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-function-sent/-/plugin-syntax-function-sent-7.2.0.tgz",
-      "integrity": "sha512-2MOVuJ6IMAifp2cf0RFkHQaOvHpbBYyWCvgtF/WVqXhTd7Bgtov8iXVCadLXp2FN1BrI2EFl+JXuwXy0qr3KoQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-import-meta": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.2.0.tgz",
-      "integrity": "sha512-Hq6kFSZD7+PHkmBN8bCpHR6J8QEoCuEV/B38AIQscYjgMZkGlXB7cHNFzP5jR4RCh5545yP1ujHdmO7hAgKtBA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-json-strings": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz",
-      "integrity": "sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-jsx": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz",
-      "integrity": "sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.2.0.tgz",
-      "integrity": "sha512-l/NKSlrnvd73/EL540t9hZhcSo4TULBrIPs9Palju8Oc/A8DXDO+xQf04whfeuZLpi8AuIvCAdpKmmubLN4EfQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.2.0.tgz",
-      "integrity": "sha512-lRCEaKE+LTxDQtgbYajI04ddt6WW0WJq57xqkAZ+s11h4YgfRHhVA/Y2VhfPzzFD4qeLHWg32DMp9HooY4Kqlg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-numeric-separator": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.2.0.tgz",
-      "integrity": "sha512-DroeVNkO/BnGpL2R7+ZNZqW+E24aR/4YWxP3Qb15d6lPU8KDzF8HlIUIRCOJRn4X77/oyW4mJY+7FHfY82NLtQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz",
-      "integrity": "sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz",
-      "integrity": "sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-chaining": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.2.0.tgz",
-      "integrity": "sha512-HtGCtvp5Uq/jH/WNUPkK6b7rufnCPLLlDAFN7cmACoIjaOOiXxUt3SswU5loHqrhtqTsa/WoLQ1OQ1AGuZqaWA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-pipeline-operator": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-pipeline-operator/-/plugin-syntax-pipeline-operator-7.5.0.tgz",
-      "integrity": "sha512-5FVxPiMTMXWk4R7Kq9pt272nDu8VImJdaIzvXFSTcXFbgKWWaOdbic12TvUvl6cK+AE5EgnhwvxuWik4ZYYdzg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-throw-expressions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-throw-expressions/-/plugin-syntax-throw-expressions-7.2.0.tgz",
-      "integrity": "sha512-ngwynuqu1Rx0JUS9zxSDuPgW1K8TyVZCi2hHehrL4vyjqE7RGoNHWlZsS7KQT2vw9Yjk4YLa0+KldBXTRdPLRg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-syntax-top-level-await": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
-      "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/helper-plugin-utils": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-          "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-          "dev": true
-        }
-      }
-    },
-    "@babel/plugin-transform-arrow-functions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz",
-      "integrity": "sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-async-to-generator": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz",
-      "integrity": "sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg==",
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-remap-async-to-generator": "^7.1.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz",
-      "integrity": "sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-block-scoping": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz",
-      "integrity": "sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/plugin-transform-classes": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz",
-      "integrity": "sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg==",
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-define-map": "^7.5.5",
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-optimise-call-expression": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.5.5",
-        "@babel/helper-split-export-declaration": "^7.4.4",
-        "globals": "^11.1.0"
-      },
-      "dependencies": {
-        "globals": {
-          "version": "11.12.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-          "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
-        }
-      }
-    },
-    "@babel/plugin-transform-computed-properties": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz",
-      "integrity": "sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-destructuring": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz",
-      "integrity": "sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-dotall-regex": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz",
-      "integrity": "sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.4.4",
-        "regexpu-core": "^4.5.4"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
-        },
-        "regexpu-core": {
-          "version": "4.5.5",
-          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz",
-          "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==",
-          "requires": {
-            "regenerate": "^1.4.0",
-            "regenerate-unicode-properties": "^8.1.0",
-            "regjsgen": "^0.5.0",
-            "regjsparser": "^0.6.0",
-            "unicode-match-property-ecmascript": "^1.0.4",
-            "unicode-match-property-value-ecmascript": "^1.1.0"
-          }
-        },
-        "regjsgen": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
-          "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA=="
-        },
-        "regjsparser": {
-          "version": "0.6.0",
-          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
-          "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
-          "requires": {
-            "jsesc": "~0.5.0"
-          }
-        }
-      }
-    },
-    "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz",
-      "integrity": "sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz",
-      "integrity": "sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A==",
-      "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-flow-strip-types": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.4.4.tgz",
-      "integrity": "sha512-WyVedfeEIILYEaWGAUWzVNyqG4sfsNooMhXWsu/YzOvVGcsnPb5PguysjJqI3t3qiaYj0BR8T2f5njdjTGe44Q==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-flow": "^7.2.0"
-      }
-    },
-    "@babel/plugin-transform-for-of": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz",
-      "integrity": "sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-function-name": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz",
-      "integrity": "sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA==",
-      "requires": {
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-literals": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz",
-      "integrity": "sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz",
-      "integrity": "sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-modules-amd": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz",
-      "integrity": "sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg==",
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
-      }
-    },
-    "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz",
-      "integrity": "sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ==",
-      "requires": {
-        "@babel/helper-module-transforms": "^7.4.4",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-simple-access": "^7.1.0",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
-      }
-    },
-    "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz",
-      "integrity": "sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg==",
-      "requires": {
-        "@babel/helper-hoist-variables": "^7.4.4",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
-      }
-    },
-    "@babel/plugin-transform-modules-umd": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz",
-      "integrity": "sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw==",
-      "requires": {
-        "@babel/helper-module-transforms": "^7.1.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.4.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz",
-      "integrity": "sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg==",
-      "requires": {
-        "regexp-tree": "^0.1.6"
-      }
-    },
-    "@babel/plugin-transform-new-target": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz",
-      "integrity": "sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-object-super": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz",
-      "integrity": "sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-replace-supers": "^7.5.5"
-      }
-    },
-    "@babel/plugin-transform-parameters": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz",
-      "integrity": "sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw==",
-      "requires": {
-        "@babel/helper-call-delegate": "^7.4.4",
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-property-literals": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz",
-      "integrity": "sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-react-display-name": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz",
-      "integrity": "sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-react-jsx": {
-      "version": "7.3.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz",
-      "integrity": "sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg==",
-      "requires": {
-        "@babel/helper-builder-react-jsx": "^7.3.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@babel/plugin-transform-react-jsx-self": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz",
-      "integrity": "sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@babel/plugin-transform-react-jsx-source": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz",
-      "integrity": "sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-syntax-jsx": "^7.2.0"
-      }
-    },
-    "@babel/plugin-transform-regenerator": {
-      "version": "7.4.5",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz",
-      "integrity": "sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA==",
-      "requires": {
-        "regenerator-transform": "^0.14.0"
-      }
-    },
-    "@babel/plugin-transform-reserved-words": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz",
-      "integrity": "sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz",
-      "integrity": "sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-spread": {
-      "version": "7.2.2",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz",
-      "integrity": "sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-sticky-regex": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz",
-      "integrity": "sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-template-literals": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz",
-      "integrity": "sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g==",
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz",
-      "integrity": "sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0"
-      }
-    },
-    "@babel/plugin-transform-unicode-regex": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz",
-      "integrity": "sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA==",
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/helper-regex": "^7.4.4",
-        "regexpu-core": "^4.5.4"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
-        },
-        "regexpu-core": {
-          "version": "4.5.5",
-          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.5.5.tgz",
-          "integrity": "sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ==",
-          "requires": {
-            "regenerate": "^1.4.0",
-            "regenerate-unicode-properties": "^8.1.0",
-            "regjsgen": "^0.5.0",
-            "regjsparser": "^0.6.0",
+            "regenerate-unicode-properties": "^8.2.0",
+            "regjsgen": "^0.5.1",
+            "regjsparser": "^0.6.4",
             "unicode-match-property-ecmascript": "^1.0.4",
-            "unicode-match-property-value-ecmascript": "^1.1.0"
+            "unicode-match-property-value-ecmascript": "^1.2.0"
           }
         },
         "regjsgen": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.0.tgz",
-          "integrity": "sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA=="
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
+          "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
+          "dev": true
         },
         "regjsparser": {
-          "version": "0.6.0",
-          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.0.tgz",
-          "integrity": "sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ==",
+          "version": "0.6.4",
+          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+          "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
+          "dev": true,
           "requires": {
             "jsesc": "~0.5.0"
           }
+        },
+        "unicode-match-property-value-ecmascript": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
+          "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
+          "dev": true
         }
       }
     },
-    "@babel/preset-env": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.5.5.tgz",
-      "integrity": "sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A==",
-      "requires": {
-        "@babel/helper-module-imports": "^7.0.0",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-async-generator-functions": "^7.2.0",
-        "@babel/plugin-proposal-dynamic-import": "^7.5.0",
-        "@babel/plugin-proposal-json-strings": "^7.2.0",
-        "@babel/plugin-proposal-object-rest-spread": "^7.5.5",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.2.0",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
-        "@babel/plugin-syntax-async-generators": "^7.2.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.2.0",
-        "@babel/plugin-syntax-json-strings": "^7.2.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.2.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.2.0",
-        "@babel/plugin-transform-arrow-functions": "^7.2.0",
-        "@babel/plugin-transform-async-to-generator": "^7.5.0",
-        "@babel/plugin-transform-block-scoped-functions": "^7.2.0",
-        "@babel/plugin-transform-block-scoping": "^7.5.5",
-        "@babel/plugin-transform-classes": "^7.5.5",
-        "@babel/plugin-transform-computed-properties": "^7.2.0",
-        "@babel/plugin-transform-destructuring": "^7.5.0",
-        "@babel/plugin-transform-dotall-regex": "^7.4.4",
-        "@babel/plugin-transform-duplicate-keys": "^7.5.0",
-        "@babel/plugin-transform-exponentiation-operator": "^7.2.0",
-        "@babel/plugin-transform-for-of": "^7.4.4",
-        "@babel/plugin-transform-function-name": "^7.4.4",
-        "@babel/plugin-transform-literals": "^7.2.0",
-        "@babel/plugin-transform-member-expression-literals": "^7.2.0",
-        "@babel/plugin-transform-modules-amd": "^7.5.0",
-        "@babel/plugin-transform-modules-commonjs": "^7.5.0",
-        "@babel/plugin-transform-modules-systemjs": "^7.5.0",
-        "@babel/plugin-transform-modules-umd": "^7.2.0",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.4.5",
-        "@babel/plugin-transform-new-target": "^7.4.4",
-        "@babel/plugin-transform-object-super": "^7.5.5",
-        "@babel/plugin-transform-parameters": "^7.4.4",
-        "@babel/plugin-transform-property-literals": "^7.2.0",
-        "@babel/plugin-transform-regenerator": "^7.4.5",
-        "@babel/plugin-transform-reserved-words": "^7.2.0",
-        "@babel/plugin-transform-shorthand-properties": "^7.2.0",
-        "@babel/plugin-transform-spread": "^7.2.0",
-        "@babel/plugin-transform-sticky-regex": "^7.2.0",
-        "@babel/plugin-transform-template-literals": "^7.4.4",
-        "@babel/plugin-transform-typeof-symbol": "^7.2.0",
-        "@babel/plugin-transform-unicode-regex": "^7.4.4",
-        "@babel/types": "^7.5.5",
-        "browserslist": "^4.6.0",
-        "core-js-compat": "^3.1.1",
-        "invariant": "^2.2.2",
-        "js-levenshtein": "^1.1.3",
-        "semver": "^5.5.0"
+    "@babel/helper-function-name": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+      "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-get-function-arity": "^7.0.0",
+        "@babel/template": "^7.1.0",
+        "@babel/types": "^7.0.0"
       }
     },
-    "@babel/preset-flow": {
+    "@babel/helper-get-function-arity": {
       "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.0.0.tgz",
-      "integrity": "sha512-bJOHrYOPqJZCkPVbG1Lot2r5OSsB+iUOaxiHdlOeB1yPWS6evswVHwvkDLZ54WTaTRIk89ds0iHmGZSnxlPejQ==",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+      "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+      "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-transform-flow-strip-types": "^7.0.0"
+        "@babel/types": "^7.0.0"
       }
     },
-    "@babel/preset-react": {
+    "@babel/helper-plugin-utils": {
       "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.0.0.tgz",
-      "integrity": "sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w==",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
+      "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
+      "dev": true
+    },
+    "@babel/helper-split-export-declaration": {
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+      "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+      "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-transform-react-display-name": "^7.0.0",
-        "@babel/plugin-transform-react-jsx": "^7.0.0",
-        "@babel/plugin-transform-react-jsx-self": "^7.0.0",
-        "@babel/plugin-transform-react-jsx-source": "^7.0.0"
+        "@babel/types": "^7.4.4"
       }
     },
-    "@babel/preset-stage-0": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/preset-stage-0/-/preset-stage-0-7.0.0.tgz",
-      "integrity": "sha512-FBMd0IiARPtH5aaOFUVki6evHiJQiY0pFy7fizyRF7dtwc+el3nwpzvhb9qBNzceG1OIJModG1xpE0DDFjPXwA=="
+    "@babel/highlight": {
+      "version": "7.5.0",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+      "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+      "dev": true,
+      "requires": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      },
+      "dependencies": {
+        "js-tokens": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+          "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/parser": {
+      "version": "7.5.5",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
+      "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==",
+      "dev": true
+    },
+    "@babel/plugin-syntax-top-level-await": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
+      "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/helper-plugin-utils": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+          "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+          "dev": true
+        }
+      }
     },
     "@babel/runtime": {
       "version": "7.8.4",
@@ -3468,6 +2373,7 @@
       "version": "7.4.4",
       "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz",
       "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==",
+      "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
         "@babel/parser": "^7.4.4",
@@ -3478,6 +2384,7 @@
       "version": "7.5.5",
       "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz",
       "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==",
+      "dev": true,
       "requires": {
         "@babel/code-frame": "^7.5.5",
         "@babel/generator": "^7.5.5",
@@ -3494,6 +2401,7 @@
           "version": "7.5.5",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
           "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+          "dev": true,
           "requires": {
             "@babel/highlight": "^7.0.0"
           }
@@ -3502,6 +2410,7 @@
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -3509,12 +2418,14 @@
         "globals": {
           "version": "11.12.0",
           "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-          "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+          "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+          "dev": true
         },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         }
       }
     },
@@ -3522,6 +2433,7 @@
       "version": "7.5.5",
       "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz",
       "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==",
+      "dev": true,
       "requires": {
         "esutils": "^2.0.2",
         "lodash": "^4.17.13",
@@ -3531,7 +2443,8 @@
         "to-fast-properties": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-          "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+          "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+          "dev": true
         }
       }
     },
@@ -3958,7 +2871,6 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -3967,7 +2879,6 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz",
           "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==",
-          "dev": true,
           "requires": {
             "hosted-git-info": "^3.0.2",
             "osenv": "^0.1.5",
@@ -3978,8 +2889,7 @@
             "semver": {
               "version": "5.7.1",
               "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
+              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
             }
           }
         },
@@ -3987,7 +2897,6 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
-          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -3995,14 +2904,12 @@
         "semver": {
           "version": "6.3.0",
           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
         },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -4136,11 +3043,6 @@
       "resolved": "https://registry.npmjs.org/@types/sprintf-js/-/sprintf-js-1.1.2.tgz",
       "integrity": "sha512-hkgzYF+qnIl8uTO8rmUSVSfQ8BIfMXC4yJAF4n8BE758YsKBZvFC4NumnAegj7KmylP0liEZNpb9RRGFMbFejA=="
     },
-    "@types/unist": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.3.tgz",
-      "integrity": "sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ=="
-    },
     "@types/webpack-sources": {
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.6.tgz",
@@ -4366,8 +3268,7 @@
     "@yarnpkg/lockfile": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
-      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
-      "dev": true
+      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="
     },
     "JSONStream": {
       "version": "1.3.5",
@@ -4449,7 +3350,6 @@
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
       "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
-      "dev": true,
       "requires": {
         "es6-promisify": "^5.0.0"
       }
@@ -4458,7 +3358,6 @@
       "version": "3.5.2",
       "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
       "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
-      "dev": true,
       "requires": {
         "humanize-ms": "^1.2.1"
       }
@@ -4477,7 +3376,6 @@
       "version": "6.6.2",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
       "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
-      "dev": true,
       "requires": {
         "fast-deep-equal": "^2.0.1",
         "fast-json-stable-stringify": "^2.0.0",
@@ -4607,12 +3505,14 @@
     "ansi-html": {
       "version": "0.0.7",
       "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz",
-      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4="
+      "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=",
+      "dev": true
     },
     "ansi-regex": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
-      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8="
+      "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+      "dev": true
     },
     "ansi-styles": {
       "version": "3.2.1",
@@ -4647,6 +3547,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
       "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+      "dev": true,
       "requires": {
         "micromatch": "^3.1.4",
         "normalize-path": "^2.1.1"
@@ -4756,21 +3657,6 @@
       "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==",
       "dev": true
     },
-    "append-buffer": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz",
-      "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=",
-      "requires": {
-        "buffer-equal": "^1.0.0"
-      },
-      "dependencies": {
-        "buffer-equal": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz",
-          "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74="
-        }
-      }
-    },
     "append-transform": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
@@ -4783,8 +3669,7 @@
     "aproba": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
     },
     "arg": {
       "version": "4.1.3",
@@ -4796,6 +3681,7 @@
       "version": "1.0.10",
       "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
       "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+      "dev": true,
       "requires": {
         "sprintf-js": "~1.0.2"
       }
@@ -4813,17 +3699,20 @@
     "arr-diff": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+      "dev": true
     },
     "arr-flatten": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+      "dev": true
     },
     "arr-union": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+      "dev": true
     },
     "array-differ": {
       "version": "1.0.0",
@@ -4872,7 +3761,8 @@
     "array-unique": {
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+      "dev": true
     },
     "arraybuffer.slice": {
       "version": "0.0.7",
@@ -4889,14 +3779,12 @@
     "asap": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
-      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
-      "dev": true
+      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
     },
     "asn1": {
       "version": "0.2.4",
       "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
       "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
-      "dev": true,
       "requires": {
         "safer-buffer": "~2.1.0"
       }
@@ -4942,13 +3830,13 @@
     "assert-plus": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
     },
     "assign-symbols": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+      "dev": true
     },
     "ast-transform": {
       "version": "0.0.0",
@@ -5027,7 +3915,8 @@
     "async-each": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
-      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
+      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+      "dev": true
     },
     "async-exit-hook": {
       "version": "2.0.1",
@@ -5044,13 +3933,13 @@
     "asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
-      "dev": true
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
     },
     "atob": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+      "dev": true
     },
     "autoprefixer": {
       "version": "9.7.1",
@@ -5110,14 +3999,12 @@
     "aws-sign2": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
     },
     "aws4": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
-      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
-      "dev": true
+      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
     },
     "axobject-query": {
       "version": "2.0.2",
@@ -5179,6 +4066,7 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
       "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
+      "dev": true,
       "requires": {
         "object.assign": "^4.1.0"
       }
@@ -5201,22 +4089,12 @@
         }
       }
     },
-    "babelify": {
-      "version": "10.0.0",
-      "resolved": "https://registry.npmjs.org/babelify/-/babelify-10.0.0.tgz",
-      "integrity": "sha512-X40FaxyH7t3X+JFAKvb1H9wooWKLRCi8pg3m8poqtdZaIng+bjzp9RvKQCvRjF9isHiPkXspbbXT/zwXLtwgwg=="
-    },
     "backo2": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
       "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
       "dev": true
     },
-    "bail": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.4.tgz",
-      "integrity": "sha512-S8vuDB4w6YpRhICUDET3guPlQpaJl7od94tpZ0Fvnyp+MKW/HyDTcRDck+29C9g+d/qQHnddRH3+94kZdrW0Ww=="
-    },
     "balanced-match": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
@@ -5226,6 +4104,7 @@
       "version": "0.11.2",
       "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
       "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+      "dev": true,
       "requires": {
         "cache-base": "^1.0.1",
         "class-utils": "^0.3.5",
@@ -5240,6 +4119,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -5248,6 +4128,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -5256,6 +4137,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -5264,6 +4146,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -5308,7 +4191,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
       "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "dev": true,
       "requires": {
         "tweetnacl": "^0.14.3"
       }
@@ -5342,7 +4224,8 @@
     "binary-extensions": {
       "version": "1.13.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
-      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw=="
+      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
+      "dev": true
     },
     "blob": {
       "version": "0.0.5",
@@ -5370,8 +4253,7 @@
     "bluebird": {
       "version": "3.5.5",
       "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
-      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
-      "dev": true
+      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
     },
     "bluebird-lst": {
       "version": "1.0.9",
@@ -5388,38 +4270,6 @@
       "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
       "dev": true
     },
-    "body": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
-      "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
-      "requires": {
-        "continuable-cache": "^0.3.1",
-        "error": "^7.0.0",
-        "raw-body": "~1.1.0",
-        "safe-json-parse": "~1.0.1"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
-          "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g="
-        },
-        "raw-body": {
-          "version": "1.1.7",
-          "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
-          "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
-          "requires": {
-            "bytes": "1",
-            "string_decoder": "0.10"
-          }
-        },
-        "string_decoder": {
-          "version": "0.10.31",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
-          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
-        }
-      }
-    },
     "body-parser": {
       "version": "1.19.0",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
@@ -5634,6 +4484,7 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
       "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
       "requires": {
         "arr-flatten": "^1.1.0",
         "array-unique": "^0.3.2",
@@ -5651,6 +4502,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -5688,6 +4540,7 @@
       "version": "1.11.3",
       "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz",
       "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==",
+      "dev": true,
       "requires": {
         "resolve": "1.1.7"
       },
@@ -5695,7 +4548,8 @@
         "resolve": {
           "version": "1.1.7",
           "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
-          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
+          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+          "dev": true
         }
       }
     },
@@ -5785,6 +4639,7 @@
       "version": "4.6.3",
       "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.3.tgz",
       "integrity": "sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ==",
+      "dev": true,
       "requires": {
         "caniuse-lite": "^1.0.30000975",
         "electron-to-chromium": "^1.3.164",
@@ -5850,11 +4705,6 @@
       "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
       "dev": true
     },
-    "buffer-shims": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz",
-      "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E="
-    },
     "buffer-xor": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
@@ -6002,8 +4852,7 @@
     "builtins": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
-      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
-      "dev": true
+      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og="
     },
     "bytes": {
       "version": "3.0.0",
@@ -6087,6 +4936,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
       "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+      "dev": true,
       "requires": {
         "collection-visit": "^1.0.0",
         "component-emitter": "^1.2.1",
@@ -6143,11 +4993,6 @@
         }
       }
     },
-    "cached-path-relative": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/cached-path-relative/-/cached-path-relative-1.0.2.tgz",
-      "integrity": "sha512-5r2GqsoEb4qMTTN9J+WzXfjov+hjxT+j3u5K+kIVNIwAd99DLCJE9pBIMP1qVeybV6JiijL385Oz0DcYxfbOIg=="
-    },
     "call-me-maybe": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz",
@@ -6214,7 +5059,8 @@
     "caniuse-lite": {
       "version": "1.0.30000979",
       "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000979.tgz",
-      "integrity": "sha512-gcu45yfq3B7Y+WB05fOMfr0EiSlq+1u+m6rPHyJli/Wy3PVQNGaU7VA4bZE5qw+AU2UVOBR/N5g1bzADUqdvFw=="
+      "integrity": "sha512-gcu45yfq3B7Y+WB05fOMfr0EiSlq+1u+m6rPHyJli/Wy3PVQNGaU7VA4bZE5qw+AU2UVOBR/N5g1bzADUqdvFw==",
+      "dev": true
     },
     "canonical-path": {
       "version": "1.0.0",
@@ -6231,13 +5077,7 @@
     "caseless": {
       "version": "0.12.0",
       "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
-      "dev": true
-    },
-    "ccount": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.0.4.tgz",
-      "integrity": "sha512-fpZ81yYfzentuieinmGnphk0pLkOTMm6MZdVqwd77ROvhko6iujLNGrHH5E7utq3ygWklwfmwuG+A7P+NpqT6w=="
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
     },
     "cfb": {
       "version": "1.1.3",
@@ -6270,31 +5110,10 @@
         }
       }
     },
-    "character-entities": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.3.tgz",
-      "integrity": "sha512-yB4oYSAa9yLcGyTbB4ItFwHw43QHdH129IJ5R+WvxOkWlyFnR5FAaBNnUq4mcxsTVZGh28bHoeTHMKXH1wZf3w=="
-    },
-    "character-entities-html4": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.3.tgz",
-      "integrity": "sha512-SwnyZ7jQBCRHELk9zf2CN5AnGEc2nA+uKMZLHvcqhpPprjkYhiLn0DywMHgN5ttFZuITMATbh68M6VIVKwJbcg=="
-    },
-    "character-entities-legacy": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.3.tgz",
-      "integrity": "sha512-YAxUpPoPwxYFsslbdKkhrGnXAtXoHNgYjlBM3WMXkWGTl5RsY3QmOyhwAgL8Nxm9l5LBThXGawxKPn68y6/fww=="
-    },
-    "character-reference-invalid": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.3.tgz",
-      "integrity": "sha512-VOq6PRzQBam/8Jm6XBGk2fNEnHXAdGd6go0rtd4weAGECBamHDwwCQSOT12TACIYUZegUXnV6xBXqUssijtxIg=="
-    },
     "chardet": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
-      "dev": true
+      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
     },
     "chart.js": {
       "version": "2.7.3",
@@ -6359,6 +5178,7 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
       "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
+      "dev": true,
       "requires": {
         "anymatch": "^2.0.0",
         "async-each": "^1.0.0",
@@ -6378,8 +5198,7 @@
     "chownr": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
     },
     "chrome-trace-event": {
       "version": "1.0.2",
@@ -6422,6 +5241,7 @@
       "version": "0.3.6",
       "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
       "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "define-property": "^0.2.5",
@@ -6433,6 +5253,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -6440,9 +5261,9 @@
       }
     },
     "clean-css": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.1.tgz",
-      "integrity": "sha512-4ZxI6dy4lrY6FHzfiy1aEOXgu4LIsW2MhwG0VBKdcoGoH/XLFgaHSdLTGr4O8Be6A8r3MOphEiI8Gc1n0ecf3g==",
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz",
+      "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==",
       "requires": {
         "source-map": "~0.6.0"
       },
@@ -6478,14 +5299,12 @@
     "cli-spinners": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
-      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==",
-      "dev": true
+      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ=="
     },
     "cli-width": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
-      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
-      "dev": true
+      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
     },
     "clipboard": {
       "version": "2.0.4",
@@ -6502,6 +5321,7 @@
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
       "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
+      "dev": true,
       "requires": {
         "string-width": "^2.1.1",
         "strip-ansi": "^4.0.0",
@@ -6511,17 +5331,20 @@
         "ansi-regex": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
+          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+          "dev": true
         },
         "is-fullwidth-code-point": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
+          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
+          "dev": true
         },
         "string-width": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
           "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
+          "dev": true,
           "requires": {
             "is-fullwidth-code-point": "^2.0.0",
             "strip-ansi": "^4.0.0"
@@ -6531,6 +5354,7 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
           "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+          "dev": true,
           "requires": {
             "ansi-regex": "^3.0.0"
           }
@@ -6540,12 +5364,8 @@
     "clone": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
-      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18="
-    },
-    "clone-buffer": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz",
-      "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg="
+      "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=",
+      "dev": true
     },
     "clone-deep": {
       "version": "4.0.1",
@@ -6567,21 +5387,6 @@
         "mimic-response": "^1.0.0"
       }
     },
-    "clone-stats": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz",
-      "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA="
-    },
-    "cloneable-readable": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz",
-      "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==",
-      "requires": {
-        "inherits": "^2.0.1",
-        "process-nextick-args": "^2.0.0",
-        "readable-stream": "^2.3.5"
-      }
-    },
     "coa": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz",
@@ -6610,7 +5415,8 @@
     "code-point-at": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c="
+      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
+      "dev": true
     },
     "codelyzer": {
       "version": "5.2.1",
@@ -6659,15 +5465,11 @@
         }
       }
     },
-    "collapse-white-space": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.5.tgz",
-      "integrity": "sha512-703bOOmytCYAX9cXYqoikYIx6twmFCXsnzRQheBcTG3nzKYBR4P/+wkYeH+Mvj7qUz8zZDtdyzbxfnEi/kYzRQ=="
-    },
     "collection-visit": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
       "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+      "dev": true,
       "requires": {
         "map-visit": "^1.0.0",
         "object-visit": "^1.0.0"
@@ -6736,16 +5538,10 @@
       "version": "1.0.7",
       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
       "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
-      "dev": true,
       "requires": {
         "delayed-stream": "~1.0.0"
       }
     },
-    "comma-separated-tokens": {
-      "version": "1.0.7",
-      "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.7.tgz",
-      "integrity": "sha512-Jrx3xsP4pPv4AwJUDWY9wOXGtwPXARej6Xd99h4TUGotmf8APuquKMpK+dnD3UgyxK7OEWaisjZz+3b5jtL6xQ=="
-    },
     "commander": {
       "version": "2.20.0",
       "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz",
@@ -6791,7 +5587,8 @@
     "component-emitter": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+      "dev": true
     },
     "component-inherit": {
       "version": "0.0.3",
@@ -6953,15 +5750,11 @@
       "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
       "dev": true
     },
-    "continuable-cache": {
-      "version": "0.3.1",
-      "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
-      "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8="
-    },
     "convert-source-map": {
       "version": "1.6.0",
       "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz",
       "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==",
+      "dev": true,
       "requires": {
         "safe-buffer": "~5.1.1"
       }
@@ -6982,7 +5775,6 @@
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
       "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
       "requires": {
         "aproba": "^1.1.1",
         "fs-write-stream-atomic": "^1.0.8",
@@ -6995,7 +5787,8 @@
     "copy-descriptor": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+      "dev": true
     },
     "copy-webpack-plugin": {
       "version": "5.1.1",
@@ -7656,37 +6449,6 @@
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz",
       "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw=="
     },
-    "core-js-compat": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.2.1.tgz",
-      "integrity": "sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A==",
-      "requires": {
-        "browserslist": "^4.6.6",
-        "semver": "^6.3.0"
-      },
-      "dependencies": {
-        "browserslist": {
-          "version": "4.6.6",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.6.tgz",
-          "integrity": "sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA==",
-          "requires": {
-            "caniuse-lite": "^1.0.30000984",
-            "electron-to-chromium": "^1.3.191",
-            "node-releases": "^1.1.25"
-          }
-        },
-        "caniuse-lite": {
-          "version": "1.0.30000989",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz",
-          "integrity": "sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw=="
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
-        }
-      }
-    },
     "core-util-is": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -8113,8 +6875,7 @@
     "cyclist": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
-      "dev": true
+      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
     },
     "d": {
       "version": "1.0.1",
@@ -8127,9 +6888,9 @@
       }
     },
     "d3": {
-      "version": "5.11.0",
-      "resolved": "https://registry.npmjs.org/d3/-/d3-5.11.0.tgz",
-      "integrity": "sha512-LXgMVUAEAzQh6WfEEOa8tJX4RA64ZJ6twC3CJ+Xzid+fXWLTZkkglagXav/eOoQgzQi5rzV0xC4Sfspd6hFDHA==",
+      "version": "5.15.0",
+      "resolved": "https://registry.npmjs.org/d3/-/d3-5.15.0.tgz",
+      "integrity": "sha512-C+E80SL2nLLtmykZ6klwYj5rPqB5nlfN5LdWEAVdWPppqTD8taoJi2PxLZjPeYT8FFRR2yucXq+kBlOnnvZeLg==",
       "requires": {
         "d3-array": "1",
         "d3-axis": "1",
@@ -8175,9 +6936,9 @@
       "integrity": "sha512-ejINPfPSNdGFKEOAtnBtdkpr24c4d4jsei6Lg98mxf424ivoDP2956/5HDpIAtmHo85lqT4pruy+zEgvRUBqaQ=="
     },
     "d3-brush": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.3.tgz",
-      "integrity": "sha512-v8bbYyCFKjyCzFk/tdWqXwDykY8YWqhXYjcYxfILIit085VZOpj4XJKOMccTsvWxgzSLMJQg5SiqHjslsipEDg==",
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-1.1.5.tgz",
+      "integrity": "sha512-rEaJ5gHlgLxXugWjIkolTA0OyMvw8UWU1imYXy1v642XyyswmI1ybKOv05Ft+ewq+TFmdliD3VuK0pRp1VT/5A==",
       "requires": {
         "d3-dispatch": "1",
         "d3-drag": "1",
@@ -8201,9 +6962,9 @@
       "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A=="
     },
     "d3-color": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.3.0.tgz",
-      "integrity": "sha512-NHODMBlj59xPAwl2BDiO2Mog6V+PrGRtBfWKqKRrs9MCqlSkIEb0Z/SfY7jW29ReHTDC/j+vwXhnZcXI3+3fbg=="
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.0.tgz",
+      "integrity": "sha512-TzNPeJy2+iEepfiL92LAAB7fvnp/dV2YwANPVHdDWmYMm23qIJBYww3qT8I8C1wXrmrg4UWs7BKc2tKIgyjzHg=="
     },
     "d3-contour": {
       "version": "1.3.2",
@@ -8214,23 +6975,23 @@
       }
     },
     "d3-dispatch": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.5.tgz",
-      "integrity": "sha512-vwKx+lAqB1UuCeklr6Jh1bvC4SZgbSqbkGBLClItFBIYH4vqDJCA7qfoy14lXmJdnBOdxndAMxjCbImJYW7e6g=="
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz",
+      "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA=="
     },
     "d3-drag": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.4.tgz",
-      "integrity": "sha512-ICPurDETFAelF1CTHdIyiUM4PsyZLaM+7oIBhmyP+cuVjze5vDZ8V//LdOFjg0jGnFIZD/Sfmk0r95PSiu78rw==",
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-1.2.5.tgz",
+      "integrity": "sha512-rD1ohlkKQwMZYkQlYVCrSFxsWPzI97+W+PaEIBNTMxRuxz9RF0Hi5nJWHGVJ3Om9d2fRTe1yOBINJyy/ahV95w==",
       "requires": {
         "d3-dispatch": "1",
         "d3-selection": "1"
       }
     },
     "d3-dsv": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.1.1.tgz",
-      "integrity": "sha512-1EH1oRGSkeDUlDRbhsFytAXU6cAmXFzc52YUe6MRlPClmWb85MP1J5x+YJRzya4ynZWnbELdSAvATFW/MbxaXw==",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz",
+      "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==",
       "requires": {
         "commander": "2",
         "iconv-lite": "0.4",
@@ -8238,9 +6999,9 @@
       }
     },
     "d3-ease": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.5.tgz",
-      "integrity": "sha512-Ct1O//ly5y5lFM9YTdu+ygq7LleSgSE4oj7vUt9tPLHUi8VCV7QoizGpdWRWAwCO9LdYzIrQDg97+hGVdsSGPQ=="
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.6.tgz",
+      "integrity": "sha512-SZ/lVU7LRXafqp7XtIcBdxnWl8yyLpgOmzAk0mWBI9gXNzLDx5ybZgnRbH9dN/yY5tzVBqCQ9avltSnqVwessQ=="
     },
     "d3-fetch": {
       "version": "1.1.2",
@@ -8262,45 +7023,45 @@
       }
     },
     "d3-format": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.3.2.tgz",
-      "integrity": "sha512-Z18Dprj96ExragQ0DeGi+SYPQ7pPfRMtUXtsg/ChVIKNBCzjO8XYJvRTC1usblx52lqge56V5ect+frYTQc8WQ=="
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.3.tgz",
+      "integrity": "sha512-mm/nE2Y9HgGyjP+rKIekeITVgBtX97o1nrvHCWX8F/yBYyevUTvu9vb5pUnKwrcSw7o7GuwMOWjS9gFDs4O+uQ=="
     },
     "d3-geo": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.6.tgz",
-      "integrity": "sha512-z0J8InXR9e9wcgNtmVnPTj0TU8nhYT6lD/ak9may2PdKqXIeHUr8UbFLoCtrPYNsjv6YaLvSDQVl578k6nm7GA==",
+      "version": "1.11.9",
+      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.11.9.tgz",
+      "integrity": "sha512-9edcH6J3s/Aa3KJITWqFJbyB/8q3mMlA9Fi7z6yy+FAYMnRaxmC7jBhUnsINxVWD14GmqX3DK8uk7nV6/Ekt4A==",
       "requires": {
         "d3-array": "1"
       }
     },
     "d3-hierarchy": {
-      "version": "1.1.8",
-      "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.8.tgz",
-      "integrity": "sha512-L+GHMSZNwTpiq4rt9GEsNcpLa4M96lXMR8M/nMG9p5hBE0jy6C+3hWtyZMenPQdwla249iJy7Nx0uKt3n+u9+w=="
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz",
+      "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ=="
     },
     "d3-interpolate": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.3.2.tgz",
-      "integrity": "sha512-NlNKGopqaz9qM1PXh9gBF1KSCVh+jSFErrSlD/4hybwoNX/gt1d8CDbDW+3i+5UOHhjC6s6nMvRxcuoMVNgL2w==",
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.4.0.tgz",
+      "integrity": "sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==",
       "requires": {
         "d3-color": "1"
       }
     },
     "d3-path": {
-      "version": "1.0.8",
-      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.8.tgz",
-      "integrity": "sha512-J6EfUNwcMQ+aM5YPOB8ZbgAZu6wc82f/0WFxrxwV6Ll8wBwLaHLKCqQ5Imub02JriCVVdPjgI+6P3a4EWJCxAg=="
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
+      "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg=="
     },
     "d3-polygon": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.5.tgz",
-      "integrity": "sha512-RHhh1ZUJZfhgoqzWWuRhzQJvO7LavchhitSTHGu9oj6uuLFzYZVeBzaWTQ2qSO6bz2w55RMoOCf0MsLCDB6e0w=="
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-1.0.6.tgz",
+      "integrity": "sha512-k+RF7WvI08PC8reEoXa/w2nSg5AUMTi+peBD9cmFc+0ixHfbs4QmxxkarVal1IkVkgxVuk9JSHhJURHiyHKAuQ=="
     },
     "d3-quadtree": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.6.tgz",
-      "integrity": "sha512-NUgeo9G+ENQCQ1LsRr2qJg3MQ4DJvxcDNCiohdJGHt5gRhBW6orIB5m5FJ9kK3HNL8g9F4ERVoBzcEwQBfXWVA=="
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-1.0.7.tgz",
+      "integrity": "sha512-RKPAeXnkC59IDGD0Wu5mANy0Q2V28L+fNe65pOCXVdVuTJS3WPKaJlFHer32Rbh9gIo9qMuJXio8ra4+YmIymA=="
     },
     "d3-random": {
       "version": "1.1.2",
@@ -8330,40 +7091,40 @@
       }
     },
     "d3-selection": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.0.tgz",
-      "integrity": "sha512-EYVwBxQGEjLCKF2pJ4+yrErskDnz5v403qvAid96cNdCMr8rmCYfY5RGzWz24mdIbxmDf6/4EAH+K9xperD5jg=="
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.1.tgz",
+      "integrity": "sha512-BTIbRjv/m5rcVTfBs4AMBLKs4x8XaaLkwm28KWu9S2vKNqXkXt2AH2Qf0sdPZHjFxcWg/YL53zcqAz+3g4/7PA=="
     },
     "d3-shape": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.5.tgz",
-      "integrity": "sha512-VKazVR3phgD+MUCldapHD7P9kcrvPcexeX/PkMJmkUov4JM8IxsSg1DvbYoYich9AtdTsa5nNk2++ImPiDiSxg==",
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
+      "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
       "requires": {
         "d3-path": "1"
       }
     },
     "d3-time": {
-      "version": "1.0.11",
-      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.0.11.tgz",
-      "integrity": "sha512-Z3wpvhPLW4vEScGeIMUckDW7+3hWKOQfAWg/U7PlWBnQmeKQ00gCUsTtWSYulrKNA7ta8hJ+xXc6MHrMuITwEw=="
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-1.1.0.tgz",
+      "integrity": "sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA=="
     },
     "d3-time-format": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.1.3.tgz",
-      "integrity": "sha512-6k0a2rZryzGm5Ihx+aFMuO1GgelgIz+7HhB4PH4OEndD5q2zGn1mDfRdNrulspOfR6JXkb2sThhDK41CSK85QA==",
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-2.2.3.tgz",
+      "integrity": "sha512-RAHNnD8+XvC4Zc4d2A56Uw0yJoM7bsvOlJR33bclxq399Rak/b9bhvu/InjxdWhPtkgU53JJcleJTGkNRnN6IA==",
       "requires": {
         "d3-time": "1"
       }
     },
     "d3-timer": {
-      "version": "1.0.9",
-      "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.9.tgz",
-      "integrity": "sha512-rT34J5HnQUHhcLvhSB9GjCkN0Ddd5Y8nCwDBG2u6wQEeYxT/Lf51fTFFkldeib/sE/J0clIe0pnCfs6g/lRbyg=="
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz",
+      "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw=="
     },
     "d3-transition": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.2.0.tgz",
-      "integrity": "sha512-VJ7cmX/FPIPJYuaL2r1o1EMHLttvoIuZhhuAlRoOxDzogV8iQS6jYulDm3xEU3TqL80IZIhI551/ebmCMrkvhw==",
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz",
+      "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==",
       "requires": {
         "d3-color": "1",
         "d3-dispatch": "1",
@@ -8418,7 +7179,6 @@
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
       "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
@@ -8429,15 +7189,11 @@
       "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
       "dev": true
     },
-    "de-indent": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
-      "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
-    },
     "debug": {
       "version": "2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
       "requires": {
         "ms": "2.0.0"
       }
@@ -8445,8 +7201,7 @@
     "debuglog": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
-      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
-      "dev": true
+      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI="
     },
     "decache": {
       "version": "4.5.1",
@@ -8460,12 +7215,14 @@
     "decamelize": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
-      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
+      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+      "dev": true
     },
     "decode-uri-component": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+      "dev": true
     },
     "decompress-response": {
       "version": "3.3.0",
@@ -8521,7 +7278,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
       "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
-      "dev": true,
       "requires": {
         "clone": "^1.0.2"
       },
@@ -8529,8 +7285,7 @@
         "clone": {
           "version": "1.0.4",
           "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
-          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
-          "dev": true
+          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
         }
       }
     },
@@ -8552,6 +7307,7 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
       "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+      "dev": true,
       "requires": {
         "is-descriptor": "^1.0.2",
         "isobject": "^3.0.1"
@@ -8561,6 +7317,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8569,6 +7326,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8577,6 +7335,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -8661,8 +7420,7 @@
     "delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
     },
     "delegate": {
       "version": "3.2.0",
@@ -8715,41 +7473,16 @@
       "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
       "dev": true
     },
-    "detab": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.2.tgz",
-      "integrity": "sha512-Q57yPrxScy816TTE1P/uLRXLDKjXhvYTbfxS/e6lPD+YrqghbsMlGB9nQzj/zVtSPaF0DFPSdO916EWO4sQUyQ==",
-      "requires": {
-        "repeat-string": "^1.5.4"
-      }
-    },
     "detect-node": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz",
       "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==",
       "dev": true
     },
-    "detective": {
-      "version": "4.7.1",
-      "resolved": "https://registry.npmjs.org/detective/-/detective-4.7.1.tgz",
-      "integrity": "sha512-H6PmeeUcZloWtdt4DAkFyzFL94arpHr3NOwwmVILFiy+9Qd4JTxxXrzfyGk/lmct2qVGBwTSwSXagqu2BxmWig==",
-      "requires": {
-        "acorn": "^5.2.1",
-        "defined": "^1.0.0"
-      },
-      "dependencies": {
-        "acorn": {
-          "version": "5.7.3",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
-          "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw=="
-        }
-      }
-    },
     "dezalgo": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
       "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
-      "dev": true,
       "requires": {
         "asap": "^2.0.0",
         "wrappy": "1"
@@ -8844,219 +7577,6 @@
         "buffer-indexof": "^1.0.0"
       }
     },
-    "doctrine-temporary-fork": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/doctrine-temporary-fork/-/doctrine-temporary-fork-2.1.0.tgz",
-      "integrity": "sha512-nliqOv5NkE4zMON4UA6AMJE6As35afs8aYXATpU4pTUdIKiARZwrJVEP1boA3Rx1ZXHVkwxkhcq4VkqvsuRLsA==",
-      "requires": {
-        "esutils": "^2.0.2"
-      }
-    },
-    "documentation": {
-      "version": "12.1.1",
-      "resolved": "https://registry.npmjs.org/documentation/-/documentation-12.1.1.tgz",
-      "integrity": "sha512-OmvNJ6gddKy9K8lx+eA9w+dTxs//vetBnzhaGrTnXbKkE1qgAP0DXaEE8pva2ptSDw3Wa6oDm3C7fKgXdobjPQ==",
-      "requires": {
-        "@babel/core": "^7.1.2",
-        "@babel/generator": "^7.1.3",
-        "@babel/parser": "7.1.3",
-        "@babel/plugin-proposal-class-properties": "^7.1.0",
-        "@babel/plugin-proposal-decorators": "^7.1.2",
-        "@babel/plugin-proposal-do-expressions": "^7.0.0",
-        "@babel/plugin-proposal-export-default-from": "^7.0.0",
-        "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
-        "@babel/plugin-proposal-function-bind": "^7.0.0",
-        "@babel/plugin-proposal-function-sent": "^7.1.0",
-        "@babel/plugin-proposal-json-strings": "^7.0.0",
-        "@babel/plugin-proposal-logical-assignment-operators": "^7.0.0",
-        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.0.0",
-        "@babel/plugin-proposal-numeric-separator": "^7.0.0",
-        "@babel/plugin-proposal-optional-chaining": "^7.0.0",
-        "@babel/plugin-proposal-pipeline-operator": "^7.0.0",
-        "@babel/plugin-proposal-throw-expressions": "^7.0.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.0.0",
-        "@babel/plugin-syntax-import-meta": "^7.0.0",
-        "@babel/preset-env": "^7.1.0",
-        "@babel/preset-flow": "^7.0.0",
-        "@babel/preset-react": "^7.0.0",
-        "@babel/preset-stage-0": "^7.0.0",
-        "@babel/traverse": "^7.1.4",
-        "@babel/types": "^7.1.3",
-        "ansi-html": "^0.0.7",
-        "babelify": "^10.0.0",
-        "chalk": "^2.3.0",
-        "chokidar": "^2.0.4",
-        "concat-stream": "^1.6.0",
-        "diff": "^4.0.1",
-        "doctrine-temporary-fork": "2.1.0",
-        "get-port": "^4.0.0",
-        "git-url-parse": "^10.0.1",
-        "github-slugger": "1.2.0",
-        "glob": "^7.1.2",
-        "globals-docs": "^2.4.0",
-        "highlight.js": "^9.15.5",
-        "ini": "^1.3.5",
-        "js-yaml": "^3.10.0",
-        "lodash": "^4.17.10",
-        "mdast-util-inject": "^1.1.0",
-        "micromatch": "^3.1.5",
-        "mime": "^2.2.0",
-        "module-deps-sortable": "5.0.0",
-        "parse-filepath": "^1.0.2",
-        "pify": "^4.0.0",
-        "read-pkg-up": "^4.0.0",
-        "remark": "^9.0.0",
-        "remark-html": "^8.0.0",
-        "remark-reference-links": "^4.0.1",
-        "remark-toc": "^5.0.0",
-        "resolve": "^1.8.1",
-        "stream-array": "^1.1.2",
-        "strip-json-comments": "^2.0.1",
-        "tiny-lr": "^1.1.0",
-        "unist-builder": "^1.0.2",
-        "unist-util-visit": "^1.3.0",
-        "vfile": "^4.0.0",
-        "vfile-reporter": "^6.0.0",
-        "vfile-sort": "^2.1.0",
-        "vinyl": "^2.1.0",
-        "vinyl-fs": "^3.0.2",
-        "vue-template-compiler": "^2.5.16",
-        "yargs": "^12.0.2"
-      },
-      "dependencies": {
-        "@babel/parser": {
-          "version": "7.1.3",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.1.3.tgz",
-          "integrity": "sha512-gqmspPZOMW3MIRb9HlrnbZHXI1/KHTOroBwN1NcLL6pWxzqzEKGvRTq0W/PxS45OtQGbaFikSQpkS5zbnsQm2w=="
-        },
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg="
-        },
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
-          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg=="
-        },
-        "diff": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz",
-          "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q=="
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8="
-        },
-        "load-json-file": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz",
-          "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=",
-          "requires": {
-            "graceful-fs": "^4.1.2",
-            "parse-json": "^4.0.0",
-            "pify": "^3.0.0",
-            "strip-bom": "^3.0.0"
-          },
-          "dependencies": {
-            "pify": {
-              "version": "3.0.0",
-              "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-              "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
-            }
-          }
-        },
-        "mime": {
-          "version": "2.4.4",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
-          "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA=="
-        },
-        "parse-json": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
-          "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
-          "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
-          }
-        },
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
-        },
-        "read-pkg": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz",
-          "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=",
-          "requires": {
-            "load-json-file": "^4.0.0",
-            "normalize-package-data": "^2.3.2",
-            "path-type": "^3.0.0"
-          }
-        },
-        "read-pkg-up": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz",
-          "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==",
-          "requires": {
-            "find-up": "^3.0.0",
-            "read-pkg": "^3.0.0"
-          }
-        },
-        "string-width": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-          "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-          "requires": {
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^4.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        },
-        "strip-bom": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-          "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
-        },
-        "yargs": {
-          "version": "12.0.5",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
-          "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
-          "requires": {
-            "cliui": "^4.0.0",
-            "decamelize": "^1.2.0",
-            "find-up": "^3.0.0",
-            "get-caller-file": "^1.0.1",
-            "os-locale": "^3.0.0",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^1.0.1",
-            "set-blocking": "^2.0.0",
-            "string-width": "^2.0.0",
-            "which-module": "^2.0.0",
-            "y18n": "^3.2.1 || ^4.0.0",
-            "yargs-parser": "^11.1.1"
-          }
-        },
-        "yargs-parser": {
-          "version": "11.1.1",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
-          "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
-          "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
-          }
-        }
-      }
-    },
     "dom-serialize": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
@@ -9147,6 +7667,7 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz",
       "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=",
+      "dev": true,
       "requires": {
         "readable-stream": "^2.0.2"
       }
@@ -9172,7 +7693,6 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
       "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dev": true,
       "requires": {
         "jsbn": "~0.1.0",
         "safer-buffer": "^2.1.0"
@@ -9483,7 +8003,8 @@
     "electron-to-chromium": {
       "version": "1.3.252",
       "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz",
-      "integrity": "sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg=="
+      "integrity": "sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg==",
+      "dev": true
     },
     "elementtree": {
       "version": "0.1.7",
@@ -9518,8 +8039,7 @@
     "emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
     },
     "emojis-list": {
       "version": "2.1.0",
@@ -9537,7 +8057,6 @@
       "version": "0.1.12",
       "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
       "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
-      "dev": true,
       "requires": {
         "iconv-lite": "~0.4.13"
       }
@@ -9672,8 +8191,7 @@
     "err-code": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
-      "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
-      "dev": true
+      "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA="
     },
     "errno": {
       "version": "0.1.7",
@@ -9684,19 +8202,11 @@
         "prr": "~1.0.1"
       }
     },
-    "error": {
-      "version": "7.0.2",
-      "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
-      "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
-      "requires": {
-        "string-template": "~0.2.1",
-        "xtend": "~4.0.0"
-      }
-    },
     "error-ex": {
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
       "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+      "dev": true,
       "requires": {
         "is-arrayish": "^0.2.1"
       }
@@ -9770,14 +8280,12 @@
     "es6-promise": {
       "version": "4.2.5",
       "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
-      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
-      "dev": true
+      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg=="
     },
     "es6-promisify": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
       "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
-      "dev": true,
       "requires": {
         "es6-promise": "^4.0.3"
       }
@@ -9901,7 +8409,8 @@
     "esutils": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
-      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+      "dev": true
     },
     "etag": {
       "version": "1.8.1",
@@ -9969,6 +8478,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
       "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+      "dev": true,
       "requires": {
         "cross-spawn": "^6.0.0",
         "get-stream": "^4.0.0",
@@ -9983,6 +8493,7 @@
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
           "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+          "dev": true,
           "requires": {
             "pump": "^3.0.0"
           }
@@ -10004,6 +8515,7 @@
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
       "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+      "dev": true,
       "requires": {
         "debug": "^2.3.3",
         "define-property": "^0.2.5",
@@ -10018,6 +8530,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -10026,6 +8539,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -10239,6 +8753,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+      "dev": true,
       "requires": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -10248,6 +8763,7 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -10258,7 +8774,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
       "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
-      "dev": true,
       "requires": {
         "chardet": "^0.7.0",
         "iconv-lite": "^0.4.24",
@@ -10269,6 +8784,7 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
       "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+      "dev": true,
       "requires": {
         "array-unique": "^0.3.2",
         "define-property": "^1.0.0",
@@ -10284,6 +8800,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -10292,6 +8809,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -10300,6 +8818,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -10308,6 +8827,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -10316,6 +8836,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -10339,8 +8860,7 @@
     "extsprintf": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
     },
     "falafel": {
       "version": "2.1.0",
@@ -10383,8 +8903,7 @@
     "fast-deep-equal": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
-      "dev": true
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
     },
     "fast-glob": {
       "version": "2.2.7",
@@ -10408,8 +8927,7 @@
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
     },
     "fast-levenshtein": {
       "version": "2.0.6",
@@ -10427,6 +8945,7 @@
       "version": "0.10.0",
       "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
       "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+      "dev": true,
       "requires": {
         "websocket-driver": ">=0.5.1"
       }
@@ -10443,8 +8962,7 @@
     "figgy-pudding": {
       "version": "3.5.1",
       "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
-      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
-      "dev": true
+      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w=="
     },
     "figures": {
       "version": "2.0.0",
@@ -10514,6 +9032,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
       "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-number": "^3.0.0",
@@ -10525,6 +9044,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -10635,6 +9155,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
       "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
+      "dev": true,
       "requires": {
         "locate-path": "^3.0.0"
       }
@@ -10783,7 +9304,8 @@
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+      "dev": true
     },
     "foreach": {
       "version": "2.0.5",
@@ -10794,14 +9316,12 @@
     "forever-agent": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
     },
     "form-data": {
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
       "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
-      "dev": true,
       "requires": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.6",
@@ -10823,6 +9343,7 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
       "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+      "dev": true,
       "requires": {
         "map-cache": "^0.2.2"
       }
@@ -10843,7 +9364,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
       "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
       "requires": {
         "inherits": "^2.0.1",
         "readable-stream": "^2.0.0"
@@ -10875,20 +9395,10 @@
         "minipass": "^3.0.0"
       }
     },
-    "fs-mkdirp-stream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz",
-      "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=",
-      "requires": {
-        "graceful-fs": "^4.1.11",
-        "through2": "^2.0.3"
-      }
-    },
     "fs-write-stream-atomic": {
       "version": "1.0.10",
       "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
       "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.2",
         "iferr": "^0.1.5",
@@ -10905,6 +9415,7 @@
       "version": "1.2.7",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
       "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
+      "dev": true,
       "optional": true,
       "requires": {
         "nan": "^2.9.2",
@@ -10914,21 +9425,25 @@
         "abbrev": {
           "version": "1.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "aproba": {
           "version": "1.2.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "are-we-there-yet": {
           "version": "1.1.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "delegates": "^1.0.0",
@@ -10938,11 +9453,13 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
@@ -10952,31 +9469,37 @@
         "chownr": {
           "version": "1.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "debug": {
           "version": "2.6.9",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "ms": "2.0.0"
@@ -10985,21 +9508,25 @@
         "deep-extend": {
           "version": "0.6.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "delegates": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "detect-libc": {
           "version": "1.0.3",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "fs-minipass": {
           "version": "1.2.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -11008,11 +9535,13 @@
         "fs.realpath": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "gauge": {
           "version": "2.7.4",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "aproba": "^1.0.3",
@@ -11028,6 +9557,7 @@
         "glob": {
           "version": "7.1.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "fs.realpath": "^1.0.0",
@@ -11041,11 +9571,13 @@
         "has-unicode": {
           "version": "2.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "iconv-lite": {
           "version": "0.4.24",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "safer-buffer": ">= 2.1.2 < 3"
@@ -11054,6 +9586,7 @@
         "ignore-walk": {
           "version": "3.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minimatch": "^3.0.4"
@@ -11062,6 +9595,7 @@
         "inflight": {
           "version": "1.0.6",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "once": "^1.3.0",
@@ -11071,16 +9605,19 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "ini": {
           "version": "1.3.5",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "is-fullwidth-code-point": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
@@ -11089,11 +9626,13 @@
         "isarray": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "minimatch": {
           "version": "3.0.4",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
@@ -11102,11 +9641,13 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
@@ -11116,6 +9657,7 @@
         "minizlib": {
           "version": "1.2.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -11124,6 +9666,7 @@
         "mkdirp": {
           "version": "0.5.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minimist": "0.0.8"
@@ -11132,11 +9675,13 @@
         "ms": {
           "version": "2.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "needle": {
           "version": "2.2.4",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "debug": "^2.1.2",
@@ -11147,6 +9692,7 @@
         "node-pre-gyp": {
           "version": "0.10.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "detect-libc": "^1.0.2",
@@ -11164,6 +9710,7 @@
         "nopt": {
           "version": "4.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "abbrev": "1",
@@ -11173,11 +9720,13 @@
         "npm-bundled": {
           "version": "1.0.5",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "npm-packlist": {
           "version": "1.2.0",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "ignore-walk": "^3.0.1",
@@ -11187,6 +9736,7 @@
         "npmlog": {
           "version": "4.1.2",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "are-we-there-yet": "~1.1.2",
@@ -11198,16 +9748,19 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "once": {
           "version": "1.4.0",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "wrappy": "1"
@@ -11216,16 +9769,19 @@
         "os-homedir": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "os-tmpdir": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "osenv": {
           "version": "0.1.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "os-homedir": "^1.0.0",
@@ -11235,16 +9791,19 @@
         "path-is-absolute": {
           "version": "1.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "process-nextick-args": {
           "version": "2.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "rc": {
           "version": "1.2.8",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "deep-extend": "^0.6.0",
@@ -11256,6 +9815,7 @@
             "minimist": {
               "version": "1.2.0",
               "bundled": true,
+              "dev": true,
               "optional": true
             }
           }
@@ -11263,6 +9823,7 @@
         "readable-stream": {
           "version": "2.3.6",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "core-util-is": "~1.0.0",
@@ -11277,6 +9838,7 @@
         "rimraf": {
           "version": "2.6.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "glob": "^7.1.3"
@@ -11285,36 +9847,43 @@
         "safe-buffer": {
           "version": "5.1.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "sax": {
           "version": "1.2.4",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "semver": {
           "version": "5.6.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "set-blocking": {
           "version": "2.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "signal-exit": {
           "version": "3.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "string-width": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
@@ -11325,6 +9894,7 @@
         "string_decoder": {
           "version": "1.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "~5.1.0"
@@ -11333,6 +9903,7 @@
         "strip-ansi": {
           "version": "3.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
@@ -11341,11 +9912,13 @@
         "strip-json-comments": {
           "version": "2.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "tar": {
           "version": "4.4.8",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "chownr": "^1.1.1",
@@ -11360,11 +9933,13 @@
         "util-deprecate": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "wide-align": {
           "version": "1.1.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "string-width": "^1.0.2 || 2"
@@ -11373,11 +9948,13 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "yallist": {
           "version": "3.0.3",
           "bundled": true,
+          "dev": true,
           "optional": true
         }
       }
@@ -11390,8 +9967,7 @@
     "genfun": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
-      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
-      "dev": true
+      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA=="
     },
     "gensync": {
       "version": "1.0.0-beta.1",
@@ -11408,12 +9984,8 @@
     "get-caller-file": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
-      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w=="
-    },
-    "get-port": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/get-port/-/get-port-4.2.0.tgz",
-      "integrity": "sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw=="
+      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
+      "dev": true
     },
     "get-stream": {
       "version": "3.0.0",
@@ -11424,49 +9996,17 @@
     "get-value": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+      "dev": true
     },
     "getpass": {
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
       "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
     },
-    "git-up": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.1.0.tgz",
-      "integrity": "sha512-MJgwfcSd9qxgDyEYpRU/CDxNpUadrK80JHuEQDG4Urn0m7tpSOgCBrtiSIa9S9KH8Tbuo/TN8SSQmJBvsw1HkA==",
-      "requires": {
-        "is-ssh": "^1.3.0",
-        "parse-url": "^3.0.2"
-      }
-    },
-    "git-url-parse": {
-      "version": "10.1.0",
-      "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-10.1.0.tgz",
-      "integrity": "sha512-goZOORAtFjU1iG+4zZgWq+N7It09PqS3Xsy43ZwhP5unDD0tTSmXTpqULHodMdJXGejm3COwXIhIRT6Z8DYVZQ==",
-      "requires": {
-        "git-up": "^2.0.0"
-      }
-    },
-    "github-slugger": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.0.tgz",
-      "integrity": "sha512-wIaa75k1vZhyPm9yWrD08A5Xnx/V+RmzGrpjQuLemGKSb77Qukiaei58Bogrl/LZSADDfPzKJX8jhLs4CRTl7Q==",
-      "requires": {
-        "emoji-regex": ">=6.0.0 <=6.1.1"
-      },
-      "dependencies": {
-        "emoji-regex": {
-          "version": "6.1.1",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz",
-          "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4="
-        }
-      }
-    },
     "glob": {
       "version": "7.1.3",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
@@ -11484,6 +10024,7 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
       "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+      "dev": true,
       "requires": {
         "is-glob": "^3.1.0",
         "path-dirname": "^1.0.0"
@@ -11493,29 +10034,13 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
           "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+          "dev": true,
           "requires": {
             "is-extglob": "^2.1.0"
           }
         }
       }
     },
-    "glob-stream": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz",
-      "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=",
-      "requires": {
-        "extend": "^3.0.0",
-        "glob": "^7.1.1",
-        "glob-parent": "^3.1.0",
-        "is-negated-glob": "^1.0.0",
-        "ordered-read-streams": "^1.0.0",
-        "pumpify": "^1.3.5",
-        "readable-stream": "^2.1.5",
-        "remove-trailing-separator": "^1.0.1",
-        "to-absolute-glob": "^2.0.0",
-        "unique-stream": "^2.0.2"
-      }
-    },
     "glob-to-regexp": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz",
@@ -11575,11 +10100,6 @@
       "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
       "dev": true
     },
-    "globals-docs": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/globals-docs/-/globals-docs-2.4.1.tgz",
-      "integrity": "sha512-qpPnUKkWnz8NESjrCvnlGklsgiQzlq+rcCxoG5uNQ+dNA7cFMCmn231slLAwS2N/PlkzZ3COL8CcS10jXmLHqg=="
-    },
     "globalthis": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.1.tgz",
@@ -11690,14 +10210,12 @@
     "har-schema": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
     },
     "har-validator": {
       "version": "5.1.3",
       "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
       "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
-      "dev": true,
       "requires": {
         "ajv": "^6.5.5",
         "har-schema": "^2.0.0"
@@ -11757,6 +10275,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
       "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+      "dev": true,
       "requires": {
         "get-value": "^2.0.6",
         "has-values": "^1.0.0",
@@ -11767,6 +10286,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
       "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "kind-of": "^4.0.0"
@@ -11776,6 +10296,7 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
           "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -11808,48 +10329,6 @@
         "minimalistic-assert": "^1.0.1"
       }
     },
-    "hast-util-is-element": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.0.3.tgz",
-      "integrity": "sha512-C62CVn7jbjp89yOhhy7vrkSaB7Vk906Gtcw/Ihd+Iufnq+2pwOZjdPmpzpKLWJXPJBMDX3wXg4FqmdOayPcewA=="
-    },
-    "hast-util-sanitize": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-1.3.1.tgz",
-      "integrity": "sha512-AIeKHuHx0Wk45nSkGVa2/ujQYTksnDl8gmmKo/mwQi7ag7IBZ8cM3nJ2G86SajbjGP/HRpud6kMkPtcM2i0Tlw==",
-      "requires": {
-        "xtend": "^4.0.1"
-      }
-    },
-    "hast-util-to-html": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-4.0.1.tgz",
-      "integrity": "sha512-2emzwyf0xEsc4TBIPmDJmBttIw8R4SXAJiJZoiRR/s47ODYWgOqNoDbf2SJAbMbfNdFWMiCSOrI3OVnX6Qq2Mg==",
-      "requires": {
-        "ccount": "^1.0.0",
-        "comma-separated-tokens": "^1.0.1",
-        "hast-util-is-element": "^1.0.0",
-        "hast-util-whitespace": "^1.0.0",
-        "html-void-elements": "^1.0.0",
-        "property-information": "^4.0.0",
-        "space-separated-tokens": "^1.0.0",
-        "stringify-entities": "^1.0.1",
-        "unist-util-is": "^2.0.0",
-        "xtend": "^4.0.1"
-      },
-      "dependencies": {
-        "unist-util-is": {
-          "version": "2.1.3",
-          "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz",
-          "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA=="
-        }
-      }
-    },
-    "hast-util-whitespace": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.3.tgz",
-      "integrity": "sha512-AlkYiLTTwPOyxZ8axq2/bCwRUPjIPBfrHkXuCR92B38b3lSdU22R5F/Z4DL6a2kxWpekWq1w6Nj48tWat6GeRA=="
-    },
     "he": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@@ -11861,11 +10340,6 @@
       "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==",
       "dev": true
     },
-    "highlight.js": {
-      "version": "9.15.10",
-      "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-9.15.10.tgz",
-      "integrity": "sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw=="
-    },
     "hmac-drbg": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
@@ -11938,11 +10412,6 @@
         "uglify-js": "^3.5.1"
       }
     },
-    "html-void-elements": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.4.tgz",
-      "integrity": "sha512-yMk3naGPLrfvUV9TdDbuYXngh/TpHbA6TrOw3HL9kS8yhwx7i309BReNg7CbAJXGE+UMJ6je5OqJ7lC63o6YuQ=="
-    },
     "htmlparser2": {
       "version": "3.10.1",
       "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz",
@@ -11985,8 +10454,7 @@
     "http-cache-semantics": {
       "version": "3.8.1",
       "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
-      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
-      "dev": true
+      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
     },
     "http-deceiver": {
       "version": "1.2.7",
@@ -12009,7 +10477,8 @@
     "http-parser-js": {
       "version": "0.4.10",
       "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz",
-      "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q="
+      "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=",
+      "dev": true
     },
     "http-proxy": {
       "version": "1.17.0",
@@ -12026,7 +10495,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
       "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
-      "dev": true,
       "requires": {
         "agent-base": "4",
         "debug": "3.1.0"
@@ -12036,7 +10504,6 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
           "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
           "requires": {
             "ms": "2.0.0"
           }
@@ -12059,7 +10526,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
       "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "jsprim": "^1.2.2",
@@ -12076,7 +10542,6 @@
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
       "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
-      "dev": true,
       "requires": {
         "agent-base": "^4.3.0",
         "debug": "^3.1.0"
@@ -12086,7 +10551,6 @@
           "version": "4.3.0",
           "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
           "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
-          "dev": true,
           "requires": {
             "es6-promisify": "^5.0.0"
           }
@@ -12095,7 +10559,6 @@
           "version": "3.2.6",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
           "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -12103,8 +10566,7 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
         }
       }
     },
@@ -12112,7 +10574,6 @@
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
       "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
-      "dev": true,
       "requires": {
         "ms": "^2.0.0"
       }
@@ -12143,8 +10604,7 @@
     "iferr": {
       "version": "0.1.5",
       "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
+      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
     },
     "ignore": {
       "version": "3.3.10",
@@ -12156,7 +10616,6 @@
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
       "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
-      "dev": true,
       "requires": {
         "minimatch": "^3.0.4"
       }
@@ -12221,8 +10680,7 @@
     "imurmurhash": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
     },
     "indent-string": {
       "version": "4.0.0",
@@ -12245,8 +10703,7 @@
     "infer-owner": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-      "dev": true
+      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
     },
     "inflight": {
       "version": "1.0.6",
@@ -12406,6 +10863,7 @@
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
       "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+      "dev": true,
       "requires": {
         "loose-envify": "^1.0.0"
       }
@@ -12413,13 +10871,13 @@
     "invert-kv": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
-      "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
+      "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
+      "dev": true
     },
     "ip": {
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
-      "dev": true
+      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
     },
     "ip-regex": {
       "version": "2.1.0",
@@ -12437,6 +10895,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
       "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+      "dev": true,
       "requires": {
         "is-relative": "^1.0.0",
         "is-windows": "^1.0.1"
@@ -12452,6 +10911,7 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -12460,40 +10920,24 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
         }
       }
     },
-    "is-alphabetical": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.3.tgz",
-      "integrity": "sha512-eEMa6MKpHFzw38eKm56iNNi6GJ7lf6aLLio7Kr23sJPAECscgRtZvOBYybejWDQ2bM949Y++61PY+udzj5QMLA=="
-    },
-    "is-alphanumeric": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz",
-      "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ="
-    },
-    "is-alphanumerical": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.3.tgz",
-      "integrity": "sha512-A1IGAPO5AW9vSh7omxIlOGwIqEvpW/TA+DksVOPM5ODuxKlZS09+TEM1E3275lJqO2oJ38vDpeAL3DCIiHE6eA==",
-      "requires": {
-        "is-alphabetical": "^1.0.0",
-        "is-decimal": "^1.0.0"
-      }
-    },
     "is-arrayish": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
-      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
+      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
+      "dev": true
     },
     "is-binary-path": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
       "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+      "dev": true,
       "requires": {
         "binary-extensions": "^1.0.0"
       }
@@ -12501,7 +10945,8 @@
     "is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+      "dev": true
     },
     "is-callable": {
       "version": "1.1.4",
@@ -12535,6 +10980,7 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -12543,6 +10989,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12554,15 +11001,11 @@
       "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
       "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
     },
-    "is-decimal": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.3.tgz",
-      "integrity": "sha512-bvLSwoDg2q6Gf+E2LEPiklHZxxiSi3XAh4Mav65mKqTfCO1HM3uBs24TjEH8iJX3bbDdLXKJXBTmGzuTUuAEjQ=="
-    },
     "is-descriptor": {
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+      "dev": true,
       "requires": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -12572,7 +11015,8 @@
         "kind-of": {
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+          "dev": true
         }
       }
     },
@@ -12585,12 +11029,14 @@
     "is-extendable": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true
     },
     "is-extglob": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+      "dev": true
     },
     "is-fullwidth-code-point": {
       "version": "2.0.0",
@@ -12602,15 +11048,11 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
       "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+      "dev": true,
       "requires": {
         "is-extglob": "^2.1.1"
       }
     },
-    "is-hexadecimal": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.3.tgz",
-      "integrity": "sha512-zxQ9//Q3D/34poZf8fiy3m3XVpbQc7ren15iKqrTtLPwkPD/t3Scy9Imp63FujULGxuK0ZlCwoo5xNpktFgbOA=="
-    },
     "is-installed-globally": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz",
@@ -12624,13 +11066,13 @@
     "is-interactive": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
-      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
-      "dev": true
+      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
     },
     "is-negated-glob": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz",
-      "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI="
+      "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=",
+      "dev": true
     },
     "is-npm": {
       "version": "4.0.0",
@@ -12642,6 +11084,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
       "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -12650,6 +11093,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12688,12 +11132,14 @@
     "is-plain-obj": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
-      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4="
+      "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
+      "dev": true
     },
     "is-plain-object": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -12701,8 +11147,7 @@
     "is-promise": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
-      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
-      "dev": true
+      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
     },
     "is-redirect": {
       "version": "1.0.0",
@@ -12727,6 +11172,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
       "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+      "dev": true,
       "requires": {
         "is-unc-path": "^1.0.0"
       }
@@ -12743,18 +11189,11 @@
       "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=",
       "dev": true
     },
-    "is-ssh": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.1.tgz",
-      "integrity": "sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg==",
-      "requires": {
-        "protocols": "^1.1.0"
-      }
-    },
     "is-stream": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
-      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ="
+      "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+      "dev": true
     },
     "is-svg": {
       "version": "3.0.0",
@@ -12776,13 +11215,13 @@
     "is-typedarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
     },
     "is-unc-path": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
       "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+      "dev": true,
       "requires": {
         "unc-path-regex": "^0.1.2"
       }
@@ -12793,30 +11232,11 @@
       "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
       "dev": true
     },
-    "is-utf8": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
-      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
-    },
-    "is-valid-glob": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz",
-      "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao="
-    },
-    "is-whitespace-character": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.3.tgz",
-      "integrity": "sha512-SNPgMLz9JzPccD3nPctcj8sZlX9DAMJSKH8bP7Z6bohCwuNgX8xbWr1eTAYXX9Vpi/aSn8Y1akL9WgM3t43YNQ=="
-    },
     "is-windows": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
-    },
-    "is-word-character": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.3.tgz",
-      "integrity": "sha512-0wfcrFgOOOBdgRNT9H33xe6Zi6yhX/uoc4U8NBZGeQQB0ctU1dnlNTyL9JM2646bHDTpsDm1Brb3VPoCIMrd/A=="
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+      "dev": true
     },
     "is-wsl": {
       "version": "1.1.0",
@@ -12849,13 +11269,13 @@
     "isobject": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true
     },
     "isstream": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
     },
     "istanbul-api": {
       "version": "2.1.6",
@@ -13362,17 +11782,20 @@
     "js-levenshtein": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
-      "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g=="
+      "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
+      "dev": true
     },
     "js-tokens": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls="
+      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+      "dev": true
     },
     "js-yaml": {
       "version": "3.13.1",
       "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
       "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
+      "dev": true,
       "requires": {
         "argparse": "^1.0.7",
         "esprima": "^4.0.0"
@@ -13381,15 +11804,15 @@
         "esprima": {
           "version": "4.0.1",
           "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
-          "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+          "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+          "dev": true
         }
       }
     },
     "jsbn": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
     },
     "jsesc": {
       "version": "2.5.2",
@@ -13411,25 +11834,17 @@
     "json-schema": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
-      "dev": true
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
     },
     "json-schema-traverse": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
-    },
-    "json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
-      "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE="
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
     },
     "json-stringify-safe": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
     },
     "json3": {
       "version": "3.3.3",
@@ -13471,7 +11886,6 @@
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
       "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "dev": true,
       "requires": {
         "assert-plus": "1.0.0",
         "extsprintf": "1.3.0",
@@ -13751,7 +12165,8 @@
     "kind-of": {
       "version": "6.0.2",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+      "dev": true
     },
     "latest-version": {
       "version": "5.1.0",
@@ -13768,30 +12183,15 @@
       "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==",
       "dev": true
     },
-    "lazystream": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz",
-      "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=",
-      "requires": {
-        "readable-stream": "^2.0.5"
-      }
-    },
     "lcid": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
       "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
+      "dev": true,
       "requires": {
         "invert-kv": "^2.0.0"
       }
     },
-    "lead": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz",
-      "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=",
-      "requires": {
-        "flush-write-stream": "^1.0.2"
-      }
-    },
     "less": {
       "version": "3.10.3",
       "resolved": "https://registry.npmjs.org/less/-/less-3.10.3.tgz",
@@ -13996,11 +12396,6 @@
         }
       }
     },
-    "livereload-js": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.4.0.tgz",
-      "integrity": "sha512-XPQH8Z2GDP/Hwz2PCDrh2mth4yFejwA1OZ/81Ti3LgKyhDcEjsSsqFWZojHG0va/duGd+WyosY7eXLDoOyqcPw=="
-    },
     "loader-runner": {
       "version": "2.4.0",
       "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz",
@@ -14022,6 +12417,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
       "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
+      "dev": true,
       "requires": {
         "p-locate": "^3.0.0",
         "path-exists": "^3.0.0"
@@ -14041,7 +12437,8 @@
     "lodash.debounce": {
       "version": "4.0.8",
       "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
-      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168="
+      "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+      "dev": true
     },
     "lodash.memoize": {
       "version": "4.1.2",
@@ -14059,7 +12456,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
       "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
-      "dev": true,
       "requires": {
         "chalk": "^2.4.2"
       }
@@ -14106,15 +12502,11 @@
       "integrity": "sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==",
       "dev": true
     },
-    "longest-streak": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.3.tgz",
-      "integrity": "sha512-9lz5IVdpwsKLMzQi0MQ+oD9EA0mIGcWYP7jXMTZVXP8D42PwuAk+M/HBFYQoxt1G5OR8m7aSIgb1UymfWGBWEw=="
-    },
     "loose-envify": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
       "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+      "dev": true,
       "requires": {
         "js-tokens": "^3.0.0 || ^4.0.0"
       }
@@ -14156,7 +12548,6 @@
       "version": "0.25.4",
       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
       "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
-      "dev": true,
       "requires": {
         "sourcemap-codec": "^1.4.4"
       }
@@ -14180,7 +12571,6 @@
       "version": "5.0.2",
       "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz",
       "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==",
-      "dev": true,
       "requires": {
         "agentkeepalive": "^3.4.1",
         "cacache": "^12.0.0",
@@ -14199,7 +12589,6 @@
           "version": "12.0.3",
           "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
           "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
-          "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
             "chownr": "^1.1.1",
@@ -14222,7 +12611,6 @@
           "version": "7.1.6",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
           "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
-          "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
             "inflight": "^1.0.4",
@@ -14236,7 +12624,6 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -14245,7 +12632,6 @@
           "version": "6.0.1",
           "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
           "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
-          "dev": true,
           "requires": {
             "figgy-pudding": "^3.5.1"
           }
@@ -14253,8 +12639,7 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -14268,6 +12653,7 @@
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
       "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
+      "dev": true,
       "requires": {
         "p-defer": "^1.0.0"
       }
@@ -14275,7 +12661,8 @@
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+      "dev": true
     },
     "map-stream": {
       "version": "0.1.0",
@@ -14287,20 +12674,11 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
       "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+      "dev": true,
       "requires": {
         "object-visit": "^1.0.0"
       }
     },
-    "markdown-escapes": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.3.tgz",
-      "integrity": "sha512-XUi5HJhhV5R74k8/0H2oCbCiYf/u4cO/rX8tnGkRvrqhsr5BRNU6Mg0yt/8UIx1iIS8220BNJsDb7XnILhLepw=="
-    },
-    "markdown-table": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz",
-      "integrity": "sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q=="
-    },
     "marked": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz",
@@ -14353,95 +12731,12 @@
         "safe-buffer": "^5.1.2"
       }
     },
-    "mdast-util-compact": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.3.tgz",
-      "integrity": "sha512-nRiU5GpNy62rZppDKbLwhhtw5DXoFMqw9UNZFmlPsNaQCZ//WLjGKUwWMdJrUH+Se7UvtO2gXtAMe0g/N+eI5w==",
-      "requires": {
-        "unist-util-visit": "^1.1.0"
-      }
-    },
-    "mdast-util-definitions": {
-      "version": "1.2.4",
-      "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-1.2.4.tgz",
-      "integrity": "sha512-HfUArPog1j4Z78Xlzy9Q4aHLnrF/7fb57cooTHypyGoe2XFNbcx/kWZDoOz+ra8CkUzvg3+VHV434yqEd1DRmA==",
-      "requires": {
-        "unist-util-visit": "^1.0.0"
-      }
-    },
-    "mdast-util-inject": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/mdast-util-inject/-/mdast-util-inject-1.1.0.tgz",
-      "integrity": "sha1-2wa4tYW+lZotzS+H9HK6m3VvNnU=",
-      "requires": {
-        "mdast-util-to-string": "^1.0.0"
-      }
-    },
-    "mdast-util-to-hast": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-3.0.4.tgz",
-      "integrity": "sha512-/eIbly2YmyVgpJNo+bFLLMCI1XgolO/Ffowhf+pHDq3X4/V6FntC9sGQCDLM147eTS+uSXv5dRzJyFn+o0tazA==",
-      "requires": {
-        "collapse-white-space": "^1.0.0",
-        "detab": "^2.0.0",
-        "mdast-util-definitions": "^1.2.0",
-        "mdurl": "^1.0.1",
-        "trim": "0.0.1",
-        "trim-lines": "^1.0.0",
-        "unist-builder": "^1.0.1",
-        "unist-util-generated": "^1.1.0",
-        "unist-util-position": "^3.0.0",
-        "unist-util-visit": "^1.1.0",
-        "xtend": "^4.0.1"
-      }
-    },
-    "mdast-util-to-string": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.0.6.tgz",
-      "integrity": "sha512-868pp48gUPmZIhfKrLbaDneuzGiw3OTDjHc5M1kAepR2CWBJ+HpEsm252K4aXdiP5coVZaJPOqGtVU6Po8xnXg=="
-    },
-    "mdast-util-toc": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/mdast-util-toc/-/mdast-util-toc-3.1.0.tgz",
-      "integrity": "sha512-Za0hqL1PqWrvxGtA/3NH9D5nhGAUS9grMM4obEAz5+zsk1RIw/vWUchkaoDLNdrwk05A0CSC5eEXng36/1qE5w==",
-      "requires": {
-        "github-slugger": "^1.2.1",
-        "mdast-util-to-string": "^1.0.5",
-        "unist-util-is": "^2.1.2",
-        "unist-util-visit": "^1.1.0"
-      },
-      "dependencies": {
-        "emoji-regex": {
-          "version": "6.1.1",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-6.1.1.tgz",
-          "integrity": "sha1-xs0OwbBkLio8Z6ETfvxeeW2k+I4="
-        },
-        "github-slugger": {
-          "version": "1.2.1",
-          "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.2.1.tgz",
-          "integrity": "sha512-SsZUjg/P03KPzQBt7OxJPasGw6NRO5uOgiZ5RGXVud5iSIZ0eNZeNp5rTwCxtavrRUa/A77j8mePVc5lEvk0KQ==",
-          "requires": {
-            "emoji-regex": ">=6.0.0 <=6.1.1"
-          }
-        },
-        "unist-util-is": {
-          "version": "2.1.3",
-          "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-2.1.3.tgz",
-          "integrity": "sha512-4WbQX2iwfr/+PfM4U3zd2VNXY+dWtZsN1fLnWEi2QQXA4qyDYAZcDMfXUX0Cu6XZUHHAO9q4nyxxLT4Awk1qUA=="
-        }
-      }
-    },
     "mdn-data": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
       "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
       "dev": true
     },
-    "mdurl": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
-      "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
-    },
     "media-typer": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -14452,6 +12747,7 @@
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
       "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
+      "dev": true,
       "requires": {
         "map-age-cleaner": "^0.1.1",
         "mimic-fn": "^2.0.0",
@@ -14504,20 +12800,20 @@
       "dev": true
     },
     "mermaid": {
-      "version": "8.2.5",
-      "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.2.5.tgz",
-      "integrity": "sha512-46sb2QeJuKbrgyFNCUElWfgNaoNfpnTtyDk6d9jIvK02mkIXnEW4ZY+xPGa+J1fuIEbNCFPoZBsrpFqkouhoBQ==",
+      "version": "8.3.1",
+      "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-8.3.1.tgz",
+      "integrity": "sha512-s3+IQJqpd++hplyz1DVmA68d1ZTUqr1R21EeQldPNtSpRwLuODqI0BxQAt0bI5oiet07lelqfs3FW4ewtIhfKQ==",
       "requires": {
         "@braintree/sanitize-url": "^3.1.0",
         "d3": "^5.7.0",
         "dagre-d3-renderer": "^0.5.8",
         "dagre-layout": "^0.8.8",
-        "documentation": "^12.0.1",
         "graphlibrary": "^2.2.0",
         "he": "^1.2.0",
         "lodash": "^4.17.11",
         "minify": "^4.1.1",
         "moment-mini": "^2.22.1",
+        "prettier": "^1.18.2",
         "scope-css": "^1.2.1"
       }
     },
@@ -14531,6 +12827,7 @@
       "version": "3.1.10",
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
       "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -14566,14 +12863,12 @@
     "mime-db": {
       "version": "1.37.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
-      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
-      "dev": true
+      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
     },
     "mime-types": {
       "version": "2.1.21",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
       "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
-      "dev": true,
       "requires": {
         "mime-db": "~1.37.0"
       }
@@ -14667,8 +12962,7 @@
     "minimist": {
       "version": "0.0.8",
       "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
-      "dev": true
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
     },
     "minipass": {
       "version": "3.1.1",
@@ -14718,7 +13012,6 @@
       "version": "1.3.3",
       "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
       "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
-      "dev": true,
       "requires": {
         "minipass": "^2.9.0"
       },
@@ -14727,7 +13020,6 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -14736,8 +13028,7 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -14745,7 +13036,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
       "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
       "requires": {
         "concat-stream": "^1.5.0",
         "duplexify": "^3.4.2",
@@ -14763,6 +13053,7 @@
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
       "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+      "dev": true,
       "requires": {
         "for-in": "^1.0.2",
         "is-extendable": "^1.0.1"
@@ -14772,6 +13063,7 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -14782,78 +13074,19 @@
       "version": "0.5.1",
       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
       "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
-      "dev": true,
       "requires": {
         "minimist": "0.0.8"
       }
     },
-    "module-deps-sortable": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/module-deps-sortable/-/module-deps-sortable-5.0.0.tgz",
-      "integrity": "sha512-bnGGeghQmz/t/6771/KC4FmxpVm126iR6AAzzq4N6hVZQVl4+ZZBv+VF3PJmDyxXtVtgcgTSSP7NL+jq1QAHrg==",
-      "requires": {
-        "JSONStream": "^1.0.3",
-        "browser-resolve": "^1.7.0",
-        "cached-path-relative": "^1.0.0",
-        "concat-stream": "~1.5.0",
-        "defined": "^1.0.0",
-        "detective": "^4.0.0",
-        "duplexer2": "^0.1.2",
-        "inherits": "^2.0.1",
-        "readable-stream": "^2.0.2",
-        "resolve": "^1.1.3",
-        "stream-combiner2": "^1.1.1",
-        "subarg": "^1.0.0",
-        "through2": "^2.0.0",
-        "xtend": "^4.0.0"
-      },
-      "dependencies": {
-        "concat-stream": {
-          "version": "1.5.2",
-          "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
-          "integrity": "sha1-cIl4Yk2FavQaWnQd790mHadSwmY=",
-          "requires": {
-            "inherits": "~2.0.1",
-            "readable-stream": "~2.0.0",
-            "typedarray": "~0.0.5"
-          },
-          "dependencies": {
-            "readable-stream": {
-              "version": "2.0.6",
-              "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
-              "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
-              "requires": {
-                "core-util-is": "~1.0.0",
-                "inherits": "~2.0.1",
-                "isarray": "~1.0.0",
-                "process-nextick-args": "~1.0.6",
-                "string_decoder": "~0.10.x",
-                "util-deprecate": "~1.0.1"
-              }
-            }
-          }
-        },
-        "process-nextick-args": {
-          "version": "1.0.7",
-          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
-          "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
-        },
-        "string_decoder": {
-          "version": "0.10.31",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
-          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
-        }
-      }
-    },
     "moment": {
       "version": "2.24.0",
       "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
       "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
     },
     "moment-mini": {
-      "version": "2.22.1",
-      "resolved": "https://registry.npmjs.org/moment-mini/-/moment-mini-2.22.1.tgz",
-      "integrity": "sha512-OUCkHOz7ehtNMYuZjNciXUfwTuz8vmF1MTbAy59ebf+ZBYZO5/tZKuChVWCX+uDo+4idJBpGltNfV8st+HwsGw=="
+      "version": "2.24.0",
+      "resolved": "https://registry.npmjs.org/moment-mini/-/moment-mini-2.24.0.tgz",
+      "integrity": "sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ=="
     },
     "morgan": {
       "version": "1.9.1",
@@ -14877,7 +13110,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
       "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
       "requires": {
         "aproba": "^1.1.1",
         "copy-concurrently": "^1.0.0",
@@ -14930,12 +13162,14 @@
       "version": "2.12.1",
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
       "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
+      "dev": true,
       "optional": true
     },
     "nanomatch": {
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
       "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -15085,6 +13319,7 @@
       "version": "1.1.29",
       "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.29.tgz",
       "integrity": "sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ==",
+      "dev": true,
       "requires": {
         "semver": "^5.3.0"
       }
@@ -15113,6 +13348,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
       "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+      "dev": true,
       "requires": {
         "remove-trailing-separator": "^1.0.1"
       }
@@ -15129,19 +13365,10 @@
       "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==",
       "dev": true
     },
-    "now-and-later": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz",
-      "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==",
-      "requires": {
-        "once": "^1.3.2"
-      }
-    },
     "npm-bundled": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
       "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
-      "dev": true,
       "requires": {
         "npm-normalize-package-bin": "^1.0.1"
       }
@@ -15160,14 +13387,12 @@
     "npm-normalize-package-bin": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
-      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
-      "dev": true
+      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
     },
     "npm-package-arg": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
       "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
-      "dev": true,
       "requires": {
         "hosted-git-info": "^2.6.0",
         "osenv": "^0.1.5",
@@ -15179,7 +13404,6 @@
       "version": "1.4.8",
       "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
       "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
-      "dev": true,
       "requires": {
         "ignore-walk": "^3.0.1",
         "npm-bundled": "^1.0.1",
@@ -15190,7 +13414,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz",
       "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==",
-      "dev": true,
       "requires": {
         "figgy-pudding": "^3.5.1",
         "npm-package-arg": "^6.0.0",
@@ -15201,7 +13424,6 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz",
       "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==",
-      "dev": true,
       "requires": {
         "JSONStream": "^1.3.4",
         "bluebird": "^3.5.1",
@@ -15216,7 +13438,6 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -15224,14 +13445,12 @@
         "safe-buffer": {
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
-          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
-          "dev": true
+          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
         },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -15239,6 +13458,7 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
       "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+      "dev": true,
       "requires": {
         "path-key": "^2.0.0"
       }
@@ -15261,18 +13481,19 @@
     "number-is-nan": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
+      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+      "dev": true
     },
     "oauth-sign": {
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
-      "dev": true
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
     },
     "object-assign": {
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
-      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
+      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+      "dev": true
     },
     "object-component": {
       "version": "0.0.3",
@@ -15284,6 +13505,7 @@
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
       "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+      "dev": true,
       "requires": {
         "copy-descriptor": "^0.1.0",
         "define-property": "^0.2.5",
@@ -15294,6 +13516,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -15302,6 +13525,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -15323,6 +13547,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
       "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.0"
       }
@@ -15342,7 +13567,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
       "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
-      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "es-abstract": "^1.17.0-next.1"
@@ -15352,7 +13576,6 @@
           "version": "1.17.4",
           "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
           "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
-          "dev": true,
           "requires": {
             "es-to-primitive": "^1.2.1",
             "function-bind": "^1.1.1",
@@ -15371,7 +13594,6 @@
           "version": "1.2.1",
           "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
           "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
-          "dev": true,
           "requires": {
             "is-callable": "^1.1.4",
             "is-date-object": "^1.0.1",
@@ -15381,20 +13603,17 @@
         "has-symbols": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
-          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
-          "dev": true
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
         },
         "is-callable": {
           "version": "1.1.5",
           "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
-          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
-          "dev": true
+          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q=="
         },
         "is-regex": {
           "version": "1.0.5",
           "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
           "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
-          "dev": true,
           "requires": {
             "has": "^1.0.3"
           }
@@ -15402,14 +13621,12 @@
         "object-inspect": {
           "version": "1.7.0",
           "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
-          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
-          "dev": true
+          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw=="
         },
         "object-keys": {
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-          "dev": true
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
         }
       }
     },
@@ -15417,6 +13634,7 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
       "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -15556,7 +13774,6 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz",
       "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==",
-      "dev": true,
       "requires": {
         "is-wsl": "^2.1.0"
       },
@@ -15564,8 +13781,7 @@
         "is-wsl": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz",
-          "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==",
-          "dev": true
+          "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog=="
         }
       }
     },
@@ -15620,7 +13836,6 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz",
       "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==",
-      "dev": true,
       "requires": {
         "chalk": "^2.4.2",
         "cli-cursor": "^3.1.0",
@@ -15634,14 +13849,12 @@
         "ansi-regex": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-          "dev": true
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
         },
         "cli-cursor": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
           "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
-          "dev": true,
           "requires": {
             "restore-cursor": "^3.1.0"
           }
@@ -15650,7 +13863,6 @@
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
           "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
-          "dev": true,
           "requires": {
             "mimic-fn": "^2.1.0"
           }
@@ -15659,7 +13871,6 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
           "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-          "dev": true,
           "requires": {
             "onetime": "^5.1.0",
             "signal-exit": "^3.0.2"
@@ -15669,21 +13880,12 @@
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
           "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-          "dev": true,
           "requires": {
             "ansi-regex": "^4.1.0"
           }
         }
       }
     },
-    "ordered-read-streams": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz",
-      "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=",
-      "requires": {
-        "readable-stream": "^2.0.1"
-      }
-    },
     "original": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz",
@@ -15708,6 +13910,7 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
       "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
+      "dev": true,
       "requires": {
         "execa": "^1.0.0",
         "lcid": "^2.0.0",
@@ -15747,22 +13950,26 @@
     "p-defer": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
-      "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww="
+      "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
+      "dev": true
     },
     "p-finally": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
+      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+      "dev": true
     },
     "p-is-promise": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
-      "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg=="
+      "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
+      "dev": true
     },
     "p-limit": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
       "integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
+      "dev": true,
       "requires": {
         "p-try": "^2.0.0"
       }
@@ -15771,6 +13978,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
       "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
+      "dev": true,
       "requires": {
         "p-limit": "^2.0.0"
       }
@@ -15793,7 +14001,8 @@
     "p-try": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+      "dev": true
     },
     "package-json": {
       "version": "6.5.0",
@@ -15828,7 +14037,6 @@
       "version": "9.5.8",
       "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz",
       "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==",
-      "dev": true,
       "requires": {
         "bluebird": "^3.5.3",
         "cacache": "^12.0.2",
@@ -15865,7 +14073,6 @@
           "version": "12.0.3",
           "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
           "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
-          "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
             "chownr": "^1.1.1",
@@ -15888,7 +14095,6 @@
               "version": "7.1.6",
               "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
               "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
-              "dev": true,
               "requires": {
                 "fs.realpath": "^1.0.0",
                 "inflight": "^1.0.4",
@@ -15904,7 +14110,6 @@
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
           "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-          "dev": true,
           "requires": {
             "pump": "^3.0.0"
           }
@@ -15913,7 +14118,6 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -15922,7 +14126,6 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -15931,14 +14134,12 @@
         "semver": {
           "version": "5.7.1",
           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
         },
         "ssri": {
           "version": "6.0.1",
           "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
           "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
-          "dev": true,
           "requires": {
             "figgy-pudding": "^3.5.1"
           }
@@ -15946,8 +14147,7 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -15960,7 +14160,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
       "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
       "requires": {
         "cyclist": "^1.0.1",
         "inherits": "^2.0.3",
@@ -16006,73 +14205,12 @@
         "safe-buffer": "^5.1.1"
       }
     },
-    "parse-entities": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-1.2.2.tgz",
-      "integrity": "sha512-NzfpbxW/NPrzZ/yYSoQxyqUZMZXIdCfE0OIN4ESsnptHJECoUk3FZktxNuzQf4tjt5UEopnxpYJbvYuxIFDdsg==",
-      "requires": {
-        "character-entities": "^1.0.0",
-        "character-entities-legacy": "^1.0.0",
-        "character-reference-invalid": "^1.0.0",
-        "is-alphanumerical": "^1.0.0",
-        "is-decimal": "^1.0.0",
-        "is-hexadecimal": "^1.0.0"
-      }
-    },
-    "parse-filepath": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
-      "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
-      "requires": {
-        "is-absolute": "^1.0.0",
-        "map-cache": "^0.2.0",
-        "path-root": "^0.1.1"
-      }
-    },
     "parse-node-version": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
       "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
       "dev": true
     },
-    "parse-path": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-3.0.4.tgz",
-      "integrity": "sha512-wP70vtwv2DyrM2YoA7ZHVv4zIXa4P7dGgHlj+VwyXNDduLLVJ7NMY1zsFxjUUJ3DAwJLupGb1H5gMDDiNlJaxw==",
-      "requires": {
-        "is-ssh": "^1.3.0",
-        "protocols": "^1.4.0"
-      }
-    },
-    "parse-url": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-3.0.2.tgz",
-      "integrity": "sha1-YCeHpwY6eV1yuGcxl1BecvYGEL4=",
-      "requires": {
-        "is-ssh": "^1.3.0",
-        "normalize-url": "^1.9.1",
-        "parse-path": "^3.0.1",
-        "protocols": "^1.4.0"
-      },
-      "dependencies": {
-        "normalize-url": {
-          "version": "1.9.1",
-          "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
-          "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=",
-          "requires": {
-            "object-assign": "^4.0.1",
-            "prepend-http": "^1.0.0",
-            "query-string": "^4.1.0",
-            "sort-keys": "^1.0.0"
-          }
-        },
-        "prepend-http": {
-          "version": "1.0.4",
-          "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz",
-          "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw="
-        }
-      }
-    },
     "parse5": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz",
@@ -16106,7 +14244,8 @@
     "pascalcase": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+      "dev": true
     },
     "path-browserify": {
       "version": "0.0.1",
@@ -16117,12 +14256,14 @@
     "path-dirname": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+      "dev": true
     },
     "path-exists": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
-      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
+      "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+      "dev": true
     },
     "path-is-absolute": {
       "version": "1.0.1",
@@ -16145,19 +14286,6 @@
       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
       "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
     },
-    "path-root": {
-      "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
-      "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
-      "requires": {
-        "path-root-regex": "^0.1.0"
-      }
-    },
-    "path-root-regex": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
-      "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0="
-    },
     "path-to-regexp": {
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
@@ -16168,6 +14296,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
       "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
+      "dev": true,
       "requires": {
         "pify": "^3.0.0"
       }
@@ -16238,8 +14367,7 @@
     "performance-now": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
     },
     "picomatch": {
       "version": "2.0.7",
@@ -16250,7 +14378,8 @@
     "pify": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
-      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
+      "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
+      "dev": true
     },
     "pinkie": {
       "version": "2.0.4",
@@ -16377,7 +14506,8 @@
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+      "dev": true
     },
     "postcss": {
       "version": "7.0.21",
@@ -16995,6 +15125,11 @@
       "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=",
       "dev": true
     },
+    "prettier": {
+      "version": "1.19.1",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz",
+      "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew=="
+    },
     "primeng": {
       "version": "9.0.0",
       "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.0.0.tgz",
@@ -17016,7 +15151,8 @@
     "private": {
       "version": "0.1.8",
       "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
+      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+      "dev": true
     },
     "process": {
       "version": "0.11.10",
@@ -17048,14 +15184,12 @@
     "promise-inflight": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
+      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
     },
     "promise-retry": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
       "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
-      "dev": true,
       "requires": {
         "err-code": "^1.0.0",
         "retry": "^0.10.0"
@@ -17064,8 +15198,7 @@
         "retry": {
           "version": "0.10.1",
           "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
-          "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
-          "dev": true
+          "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
         }
       }
     },
@@ -17086,14 +15219,6 @@
         "string.prototype.codepointat": "^0.2.0"
       }
     },
-    "property-information": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/property-information/-/property-information-4.2.0.tgz",
-      "integrity": "sha512-TlgDPagHh+eBKOnH2VYvk8qbwsCG/TAJdmTL7f1PROUcSO8qt/KSmShEQ/OKvock8X9tFjtqjCScyOkkkvIKVQ==",
-      "requires": {
-        "xtend": "^4.0.1"
-      }
-    },
     "proto-list": {
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz",
@@ -17101,16 +15226,10 @@
       "dev": true,
       "optional": true
     },
-    "protocols": {
-      "version": "1.4.7",
-      "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.7.tgz",
-      "integrity": "sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg=="
-    },
     "protoduck": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz",
       "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==",
-      "dev": true,
       "requires": {
         "genfun": "^5.0.0"
       }
@@ -17271,8 +15390,7 @@
     "psl": {
       "version": "1.1.31",
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
-      "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
-      "dev": true
+      "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw=="
     },
     "public-encrypt": {
       "version": "4.0.3",
@@ -17321,8 +15439,16 @@
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+    },
+    "pupa": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
+      "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
+      "dev": true,
+      "requires": {
+        "escape-goat": "^2.0.0"
+      }
     },
     "pupa": {
       "version": "2.0.1",
@@ -17354,6 +15480,7 @@
       "version": "4.3.4",
       "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz",
       "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=",
+      "dev": true,
       "requires": {
         "object-assign": "^4.1.0",
         "strict-uri-encode": "^1.0.0"
@@ -17605,7 +15732,6 @@
       "version": "2.0.13",
       "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz",
       "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==",
-      "dev": true,
       "requires": {
         "glob": "^7.1.1",
         "graceful-fs": "^4.1.2",
@@ -17618,7 +15744,6 @@
       "version": "5.3.1",
       "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz",
       "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==",
-      "dev": true,
       "requires": {
         "read-package-json": "^2.0.0",
         "readdir-scoped-modules": "^1.0.0",
@@ -17643,7 +15768,6 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
       "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
-      "dev": true,
       "requires": {
         "debuglog": "^1.0.1",
         "dezalgo": "^1.0.0",
@@ -17655,6 +15779,7 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
       "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.11",
         "micromatch": "^3.1.10",
@@ -17670,12 +15795,14 @@
     "regenerate": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
+      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+      "dev": true
     },
     "regenerate-unicode-properties": {
       "version": "8.1.0",
       "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
       "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
+      "dev": true,
       "requires": {
         "regenerate": "^1.4.0"
       }
@@ -17690,6 +15817,7 @@
       "version": "0.14.1",
       "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
       "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
+      "dev": true,
       "requires": {
         "private": "^0.1.6"
       }
@@ -17698,16 +15826,12 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
       "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.2",
         "safe-regex": "^1.1.0"
       }
     },
-    "regexp-tree": {
-      "version": "0.1.12",
-      "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.12.tgz",
-      "integrity": "sha512-TsXZ8+cv2uxMEkLfgwO0E068gsNMLfuYwMMhiUxf0Kw2Vcgzq93vgl6wIlIYuPmfMqMjfQ9zAporiozqCnwLuQ=="
-    },
     "regexpu-core": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
@@ -17766,141 +15890,28 @@
       "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
       "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
     },
-    "remark": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/remark/-/remark-9.0.0.tgz",
-      "integrity": "sha512-amw8rGdD5lHbMEakiEsllmkdBP+/KpjW/PRK6NSGPZKCQowh0BT4IWXDAkRMyG3SB9dKPXWMviFjNusXzXNn3A==",
-      "requires": {
-        "remark-parse": "^5.0.0",
-        "remark-stringify": "^5.0.0",
-        "unified": "^6.0.0"
-      }
-    },
-    "remark-html": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-8.0.0.tgz",
-      "integrity": "sha512-3V2391GL3hxKhrkzYOyfPpxJ6taIKLCfuLVqumeWQOk3H9nTtSQ8St8kMYkBVIEAquXN1chT83qJ/2lAW+dpEg==",
-      "requires": {
-        "hast-util-sanitize": "^1.0.0",
-        "hast-util-to-html": "^4.0.0",
-        "mdast-util-to-hast": "^3.0.0",
-        "xtend": "^4.0.1"
-      }
-    },
-    "remark-parse": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-5.0.0.tgz",
-      "integrity": "sha512-b3iXszZLH1TLoyUzrATcTQUZrwNl1rE70rVdSruJFlDaJ9z5aMkhrG43Pp68OgfHndL/ADz6V69Zow8cTQu+JA==",
-      "requires": {
-        "collapse-white-space": "^1.0.2",
-        "is-alphabetical": "^1.0.0",
-        "is-decimal": "^1.0.0",
-        "is-whitespace-character": "^1.0.0",
-        "is-word-character": "^1.0.0",
-        "markdown-escapes": "^1.0.0",
-        "parse-entities": "^1.1.0",
-        "repeat-string": "^1.5.4",
-        "state-toggle": "^1.0.0",
-        "trim": "0.0.1",
-        "trim-trailing-lines": "^1.0.0",
-        "unherit": "^1.0.4",
-        "unist-util-remove-position": "^1.0.0",
-        "vfile-location": "^2.0.0",
-        "xtend": "^4.0.1"
-      }
-    },
-    "remark-reference-links": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/remark-reference-links/-/remark-reference-links-4.0.4.tgz",
-      "integrity": "sha512-+2X8hwSQqxG4tvjYZNrTcEC+bXp8shQvwRGG6J/rnFTvBoU4G0BBviZoqKGZizLh/DG+0gSYhiDDWCqyxXW1iQ==",
-      "requires": {
-        "unist-util-visit": "^1.0.0"
-      }
-    },
-    "remark-slug": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-5.1.2.tgz",
-      "integrity": "sha512-DWX+Kd9iKycqyD+/B+gEFO3jjnt7Yg1O05lygYSNTe5i5PIxxxPjp5qPBDxPIzp5wreF7+1ROCwRgjEcqmzr3A==",
-      "requires": {
-        "github-slugger": "^1.0.0",
-        "mdast-util-to-string": "^1.0.0",
-        "unist-util-visit": "^1.0.0"
-      }
-    },
-    "remark-stringify": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-5.0.0.tgz",
-      "integrity": "sha512-Ws5MdA69ftqQ/yhRF9XhVV29mhxbfGhbz0Rx5bQH+oJcNhhSM6nCu1EpLod+DjrFGrU0BMPs+czVmJZU7xiS7w==",
-      "requires": {
-        "ccount": "^1.0.0",
-        "is-alphanumeric": "^1.0.0",
-        "is-decimal": "^1.0.0",
-        "is-whitespace-character": "^1.0.0",
-        "longest-streak": "^2.0.1",
-        "markdown-escapes": "^1.0.0",
-        "markdown-table": "^1.1.0",
-        "mdast-util-compact": "^1.0.0",
-        "parse-entities": "^1.0.2",
-        "repeat-string": "^1.5.4",
-        "state-toggle": "^1.0.0",
-        "stringify-entities": "^1.0.1",
-        "unherit": "^1.0.4",
-        "xtend": "^4.0.1"
-      }
-    },
-    "remark-toc": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/remark-toc/-/remark-toc-5.1.1.tgz",
-      "integrity": "sha512-vCPW4YOsm2CfyuScdktM9KDnJXVHJsd/ZeRtst+dnBU3B3KKvt8bc+bs5syJjyptAHfqo7H+5Uhz+2blWBfwow==",
-      "requires": {
-        "mdast-util-toc": "^3.0.0",
-        "remark-slug": "^5.0.0"
-      }
-    },
-    "remove-bom-buffer": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz",
-      "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==",
-      "requires": {
-        "is-buffer": "^1.1.5",
-        "is-utf8": "^0.2.1"
-      }
-    },
-    "remove-bom-stream": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz",
-      "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=",
-      "requires": {
-        "remove-bom-buffer": "^3.0.0",
-        "safe-buffer": "^5.1.0",
-        "through2": "^2.0.3"
-      }
-    },
     "remove-trailing-separator": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+      "dev": true
     },
     "repeat-element": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
+      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+      "dev": true
     },
     "repeat-string": {
       "version": "1.6.1",
       "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
-    },
-    "replace-ext": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz",
-      "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs="
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+      "dev": true
     },
     "request": {
       "version": "2.88.0",
       "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
       "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
-      "dev": true,
       "requires": {
         "aws-sign2": "~0.7.0",
         "aws4": "^1.8.0",
@@ -17927,12 +15938,14 @@
     "require-directory": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I="
+      "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+      "dev": true
     },
     "require-main-filename": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
-      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE="
+      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
+      "dev": true
     },
     "requires-port": {
       "version": "1.0.0",
@@ -17963,18 +15976,11 @@
       "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=",
       "dev": true
     },
-    "resolve-options": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz",
-      "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=",
-      "requires": {
-        "value-or-function": "^3.0.0"
-      }
-    },
     "resolve-url": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+      "dev": true
     },
     "responselike": {
       "version": "1.0.2",
@@ -18015,7 +16021,8 @@
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
+      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+      "dev": true
     },
     "retry": {
       "version": "0.12.0",
@@ -18045,7 +16052,6 @@
       "version": "2.7.1",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
       "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
       "requires": {
         "glob": "^7.1.3"
       }
@@ -18104,7 +16110,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
       "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
-      "dev": true,
       "requires": {
         "is-promise": "^2.1.0"
       }
@@ -18113,7 +16118,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
       "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
       "requires": {
         "aproba": "^1.1.1"
       }
@@ -18131,20 +16135,21 @@
         "tslib": "^1.9.0"
       }
     },
+    "rxjs-compat": {
+      "version": "6.5.4",
+      "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.5.4.tgz",
+      "integrity": "sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA=="
+    },
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
       "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
     },
-    "safe-json-parse": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
-      "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c="
-    },
     "safe-regex": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
       "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+      "dev": true,
       "requires": {
         "ret": "~0.1.10"
       }
@@ -18360,7 +16365,6 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz",
       "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==",
-      "dev": true,
       "requires": {
         "semver": "^5.0.0"
       }
@@ -18485,7 +16489,8 @@
     "set-blocking": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc="
+      "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+      "dev": true
     },
     "set-immediate-shim": {
       "version": "1.0.1",
@@ -18497,6 +16502,7 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
       "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-extendable": "^0.1.1",
@@ -18508,6 +16514,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -18594,24 +16601,23 @@
     "slash": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
-      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
-      "dev": true
+      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
     },
     "slugify": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.3.4.tgz",
-      "integrity": "sha512-KP0ZYk5hJNBS8/eIjGkFDCzGQIoZ1mnfQRYS5WM3273z+fxGWXeN0fkwf2ebEweydv9tioZIHGZKoF21U07/nw=="
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.4.0.tgz",
+      "integrity": "sha512-FtLNsMGBSRB/0JOE2A0fxlqjI6fJsgHGS13iTuVT28kViI4JjUiNqp/vyis0ZXYcMnpR3fzGNkv+6vRlI2GwdQ=="
     },
     "smart-buffer": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz",
-      "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==",
-      "dev": true
+      "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw=="
     },
     "snapdragon": {
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
       "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+      "dev": true,
       "requires": {
         "base": "^0.11.1",
         "debug": "^2.2.0",
@@ -18627,6 +16633,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -18635,6 +16642,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -18642,7 +16650,8 @@
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
         }
       }
     },
@@ -18650,6 +16659,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
       "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+      "dev": true,
       "requires": {
         "define-property": "^1.0.0",
         "isobject": "^3.0.0",
@@ -18660,6 +16670,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -18668,6 +16679,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -18676,6 +16688,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -18684,6 +16697,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -18696,6 +16710,7 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
       "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+      "dev": true,
       "requires": {
         "kind-of": "^3.2.0"
       },
@@ -18704,6 +16719,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -18856,7 +16872,6 @@
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz",
       "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==",
-      "dev": true,
       "requires": {
         "ip": "1.1.5",
         "smart-buffer": "^4.1.0"
@@ -18866,7 +16881,6 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
       "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
-      "dev": true,
       "requires": {
         "agent-base": "~4.2.1",
         "socks": "~2.3.2"
@@ -18876,7 +16890,6 @@
           "version": "4.2.1",
           "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
           "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
-          "dev": true,
           "requires": {
             "es6-promisify": "^5.0.0"
           }
@@ -18887,6 +16900,7 @@
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz",
       "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=",
+      "dev": true,
       "requires": {
         "is-plain-obj": "^1.0.0"
       }
@@ -18900,8 +16914,7 @@
     "source-map": {
       "version": "0.7.3",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true
+      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
     },
     "source-map-loader": {
       "version": "0.2.4",
@@ -18917,6 +16930,7 @@
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
       "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+      "dev": true,
       "requires": {
         "atob": "^2.1.1",
         "decode-uri-component": "^0.2.0",
@@ -18946,18 +16960,13 @@
     "source-map-url": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
+      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+      "dev": true
     },
     "sourcemap-codec": {
       "version": "1.4.8",
       "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
-      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
-      "dev": true
-    },
-    "space-separated-tokens": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.4.tgz",
-      "integrity": "sha512-UyhMSmeIqZrQn2UdjYpxEkwY9JUrn8pP+7L4f91zRzOQuI8MF1FGLfYU9DKCYeLdo7LXMxwrX5zKFy7eeeVHuA=="
+      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
     },
     "spdx-correct": {
       "version": "3.1.0",
@@ -19081,6 +17090,7 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
       "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.0"
       }
@@ -19088,7 +17098,8 @@
     "sprintf-js": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
-      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
+      "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+      "dev": true
     },
     "ssf": {
       "version": "0.10.2",
@@ -19102,7 +17113,6 @@
       "version": "1.16.1",
       "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
       "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
-      "dev": true,
       "requires": {
         "asn1": "~0.2.3",
         "assert-plus": "^1.0.0",
@@ -19137,11 +17147,6 @@
       "integrity": "sha512-jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==",
       "dev": true
     },
-    "state-toggle": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.2.tgz",
-      "integrity": "sha512-8LpelPGR0qQM4PnfLiplOQNJcIN1/r2Gy0xKB2zKnIW2YzPMt2sR4I/+gtPjhN7Svh9kw+zqEg2SFwpBO9iNiw=="
-    },
     "static-eval": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.3.tgz",
@@ -19183,6 +17188,7 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
       "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+      "dev": true,
       "requires": {
         "define-property": "^0.2.5",
         "object-copy": "^0.1.0"
@@ -19192,6 +17198,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -19226,51 +17233,17 @@
           "integrity": "sha512-oreip9rJZkzvA8Qzk9HFs8fZGF/u7H/gtrE8EN6RjKJ9kh2HlC+yQ2QezifqTZfGyiuAV0dRv5a+y/8gBb1m9w==",
           "dev": true,
           "requires": {
-            "vlq": "^0.2.2"
-          }
-        }
-      }
-    },
-    "statuses": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
-      "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
-      "dev": true
-    },
-    "stream-array": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/stream-array/-/stream-array-1.1.2.tgz",
-      "integrity": "sha1-nl9zRfITfDDuO0mLkRToC1K7frU=",
-      "requires": {
-        "readable-stream": "~2.1.0"
-      },
-      "dependencies": {
-        "process-nextick-args": {
-          "version": "1.0.7",
-          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
-          "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M="
-        },
-        "readable-stream": {
-          "version": "2.1.5",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz",
-          "integrity": "sha1-ZvqLcg4UOLNkaB8q0aY8YYRIydA=",
-          "requires": {
-            "buffer-shims": "^1.0.0",
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.1",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~1.0.6",
-            "string_decoder": "~0.10.x",
-            "util-deprecate": "~1.0.1"
+            "vlq": "^0.2.2"
           }
-        },
-        "string_decoder": {
-          "version": "0.10.31",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
-          "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
         }
       }
     },
+    "statuses": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz",
+      "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==",
+      "dev": true
+    },
     "stream-browserify": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
@@ -19290,20 +17263,10 @@
         "duplexer": "~0.1.1"
       }
     },
-    "stream-combiner2": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz",
-      "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=",
-      "requires": {
-        "duplexer2": "~0.1.0",
-        "readable-stream": "^2.0.2"
-      }
-    },
     "stream-each": {
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
       "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
       "requires": {
         "end-of-stream": "^1.1.0",
         "stream-shift": "^1.0.0"
@@ -19371,12 +17334,8 @@
     "strict-uri-encode": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
-      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
-    },
-    "string-template": {
-      "version": "0.2.1",
-      "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
-      "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0="
+      "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
+      "dev": true
     },
     "string-width": {
       "version": "2.1.1",
@@ -19424,7 +17383,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
       "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
-      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "function-bind": "^1.1.1"
@@ -19434,7 +17392,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
       "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
-      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "function-bind": "^1.1.1"
@@ -19448,21 +17405,11 @@
         "safe-buffer": "~5.1.0"
       }
     },
-    "stringify-entities": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-1.3.2.tgz",
-      "integrity": "sha512-nrBAQClJAPN2p+uGCVJRPIPakKeKWZ9GtBCmormE7pWOSlHat7+x5A8gx85M7HM5Dt0BP3pP5RhVW77WdbJJ3A==",
-      "requires": {
-        "character-entities-html4": "^1.0.0",
-        "character-entities-legacy": "^1.0.0",
-        "is-alphanumerical": "^1.0.0",
-        "is-hexadecimal": "^1.0.0"
-      }
-    },
     "strip-ansi": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
       "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+      "dev": true,
       "requires": {
         "ansi-regex": "^2.0.0"
       }
@@ -19483,12 +17430,14 @@
     "strip-eof": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
-      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8="
+      "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+      "dev": true
     },
     "strip-json-comments": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
-      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
+      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
+      "dev": true
     },
     "style-loader": {
       "version": "1.0.0",
@@ -19613,21 +17562,6 @@
         "when": "~3.6.x"
       }
     },
-    "subarg": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz",
-      "integrity": "sha1-9izxdYHplrSPyWVpn1TAauJouNI=",
-      "requires": {
-        "minimist": "^1.1.0"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
-        }
-      }
-    },
     "sumchecker": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz",
@@ -19658,6 +17592,7 @@
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
       "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
+      "dev": true,
       "requires": {
         "has-flag": "^3.0.0"
       }
@@ -19730,8 +17665,7 @@
     "symbol-observable": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
-      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
-      "dev": true
+      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
     },
     "tapable": {
       "version": "1.1.3",
@@ -19796,7 +17730,6 @@
       "version": "4.4.13",
       "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
       "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
-      "dev": true,
       "requires": {
         "chownr": "^1.1.1",
         "fs-minipass": "^1.2.5",
@@ -19811,7 +17744,6 @@
           "version": "1.2.7",
           "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
           "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
-          "dev": true,
           "requires": {
             "minipass": "^2.6.0"
           }
@@ -19820,7 +17752,6 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -19829,8 +17760,7 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -20098,15 +18028,6 @@
         "xtend": "~4.0.1"
       }
     },
-    "through2-filter": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz",
-      "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==",
-      "requires": {
-        "through2": "~2.0.0",
-        "xtend": "~4.0.0"
-      }
-    },
     "thunky": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.0.3.tgz",
@@ -20152,52 +18073,14 @@
       "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==",
       "dev": true
     },
-    "tiny-lr": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
-      "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
-      "requires": {
-        "body": "^5.1.0",
-        "debug": "^3.1.0",
-        "faye-websocket": "~0.10.0",
-        "livereload-js": "^2.3.0",
-        "object-assign": "^4.1.0",
-        "qs": "^6.4.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-        }
-      }
-    },
     "tmp": {
       "version": "0.0.33",
       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
       "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "dev": true,
       "requires": {
         "os-tmpdir": "~1.0.2"
       }
     },
-    "to-absolute-glob": {
-      "version": "2.0.2",
-      "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz",
-      "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=",
-      "requires": {
-        "is-absolute": "^1.0.0",
-        "is-negated-glob": "^1.0.0"
-      }
-    },
     "to-array": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
@@ -20220,6 +18103,7 @@
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
       "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -20228,6 +18112,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -20244,6 +18129,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
       "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+      "dev": true,
       "requires": {
         "define-property": "^2.0.2",
         "extend-shallow": "^3.0.2",
@@ -20255,19 +18141,12 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
       "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "repeat-string": "^1.6.1"
       }
     },
-    "to-through": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz",
-      "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=",
-      "requires": {
-        "through2": "^2.0.3"
-      }
-    },
     "toidentifier": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
@@ -20278,7 +18157,6 @@
       "version": "2.4.3",
       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
       "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
-      "dev": true,
       "requires": {
         "psl": "^1.1.24",
         "punycode": "^1.4.1"
@@ -20287,8 +18165,7 @@
         "punycode": {
           "version": "1.4.1",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
+          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
         }
       }
     },
@@ -20304,30 +18181,11 @@
       "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
       "dev": true
     },
-    "trim": {
-      "version": "0.0.1",
-      "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
-      "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0="
-    },
-    "trim-lines": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-1.1.2.tgz",
-      "integrity": "sha512-3GOuyNeTqk3FAqc3jOJtw7FTjYl94XBR5aD9QnDbK/T4CA9sW/J0l9RoaRPE9wyPP7NF331qnHnvJFBJ+IDkmQ=="
-    },
     "trim-right": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM="
-    },
-    "trim-trailing-lines": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.2.tgz",
-      "integrity": "sha512-MUjYItdrqqj2zpcHFTkMa9WAv4JHTI6gnRQGPFLrt5L9a6tRMiDnIqYl8JBvu2d2Tc3lWJKQwlGCp0K8AvCM+Q=="
-    },
-    "trough": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.4.tgz",
-      "integrity": "sha512-tdzBRDGWcI1OpPVmChbdSKhvSVurznZ8X36AYURAcl+0o2ldlCY2XPzyXNNxwJwwyIU+rIglTCG4kxtNKBQH7Q=="
+      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
+      "dev": true
     },
     "truncate-utf8-bytes": {
       "version": "1.0.2",
@@ -20339,9 +18197,9 @@
       }
     },
     "try-catch": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-2.0.0.tgz",
-      "integrity": "sha512-RPXpVjsbtWgymwGq5F/OWDFsjEzdvzwHFaMjWWW6f/p6+uk/N7YSKJHQfIfGqITfj8qH4cBqCLMnhKZBaKk7Kg=="
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/try-catch/-/try-catch-2.0.1.tgz",
+      "integrity": "sha512-LsOrmObN/2WdM+y2xG+t16vhYrQsnV8wftXIcIOWZhQcBJvKGYuamJGwnU98A7Jxs2oZNkJztXlphEOoA0DWqg=="
     },
     "try-to-catch": {
       "version": "1.1.1",
@@ -20475,7 +18333,6 @@
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
       "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dev": true,
       "requires": {
         "safe-buffer": "^5.0.1"
       }
@@ -20483,8 +18340,7 @@
     "tweetnacl": {
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
     },
     "type": {
       "version": "1.2.0",
@@ -20584,31 +18440,25 @@
     "unc-path-regex": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
-      "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
+      "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+      "dev": true
     },
     "underscore": {
       "version": "1.9.1",
       "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
       "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
     },
-    "unherit": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.2.tgz",
-      "integrity": "sha512-W3tMnpaMG7ZY6xe/moK04U9fBhi6wEiCYHUW5Mop/wQHf12+79EQGwxYejNdhEz2mkqkBlGwm7pxmgBKMVUj0w==",
-      "requires": {
-        "inherits": "^2.0.1",
-        "xtend": "^4.0.1"
-      }
-    },
     "unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="
+      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+      "dev": true
     },
     "unicode-match-property-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
       "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+      "dev": true,
       "requires": {
         "unicode-canonical-property-names-ecmascript": "^1.0.4",
         "unicode-property-aliases-ecmascript": "^1.0.4"
@@ -20617,7 +18467,8 @@
     "unicode-match-property-value-ecmascript": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
-      "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g=="
+      "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
+      "dev": true
     },
     "unicode-properties": {
       "version": "1.3.1",
@@ -20650,7 +18501,8 @@
     "unicode-property-aliases-ecmascript": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
-      "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw=="
+      "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
+      "dev": true
     },
     "unicode-trie": {
       "version": "1.0.0",
@@ -20670,36 +18522,11 @@
         }
       }
     },
-    "unified": {
-      "version": "6.2.0",
-      "resolved": "https://registry.npmjs.org/unified/-/unified-6.2.0.tgz",
-      "integrity": "sha512-1k+KPhlVtqmG99RaTbAv/usu85fcSRu3wY8X+vnsEhIxNP5VbVIDiXnLqyKIG+UMdyTg0ZX9EI6k2AfjJkHPtA==",
-      "requires": {
-        "bail": "^1.0.0",
-        "extend": "^3.0.0",
-        "is-plain-obj": "^1.1.0",
-        "trough": "^1.0.0",
-        "vfile": "^2.0.0",
-        "x-is-string": "^0.1.0"
-      },
-      "dependencies": {
-        "vfile": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/vfile/-/vfile-2.3.0.tgz",
-          "integrity": "sha512-ASt4mBUHcTpMKD/l5Q+WJXNtshlWxOogYyGYYrg4lt/vuRjC1EFQtlAofL5VmtVNIZJzWYFJjzGWZ0Gw8pzW1w==",
-          "requires": {
-            "is-buffer": "^1.1.4",
-            "replace-ext": "1.0.0",
-            "unist-util-stringify-position": "^1.0.0",
-            "vfile-message": "^1.0.0"
-          }
-        }
-      }
-    },
     "union-value": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
       "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "get-value": "^2.0.6",
@@ -20723,7 +18550,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
       "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
       "requires": {
         "unique-slug": "^2.0.0"
       }
@@ -20732,20 +18558,10 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
       "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "dev": true,
       "requires": {
         "imurmurhash": "^0.1.4"
       }
     },
-    "unique-stream": {
-      "version": "2.3.1",
-      "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz",
-      "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==",
-      "requires": {
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "through2-filter": "^3.0.0"
-      }
-    },
     "unique-string": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz",
@@ -20755,63 +18571,10 @@
         "crypto-random-string": "^1.0.0"
       }
     },
-    "unist-builder": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-1.0.4.tgz",
-      "integrity": "sha512-v6xbUPP7ILrT15fHGrNyHc1Xda8H3xVhP7/HAIotHOhVPjH5dCXA097C3Rry1Q2O+HbOLCao4hfPB+EYEjHgVg==",
-      "requires": {
-        "object-assign": "^4.1.0"
-      }
-    },
-    "unist-util-generated": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.4.tgz",
-      "integrity": "sha512-SA7Sys3h3X4AlVnxHdvN/qYdr4R38HzihoEVY2Q2BZu8NHWDnw5OGcC/tXWjQfd4iG+M6qRFNIRGqJmp2ez4Ww=="
-    },
-    "unist-util-is": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-3.0.0.tgz",
-      "integrity": "sha512-sVZZX3+kspVNmLWBPAB6r+7D9ZgAFPNWm66f7YNb420RlQSbn+n8rG8dGZSkrER7ZIXGQYNm5pqC3v3HopH24A=="
-    },
-    "unist-util-position": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.0.3.tgz",
-      "integrity": "sha512-28EpCBYFvnMeq9y/4w6pbnFmCUfzlsc41NJui5c51hOFjBA1fejcwc+5W4z2+0ECVbScG3dURS3JTVqwenzqZw=="
-    },
-    "unist-util-remove-position": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-1.1.3.tgz",
-      "integrity": "sha512-CtszTlOjP2sBGYc2zcKA/CvNdTdEs3ozbiJ63IPBxh8iZg42SCCb8m04f8z2+V1aSk5a7BxbZKEdoDjadmBkWA==",
-      "requires": {
-        "unist-util-visit": "^1.1.0"
-      }
-    },
-    "unist-util-stringify-position": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz",
-      "integrity": "sha512-pNCVrk64LZv1kElr0N1wPiHEUoXNVFERp+mlTg/s9R5Lwg87f9bM/3sQB99w+N9D/qnM9ar3+AKDBwo/gm/iQQ=="
-    },
-    "unist-util-visit": {
-      "version": "1.4.1",
-      "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-1.4.1.tgz",
-      "integrity": "sha512-AvGNk7Bb//EmJZyhtRUnNMEpId/AZ5Ph/KUpTI09WHQuDZHKovQ1oEv3mfmKpWKtoMzyMC4GLBm1Zy5k12fjIw==",
-      "requires": {
-        "unist-util-visit-parents": "^2.0.0"
-      }
-    },
-    "unist-util-visit-parents": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-2.1.2.tgz",
-      "integrity": "sha512-DyN5vD4NE3aSeB+PXYNKxzGsfocxp6asDc2XXE3b0ekO2BaRUpBicbbUygfSvYfUz1IkmjFR1YF7dPklraMZ2g==",
-      "requires": {
-        "unist-util-is": "^3.0.0"
-      }
-    },
     "universal-analytics": {
       "version": "0.4.20",
       "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz",
       "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==",
-      "dev": true,
       "requires": {
         "debug": "^3.0.0",
         "request": "^2.88.0",
@@ -20822,7 +18585,6 @@
           "version": "3.2.6",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
           "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -20830,8 +18592,7 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
         }
       }
     },
@@ -20862,6 +18623,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
       "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+      "dev": true,
       "requires": {
         "has-value": "^0.3.1",
         "isobject": "^3.0.0"
@@ -20871,6 +18633,7 @@
           "version": "0.3.1",
           "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
           "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+          "dev": true,
           "requires": {
             "get-value": "^2.0.3",
             "has-values": "^0.1.4",
@@ -20881,6 +18644,7 @@
               "version": "2.1.0",
               "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
               "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+              "dev": true,
               "requires": {
                 "isarray": "1.0.0"
               }
@@ -20890,7 +18654,8 @@
         "has-values": {
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+          "dev": true
         }
       }
     },
@@ -20903,7 +18668,8 @@
     "upath": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
-      "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw=="
+      "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+      "dev": true
     },
     "update-notifier": {
       "version": "4.1.0",
@@ -21092,7 +18858,6 @@
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       }
@@ -21100,7 +18865,8 @@
     "urix": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+      "dev": true
     },
     "url": {
       "version": "0.11.0",
@@ -21150,7 +18916,8 @@
     "use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
+      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+      "dev": true
     },
     "useragent": {
       "version": "2.3.0",
@@ -21186,7 +18953,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz",
       "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=",
-      "dev": true,
       "requires": {
         "object.getownpropertydescriptors": "^2.0.3"
       }
@@ -21277,8 +19043,7 @@
     "uuid": {
       "version": "3.3.2",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
-      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
-      "dev": true
+      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
     },
     "valid-identifier": {
       "version": "0.0.2",
@@ -21299,16 +19064,10 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
       "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
-      "dev": true,
       "requires": {
         "builtins": "^1.0.3"
       }
     },
-    "value-or-function": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz",
-      "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM="
-    },
     "vary": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
@@ -21325,179 +19084,12 @@
       "version": "1.10.0",
       "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
       "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "core-util-is": "1.0.2",
         "extsprintf": "^1.2.0"
       }
     },
-    "vfile": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.0.1.tgz",
-      "integrity": "sha512-lRHFCuC4SQBFr7Uq91oJDJxlnftoTLQ7eKIpMdubhYcVMho4781a8MWXLy3qZrZ0/STD1kRiKc0cQOHm4OkPeA==",
-      "requires": {
-        "@types/unist": "^2.0.0",
-        "is-buffer": "^2.0.0",
-        "replace-ext": "1.0.0",
-        "unist-util-stringify-position": "^2.0.0",
-        "vfile-message": "^2.0.0"
-      },
-      "dependencies": {
-        "is-buffer": {
-          "version": "2.0.3",
-          "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.3.tgz",
-          "integrity": "sha512-U15Q7MXTuZlrbymiz95PJpZxu8IlipAp4dtS3wOdgPXx3mqBnslrWU14kxfHB+Py/+2PVKSr37dMAgM2A4uArw=="
-        },
-        "unist-util-stringify-position": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz",
-          "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==",
-          "requires": {
-            "@types/unist": "^2.0.2"
-          }
-        },
-        "vfile-message": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.1.tgz",
-          "integrity": "sha512-KtasSV+uVU7RWhUn4Lw+wW1Zl/nW8JWx7JCPps10Y9JRRIDeDXf8wfBLoOSsJLyo27DqMyAi54C6Jf/d6Kr2Bw==",
-          "requires": {
-            "@types/unist": "^2.0.2",
-            "unist-util-stringify-position": "^2.0.0"
-          }
-        }
-      }
-    },
-    "vfile-location": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-2.0.5.tgz",
-      "integrity": "sha512-Pa1ey0OzYBkLPxPZI3d9E+S4BmvfVwNAAXrrqGbwTVXWaX2p9kM1zZ+n35UtVM06shmWKH4RPRN8KI80qE3wNQ=="
-    },
-    "vfile-message": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-1.1.1.tgz",
-      "integrity": "sha512-1WmsopSGhWt5laNir+633LszXvZ+Z/lxveBf6yhGsqnQIhlhzooZae7zV6YVM1Sdkw68dtAW3ow0pOdPANugvA==",
-      "requires": {
-        "unist-util-stringify-position": "^1.1.1"
-      }
-    },
-    "vfile-reporter": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/vfile-reporter/-/vfile-reporter-6.0.0.tgz",
-      "integrity": "sha512-8Is0XxFxWJUhPJdOg3CyZTqd3ICCWg6r304PuBl818ZG91h4FMS3Q+lrOPS+cs5/DZK3H0+AkJdH0J8JEwKtDA==",
-      "requires": {
-        "repeat-string": "^1.5.0",
-        "string-width": "^4.0.0",
-        "supports-color": "^6.0.0",
-        "unist-util-stringify-position": "^2.0.0",
-        "vfile-sort": "^2.1.2",
-        "vfile-statistics": "^1.1.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
-        },
-        "emoji-regex": {
-          "version": "8.0.0",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-          "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
-        },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
-        },
-        "string-width": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.1.0.tgz",
-          "integrity": "sha512-NrX+1dVVh+6Y9dnQ19pR0pP4FiEIlUvdTGn8pw6CKTNq5sgib2nIhmUNT5TAmhWmvKr3WcxBcP3E8nWezuipuQ==",
-          "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^5.2.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          }
-        },
-        "unist-util-stringify-position": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.1.tgz",
-          "integrity": "sha512-Zqlf6+FRI39Bah8Q6ZnNGrEHUhwJOkHde2MHVk96lLyftfJJckaPslKgzhVcviXj8KcE9UJM9F+a4JEiBUTYgA==",
-          "requires": {
-            "@types/unist": "^2.0.2"
-          }
-        }
-      }
-    },
-    "vfile-sort": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/vfile-sort/-/vfile-sort-2.2.1.tgz",
-      "integrity": "sha512-5dt7xEhC44h0uRQKhbM2JAe0z/naHphIZlMOygtMBM9Nn0pZdaX5fshhwWit9wvsuP8t/wp43nTDRRErO1WK8g=="
-    },
-    "vfile-statistics": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/vfile-statistics/-/vfile-statistics-1.1.3.tgz",
-      "integrity": "sha512-CstaK/ebTz1W3Qp41Bt9Lj/2DmumFsCwC2sKahDNSPh0mPh7/UyMLCoU8ZBX34CRU0d61B4W41yIFsV0NKMZeA=="
-    },
-    "vinyl": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.0.tgz",
-      "integrity": "sha512-MBH+yP0kC/GQ5GwBqrTPTzEfiiLjta7hTtvQtbxBgTeSXsmKQRQecjibMbxIXzVT3Y9KJK+drOz1/k+vsu8Nkg==",
-      "requires": {
-        "clone": "^2.1.1",
-        "clone-buffer": "^1.0.0",
-        "clone-stats": "^1.0.0",
-        "cloneable-readable": "^1.0.0",
-        "remove-trailing-separator": "^1.0.1",
-        "replace-ext": "^1.0.0"
-      }
-    },
-    "vinyl-fs": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz",
-      "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==",
-      "requires": {
-        "fs-mkdirp-stream": "^1.0.0",
-        "glob-stream": "^6.1.0",
-        "graceful-fs": "^4.0.0",
-        "is-valid-glob": "^1.0.0",
-        "lazystream": "^1.0.0",
-        "lead": "^1.0.0",
-        "object.assign": "^4.0.4",
-        "pumpify": "^1.3.5",
-        "readable-stream": "^2.3.3",
-        "remove-bom-buffer": "^3.0.0",
-        "remove-bom-stream": "^1.2.0",
-        "resolve-options": "^1.1.0",
-        "through2": "^2.0.0",
-        "to-through": "^2.0.0",
-        "value-or-function": "^3.0.0",
-        "vinyl": "^2.0.0",
-        "vinyl-sourcemap": "^1.1.0"
-      }
-    },
-    "vinyl-sourcemap": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz",
-      "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=",
-      "requires": {
-        "append-buffer": "^1.0.2",
-        "convert-source-map": "^1.5.0",
-        "graceful-fs": "^4.1.6",
-        "normalize-path": "^2.1.1",
-        "now-and-later": "^2.0.0",
-        "remove-bom-buffer": "^3.0.0",
-        "vinyl": "^2.0.0"
-      }
-    },
     "viz.js": {
       "version": "1.8.2",
       "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-1.8.2.tgz",
@@ -21522,15 +19114,6 @@
       "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
       "dev": true
     },
-    "vue-template-compiler": {
-      "version": "2.6.10",
-      "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz",
-      "integrity": "sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==",
-      "requires": {
-        "de-indent": "^1.0.2",
-        "he": "^1.1.0"
-      }
-    },
     "watchpack": {
       "version": "1.6.0",
       "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
@@ -21555,7 +19138,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
       "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
-      "dev": true,
       "requires": {
         "defaults": "^1.0.3"
       }
@@ -22030,6 +19612,7 @@
       "version": "0.7.3",
       "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz",
       "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==",
+      "dev": true,
       "requires": {
         "http-parser-js": ">=0.4.0 <0.4.11",
         "safe-buffer": ">=5.1.0",
@@ -22039,7 +19622,8 @@
     "websocket-extensions": {
       "version": "0.1.3",
       "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
-      "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg=="
+      "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
+      "dev": true
     },
     "when": {
       "version": "3.6.4",
@@ -22058,7 +19642,8 @@
     "which-module": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
-      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="
+      "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
+      "dev": true
     },
     "widest-line": {
       "version": "2.0.1",
@@ -22207,6 +19792,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
       "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
+      "dev": true,
       "requires": {
         "string-width": "^1.0.1",
         "strip-ansi": "^3.0.1"
@@ -22216,6 +19802,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
           "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+          "dev": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -22224,6 +19811,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
           "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+          "dev": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -22259,11 +19847,6 @@
         "ultron": "~1.1.0"
       }
     },
-    "x-is-string": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/x-is-string/-/x-is-string-0.1.0.tgz",
-      "integrity": "sha1-R0tQhlrzpJqcRlfwWs0UVFj3fYI="
-    },
     "xdg-basedir": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz",
diff --git a/package.json b/package.json
index 09c424fe7..2047c6dbd 100644
--- a/package.json
+++ b/package.json
@@ -62,8 +62,8 @@
     "jalhyd": "file:../jalhyd",
     "material-design-icons": "^3.0.1",
     "mathjax": "^2.7.7",
-    "mermaid": "^8.2.5",
     "ngx-konami": "^1.7.1",
+    "mermaid": "^8.3.1",
     "ngx-markdown": "^9.0.0",
     "ngx-material-file-input": "^2.1.0",
     "ngx-matomo": "^0.1.4",
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 8509d10d6..9f73b89bf 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -29,7 +29,7 @@ import { MaterialFileInputModule } from "ngx-material-file-input";
 import { DragDropModule } from "@angular/cdk/drag-drop";
 
 import { TableModule } from "primeng/table";
-import { KonamiModule } from "ngx-konami";
+/* import { KonamiModule } from "ngx-konami"; */
 import { MarkdownModule, MarkedOptions } from "ngx-markdown";
 
 import { FlexLayoutModule } from "@angular/flex-layout";
@@ -173,7 +173,7 @@ const appRoutes: Routes = [
     ),
     StorageServiceModule,
     TableModule,
-    KonamiModule
+    // KonamiModule
   ],
   declarations: [ // composants, pipes et directives
     AppComponent,
diff --git a/src/app/calculators/par/config.json b/src/app/calculators/par/config.json
new file mode 100644
index 000000000..21944de32
--- /dev/null
+++ b/src/app/calculators/par/config.json
@@ -0,0 +1,41 @@
+[
+    {
+        "id": "fs_param_hydro",
+        "type": "fieldset",
+        "fields": [
+            "Q",
+            "Z1",
+            {
+                "id": "Z2",
+                "allowEmpty": true
+            }
+        ]
+    },
+    {
+        "id": "fs_geometry",
+        "type": "fieldset",
+        "fields": [
+            {
+                "type": "select",
+                "id": "select_par_type",
+                "property": "parType",
+                "default": "PLANE"
+            },
+            "ZD1",
+            "S",
+            {
+                "id": "P",
+                "allowEmpty": true
+            },
+            "L",
+            "a",
+            "N",
+            "M"
+        ]
+    },
+    {
+        "type": "options",
+        "selectIds": [ "select_par_type" ],
+        "help": "par/par.html"
+    }
+]
diff --git a/src/app/calculators/par/en.json b/src/app/calculators/par/en.json
new file mode 100644
index 000000000..112496a3e
--- /dev/null
+++ b/src/app/calculators/par/en.json
@@ -0,0 +1,68 @@
+{
+    "fs_param_hydro": "Hydraulic parameters",
+
+    "Q": "Flow",
+    "Z1": "Upstream water elevation",
+    "Z2": "Downstream water elevation",
+
+    "fs_geometry": "Pass geometry",
+
+    "ZD1": "Upstream spilling elevation",
+    "S": "Slope",
+    "P": "Space between baffles",
+    "L": "Pass width",
+    "a": "Baffle / chevron height",
+    "N": "Number of patterns",
+    "M": "Number of longitudinal strips",
+
+    "h": "Water level in the pass",
+    "ha": "Upstream head",
+    "qStar": "Dimensionless flow",
+    "V": "Flow velocity",
+    "Nb": "Number of baffles",
+    "ZR1": "Upstream apron elevation",
+    "ZD2": "Downstream spilling elevation",
+    "ZR2": "Downstream apron elevation",
+    "ZM": "Minimal rake height of upstream side walls",
+    "LPI": "Pass length following the slope",
+    "LPH": "Pass length in horizontal projection",
+    "A": "A",
+    "B": "B",
+    "C": "C",
+    "D": "D",
+    "H": "Baffle height",
+    "Hmin": "Hmin",
+    "Hmax": "Hmax",
+
+    "select_par_type": "Type de passe",
+    "select_par_type_0": "Plane baffles",
+    "select_par_type_1": "Fatou",
+    "select_par_type_2": "Superactive",
+    "select_par_type_3": "Mixed / chevrons",
+
+    "UNIT_ZD1": "m",
+    "UNIT_S": "m/m",
+    "UNIT_P": "m",
+	"UNIT_L": "m",
+    "UNIT_a": "m",
+	"UNIT_N": "",
+    "UNIT_M": "",
+ 
+    "UNIT_H": "m",
+    "UNIT_HA": "m",
+    "UNIT_QSTAR": "m³/s",
+    "UNIT_V": "m/s",
+    "UNIT_ZM": "m",
+    "UNIT_ZR1": "m",
+    "UNIT_A": "m",
+    "UNIT_B": "m",
+    "UNIT_C": "m",
+    "UNIT_D": "m",
+    "UNIT_HMIN": "m",
+    "UNIT_HMAX": "m",
+    "UNIT_NB": "",
+    "UNIT_ZD2": "m",
+    "UNIT_ZR2": "m",
+    "UNIT_LPI": "m",
+    "UNIT_LPH": "m"
+}
\ No newline at end of file
diff --git a/src/app/calculators/par/fr.json b/src/app/calculators/par/fr.json
new file mode 100644
index 000000000..25946d0b2
--- /dev/null
+++ b/src/app/calculators/par/fr.json
@@ -0,0 +1,68 @@
+{
+    "fs_param_hydro": "Paramètres hydrauliques",
+
+    "Q": "Débit",
+    "Z1": "Cote de l'eau amont",
+    "Z2": "Cote de leau aval",
+
+    "fs_geometry": "Géométrie de la passe",
+
+    "ZD1": "Cote de déversement à l'amont",
+    "S": "Pente",
+    "P": "Espacement entre les ralentisseurs",
+    "L": "Largeur de la passe",
+    "a": "Hauteur des ralentisseurs / des chevrons",
+    "N": "Nombre de motifs",
+    "M": "Nombre de bandes longitudinales",
+
+    "h": "Hauteur d'eau dans la passe",
+    "ha": "Charge amont",
+    "qStar": "Débit adimensionnel",
+    "V": "Vitese débitante",
+    "Nb": "Nombre de ralentisseurs",
+    "ZR1": "Cote de radier à l'amont",
+    "ZD2": "Cote de déversement à l'aval",
+    "ZR2": "Cote de radier à l'aval",
+    "ZM": "Cote d'arase minimale des murs latéraux à l'amont",
+    "LPI": "Longueur de la passe en suivant la pente",
+    "LPH": "Longueur de la passe en projection horizontale",
+    "A": "A",
+    "B": "B",
+    "C": "C",
+    "D": "D",
+    "H": "Hauteur d'un ralentisseur",
+    "Hmin": "Hmin",
+    "Hmax": "Hmax",
+
+    "select_par_type": "Type de passe",
+    "select_par_type_0": "Ralentisseurs plans",
+    "select_par_type_1": "Fatou",
+    "select_par_type_2": "Ralentisseurs suractifs",
+    "select_par_type_3": "Mixte / chevrons",
+
+    "UNIT_ZD1": "m",
+    "UNIT_S": "m/m",
+    "UNIT_P": "m",
+	"UNIT_L": "m",
+    "UNIT_a": "m",
+	"UNIT_N": "",
+    "UNIT_M": "",
+ 
+    "UNIT_H": "m",
+    "UNIT_HA": "m",
+    "UNIT_QSTAR": "m³/s",
+    "UNIT_V": "m/s",
+    "UNIT_ZM": "m",
+    "UNIT_ZR1": "m",
+    "UNIT_A": "m",
+    "UNIT_B": "m",
+    "UNIT_C": "m",
+    "UNIT_D": "m",
+    "UNIT_HMIN": "m",
+    "UNIT_HMAX": "m",
+    "UNIT_NB": "",
+    "UNIT_ZD2": "m",
+    "UNIT_ZR2": "m",
+    "UNIT_LPI": "m",
+    "UNIT_LPH": "m"
+}
\ No newline at end of file
diff --git a/src/app/config.json b/src/app/config.json
index b16755e70..5b52889a2 100644
--- a/src/app/config.json
+++ b/src/app/config.json
@@ -17,6 +17,14 @@
             },
             "calculators": [ 12, 13, 6, 5, 10, 15 ]
         },
+        {
+            "name": "PASSE_A_RALENTISSEURS",
+            "image": {
+                "path": "passe-ralentisseurs.jpg",
+                "credits": "????"
+            },
+            "calculators": [ 28 ]
+        },
         {
             "name": "PASSE_NATURELLE",
             "image": {
diff --git a/src/assets/images/themes/passe-ralentisseurs.jpg b/src/assets/images/themes/passe-ralentisseurs.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..e6170a36d986651d72620fcd2a7e152fe733f1d9
GIT binary patch
literal 49927
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
Nw@<T=#RC7W{ttTfO1=O9

literal 0
HcmV?d00001

diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 92a3ba1fe..65e40abcb 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -32,6 +32,7 @@
     "ERROR_PAB_CALC_Z1_CLOISON": "Error in calculating the upstream water elevation of a wall",
     "ERROR_PAB_Z1_LOWER_THAN_Z2": "Upstream water elevation should be higher than downstream water elevation",
     "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "Upstream water elevation is too low for water to flow through the first wall",
+    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_PCT": "P value deviates by more than 10% from standard value %stdP%",
     "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value",
     "ERROR_PARAM_MUST_BE_AT_LEAST": "Value must be >= %s",
     "ERROR_PARAM_MUST_BE_POSITIVE": "Please type a positive numeric value",
@@ -378,6 +379,8 @@
     "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power",
     "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures",
     "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures",
+    "INFO_PAR_TITRE": "Humpback fishway: setup",
+    "INFO_PAR_TITRE_COURT": "HF: setup",
     "INFO_PARAMFIELD_AWAITING_CALCULATION": "Awaiting calculation",
     "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Boundary conditions",
     "INFO_PARAMFIELD_CALCULATED": "Calculated",
@@ -476,6 +479,8 @@
     "INFO_THEME_OUTILS_MATHEMATIQUES_DESCRIPTION": "Miscellaneous generic mathematical tools",
     "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "Tools for sizing a fish pass made with pools also called fish steps",
     "INFO_THEME_PASSE_A_BASSIN_TITRE": "Fish ladder",
+    "INFO_THEME_PASSE_A_RALENTISSEURS_TITRE": "Humpback fishway",
+    "INFO_THEME_PASSE_A_RALENTISSEURS_DESCRIPTION": "Humpback fishway",
     "INFO_THEME_PASSE_NATURELLE_DESCRIPTION": "Tools for sizing a natural fish pass also called macroroughness pass or rock-ramp fish pass",
     "INFO_THEME_PASSE_NATURELLE_TITRE": "Natural pass",
     "INFO_TITREJOURNAL": "Calculation log",
@@ -490,6 +495,7 @@
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length",
     "INFO_EXAMPLES_TITLE": "Examples",
     "INFO_EXAMPLES_SUBTITLE": "Load standard examples",
+    "INFO_PAR_P_WAS_IGNORED": "Given P value was ignored",
     "INFO_YAXB_TITRE": "Linear function",
     "INFO_YAXB_TITRE_COURT": "Linear f.",
     "INFO_TRIGO_TITRE": "Trigonometric function",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 27088491c..63ba40050 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -32,6 +32,7 @@
     "ERROR_PAB_CALC_Z1_CLOISON": "Erreur de calcul de la cote de l'eau amont d'une cloison",
     "ERROR_PAB_Z1_LOWER_THAN_Z2": "La cote de l'eau amont doit être supérieure à la cote de l'eau aval",
     "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "La cote de l'eau amont est trop basse pour que l'eau s'écoule à travers la première cloison",
+    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_PCT": "La valeur de P s'écarte de plus de 10% de la valeur standard %stdP%",
     "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique",
     "ERROR_PARAM_MUST_BE_AT_LEAST": "La valeur doit être >= %s",
     "ERROR_PARAM_MUST_BE_POSITIVE": "Veuillez entrer une valeur numérique positive",
@@ -377,6 +378,8 @@
     "INFO_PABPUISSANCE_TITRE": "Passe à bassins&nbsp;: puissance dissipée",
     "INFO_PARALLELSTRUCTURE_TITRE_COURT": "Ouvrages",
     "INFO_PARALLELSTRUCTURE_TITRE": "Lois d'ouvrages",
+    "INFO_PAR_TITRE": "Passe à ralentisseurs&nbsp;: calage",
+    "INFO_PAR_TITRE_COURT": "PAR&nbsp;: calage",
     "INFO_PARAMFIELD_AWAITING_CALCULATION": "En attente de calcul",
     "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Conditions aux limites",
     "INFO_PARAMFIELD_CALCULATED": "Calculé",
@@ -475,6 +478,8 @@
     "INFO_THEME_OUTILS_MATHEMATIQUES_DESCRIPTION": "Divers outils mathématiques génériques",
     "INFO_THEME_PASSE_A_BASSIN_DESCRIPTION": "Outils de dimensionnement d'une passe à poissons de type passe à bassins ou encore appelée échelle à poisson",
     "INFO_THEME_PASSE_A_BASSIN_TITRE": "Passe à bassins",
+    "INFO_THEME_PASSE_A_RALENTISSEURS_TITRE": "Passe à ralentisseurs",
+    "INFO_THEME_PASSE_A_RALENTISSEURS_DESCRIPTION": "Passe à ralentisseurs",
     "INFO_THEME_PASSE_NATURELLE_DESCRIPTION": "Outils de dimensionnement d'une passe à poissons de type passe naturelle ou encore appelée passe à macro-rugosités",
     "INFO_THEME_PASSE_NATURELLE_TITRE": "Passe naturelle",
     "INFO_TITREJOURNAL": "Journal de calcul",
@@ -489,6 +494,7 @@
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir",
     "INFO_EXAMPLES_TITLE": "Exemples",
     "INFO_EXAMPLES_SUBTITLE": "Charger des exemples types",
+    "INFO_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée",
     "INFO_YAXB_TITRE": "Fonction affine",
     "INFO_YAXB_TITRE_COURT": "F. affine",
     "INFO_TRIGO_TITRE": "Fonction trigonométrique",
-- 
GitLab


From 72825dd9850031fa9488a6036683f68f85f9ee99 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Wed, 4 Mar 2020 14:39:21 +0100
Subject: [PATCH 002/117] Irstea => Inrae

---
 electron-builder.yml | 2 +-
 package.json         | 2 +-
 src/app/config.json  | 6 +++---
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/electron-builder.yml b/electron-builder.yml
index b74f49dd2..74a71839f 100644
--- a/electron-builder.yml
+++ b/electron-builder.yml
@@ -33,7 +33,7 @@ linux:
   icon: dist
 
 deb:
-  maintainer: irstea
+  maintainer: Inrae
 
 mac:
   target: zip
diff --git a/package.json b/package.json
index 2047c6dbd..940e75916 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "fr.irstea.cassiopee",
   "displayName": "Cassiopée",
   "description": "Hydraulic calculators",
-  "author": "Irstea",
+  "author": "Inrae",
   "version": "4.10.4",
   "main": "main.js",
   "homepage": "https://cassiopee.g-eau.fr",
diff --git a/src/app/config.json b/src/app/config.json
index 5b52889a2..15b90c3af 100644
--- a/src/app/config.json
+++ b/src/app/config.json
@@ -45,7 +45,7 @@
             "name": "HYDRAULIQUE_A_SURFACE_LIBRE",
             "image": {
                 "path": "surface-libre.jpg",
-                "credits": "David Dorchies / Irstea"
+                "credits": "David Dorchies / Inrae"
             },
             "calculators": [ 2, 3, 4, 20, 21 ]
         },
@@ -53,7 +53,7 @@
             "name": "HYDRAULIQUE_EN_CHARGE",
             "image": {
                 "path": "en-charge.jpg",
-                "credits": "Catherine Tailleux / Irstea"
+                "credits": "Catherine Tailleux / Inrae"
             },
             "calculators": [ 1, 0 ]
         },
@@ -61,7 +61,7 @@
             "name": "LOIS_D_OUVRAGES",
             "image": {
                 "path": "ouvrages.jpg",
-                "credits": "David Dorchies / Irstea"
+                "credits": "David Dorchies / Inrae"
             },
             "calculators": [ 8, 9, 10 ]
         },
-- 
GitLab


From e51ff5d5b78dd25a582a9c37322df761c3a1a07b Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 5 Mar 2020 10:08:53 +0100
Subject: [PATCH 003/117] Update dependencies

---
 package-lock.json     | 4138 +++++++++++++++++++++++++++--------------
 package.json          |    2 +-
 src/app/app.module.ts |    4 +-
 3 files changed, 2757 insertions(+), 1387 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index fdbada216..c20e1d0d7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,6 +24,7 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -99,42 +100,6 @@
         "worker-plugin": "3.2.0"
       },
       "dependencies": {
-        "@babel/core": {
-          "version": "7.7.7",
-          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz",
-          "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.5.5",
-            "@babel/generator": "^7.7.7",
-            "@babel/helpers": "^7.7.4",
-            "@babel/parser": "^7.7.7",
-            "@babel/template": "^7.7.4",
-            "@babel/traverse": "^7.7.4",
-            "@babel/types": "^7.7.4",
-            "convert-source-map": "^1.7.0",
-            "debug": "^4.1.0",
-            "json5": "^2.1.0",
-            "lodash": "^4.17.13",
-            "resolve": "^1.3.2",
-            "semver": "^5.4.1",
-            "source-map": "^0.5.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "5.7.1",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
-            },
-            "source-map": {
-              "version": "0.5.7",
-              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-              "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-              "dev": true
-            }
-          }
-        },
         "@babel/generator": {
           "version": "7.7.7",
           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz",
@@ -259,109 +224,100 @@
           "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==",
           "dev": true,
           "requires": {
-            "@babel/helper-module-imports": "^7.8.3",
-            "@babel/helper-replace-supers": "^7.8.6",
-            "@babel/helper-simple-access": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/template": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "lodash": "^4.17.13"
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
           }
         },
-        "@babel/helper-optimise-call-expression": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
-          "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+        "ajv": {
+          "version": "6.10.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
+          "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
           "dev": true,
           "requires": {
-            "@babel/types": "^7.8.3"
+            "fast-deep-equal": "^2.0.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
           }
         },
-        "@babel/helper-regex": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
-          "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+        "chokidar": {
+          "version": "2.1.8",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
           "dev": true,
           "requires": {
-            "lodash": "^4.17.13"
+            "anymatch": "^2.0.0",
+            "async-each": "^1.0.1",
+            "braces": "^2.3.2",
+            "fsevents": "^1.2.7",
+            "glob-parent": "^3.1.0",
+            "inherits": "^2.0.3",
+            "is-binary-path": "^1.0.0",
+            "is-glob": "^4.0.0",
+            "normalize-path": "^3.0.0",
+            "path-is-absolute": "^1.0.0",
+            "readdirp": "^2.2.1",
+            "upath": "^1.1.1"
           }
         },
-        "@babel/helper-remap-async-to-generator": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
-          "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
-            "@babel/helper-annotate-as-pure": "^7.8.3",
-            "@babel/helper-wrap-function": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/traverse": "^7.8.3",
-            "@babel/types": "^7.8.3"
+            "ms": "^2.1.1"
           }
         },
-        "@babel/helper-replace-supers": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz",
-          "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==",
+        "glob": {
+          "version": "7.1.5",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz",
+          "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==",
           "dev": true,
           "requires": {
-            "@babel/helper-member-expression-to-functions": "^7.8.3",
-            "@babel/helper-optimise-call-expression": "^7.8.3",
-            "@babel/traverse": "^7.8.6",
-            "@babel/types": "^7.8.6"
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
           }
         },
-        "@babel/helper-simple-access": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
-          "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
-          "dev": true,
-          "requires": {
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
+        "normalize-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+          "dev": true
         },
-        "@babel/helper-wrap-function": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
-          "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/traverse": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
+        "regenerator-runtime": {
+          "version": "0.13.3",
+          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
+          "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
+          "dev": true
         },
-        "@babel/helpers": {
-          "version": "7.8.4",
-          "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz",
-          "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==",
+        "rimraf": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
+          "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
           "dev": true,
           "requires": {
-            "@babel/template": "^7.8.3",
-            "@babel/traverse": "^7.8.4",
-            "@babel/types": "^7.8.3"
+            "glob": "^7.1.3"
           }
         },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+        "rxjs": {
+          "version": "6.5.3",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
+          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
           "dev": true,
           "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
+            "tslib": "^1.9.0"
           }
         },
         "@babel/parser": {
@@ -370,570 +326,619 @@
           "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
           "dev": true
         },
-        "@babel/plugin-proposal-async-generator-functions": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz",
-          "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==",
+        "source-map-support": {
+          "version": "0.5.16",
+          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
+          "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/helper-remap-async-to-generator": "^7.8.3",
-            "@babel/plugin-syntax-async-generators": "^7.8.0"
+            "buffer-from": "^1.0.0",
+            "source-map": "^0.6.0"
           },
           "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+            "source-map": {
+              "version": "0.6.1",
+              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
               "dev": true
             }
           }
         },
-        "@babel/plugin-proposal-dynamic-import": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz",
-          "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==",
+        "terser": {
+          "version": "4.5.1",
+          "resolved": "https://registry.npmjs.org/terser/-/terser-4.5.1.tgz",
+          "integrity": "sha512-lH9zLIbX8PRBEFCTvfHGCy0s9HEKnNso1Dx9swSopF3VUnFLB8DpQ61tHxoofovNC/sG0spajJM3EIIRSTByiQ==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/plugin-syntax-dynamic-import": "^7.8.0"
+            "commander": "^2.20.0",
+            "source-map": "~0.6.1",
+            "source-map-support": "~0.5.12"
           },
           "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+            "source-map": {
+              "version": "0.6.1",
+              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
               "dev": true
             }
           }
         },
-        "@babel/plugin-proposal-json-strings": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz",
-          "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/plugin-syntax-json-strings": "^7.8.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
-          }
+        "upath": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+          "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+          "dev": true
         },
-        "@babel/plugin-proposal-object-rest-spread": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz",
-          "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==",
+        "webpack-dev-server": {
+          "version": "3.9.0",
+          "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz",
+          "integrity": "sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/plugin-syntax-object-rest-spread": "^7.8.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "ansi-html": "0.0.7",
+            "bonjour": "^3.5.0",
+            "chokidar": "^2.1.8",
+            "compression": "^1.7.4",
+            "connect-history-api-fallback": "^1.6.0",
+            "debug": "^4.1.1",
+            "del": "^4.1.1",
+            "express": "^4.17.1",
+            "html-entities": "^1.2.1",
+            "http-proxy-middleware": "0.19.1",
+            "import-local": "^2.0.0",
+            "internal-ip": "^4.3.0",
+            "ip": "^1.1.5",
+            "is-absolute-url": "^3.0.3",
+            "killable": "^1.0.1",
+            "loglevel": "^1.6.4",
+            "opn": "^5.5.0",
+            "p-retry": "^3.0.1",
+            "portfinder": "^1.0.25",
+            "schema-utils": "^1.0.0",
+            "selfsigned": "^1.10.7",
+            "semver": "^6.3.0",
+            "serve-index": "^1.9.1",
+            "sockjs": "0.3.19",
+            "sockjs-client": "1.4.0",
+            "spdy": "^4.0.1",
+            "strip-ansi": "^3.0.1",
+            "supports-color": "^6.1.0",
+            "url": "^0.11.0",
+            "webpack-dev-middleware": "^3.7.2",
+            "webpack-log": "^2.0.0",
+            "ws": "^6.2.1",
+            "yargs": "12.0.5"
           }
         },
-        "@babel/plugin-proposal-optional-catch-binding": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
-          "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
+        "ws": {
+          "version": "6.2.1",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
+          "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
-          }
-        },
-        "@babel/plugin-proposal-unicode-property-regex": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz",
-          "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-create-regexp-features-plugin": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "async-limiter": "~1.0.0"
           }
+        }
+      }
+    },
+    "@angular-devkit/build-optimizer": {
+      "version": "0.900.5",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.5.tgz",
+      "integrity": "sha512-BdmvD58DnAAf6/o/fRzU2l+2g4IwuIJf8x/rd9AGWd7fHrcwgJDhB9rYetB7JqYR8uOWk+AFElDpvNOj8YUy0w==",
+      "dev": true,
+      "requires": {
+        "loader-utils": "1.2.3",
+        "source-map": "0.7.3",
+        "tslib": "1.10.0",
+        "typescript": "3.6.4",
+        "webpack-sources": "1.4.3"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.10.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
+          "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+          "dev": true
         },
-        "@babel/plugin-syntax-async-generators": {
-          "version": "7.8.4",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
-          "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+        "typescript": {
+          "version": "3.6.4",
+          "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz",
+          "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==",
+          "dev": true
+        }
+      }
+    },
+    "@angular-devkit/build-webpack": {
+      "version": "0.900.5",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.5.tgz",
+      "integrity": "sha512-4fYZNg8X73wTjlXV37m0BRVMa27GSwhAupgv5cb9Q3Vys9sYxEUL+GJetXDxypA5YbMj5xX/xqyU9TPtvXhgRg==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/architect": "0.900.5",
+        "@angular-devkit/core": "9.0.5",
+        "rxjs": "6.5.3"
+      },
+      "dependencies": {
+        "rxjs": {
+          "version": "6.5.3",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
+          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "tslib": "^1.9.0"
           }
-        },
-        "@babel/plugin-syntax-dynamic-import": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
-          "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+        }
+      }
+    },
+    "@angular-devkit/core": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.5.tgz",
+      "integrity": "sha512-9TPQPzfSRbV5wVEnfo1d1CS+oVXROfE7VnBRuRMilFnNhuc29wX3zvBQRTreDVyxJetLBEb9sRlcKYGaJzpKPw==",
+      "dev": true,
+      "requires": {
+        "ajv": "6.10.2",
+        "fast-json-stable-stringify": "2.0.0",
+        "magic-string": "0.25.4",
+        "rxjs": "6.5.3",
+        "source-map": "0.7.3"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "6.10.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
+          "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "fast-deep-equal": "^2.0.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
           }
         },
-        "@babel/plugin-syntax-json-strings": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
-          "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+        "rxjs": {
+          "version": "6.5.3",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
+          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "tslib": "^1.9.0"
           }
-        },
-        "@babel/plugin-syntax-object-rest-spread": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
-          "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+        }
+      }
+    },
+    "@angular-devkit/schematics": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.5.tgz",
+      "integrity": "sha512-PbOYoy4YyEbR6f1jO18Rt3fJuyaaTJ3bFmws5qWGGNK2yZiP/hnSaM3VffOwoL4sgyKkI2FNKSPiQZgTl8b0Tg==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/core": "9.0.5",
+        "ora": "4.0.2",
+        "rxjs": "6.5.3"
+      },
+      "dependencies": {
+        "rxjs": {
+          "version": "6.5.3",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
+          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "tslib": "^1.9.0"
           }
+        }
+      }
+    },
+    "@angular/animations": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.5.tgz",
+      "integrity": "sha512-WGs4Jxw5sr8GCpxMcwEVuZnDIkdNp9qtmuI2j13v/XAaMjvJ7jssCj9+JG5uI8joCi7PFVAWokPT1DdPwWb13Q=="
+    },
+    "@angular/cdk": {
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.1.tgz",
+      "integrity": "sha512-yzssAqbllGYgX+WeSYLjmEWtXVG5UPZwA0+dPlh+g85nG7b70DVRVYBi8PJySydsfPX/JMherFUU9h0QOWhhZw==",
+      "requires": {
+        "parse5": "^5.0.0"
+      },
+      "dependencies": {
+        "parse5": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
+          "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
+          "optional": true
+        }
+      }
+    },
+    "@angular/cli": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.5.tgz",
+      "integrity": "sha512-hRGpmIwnm908eW5sA4zrVkCGaIUHYLSNu5koaLulK0jj5Iy+vkieDiBuAkD2uVvG7M59s4s4u+L0DMetIpvZQg==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/architect": "0.900.5",
+        "@angular-devkit/core": "9.0.5",
+        "@angular-devkit/schematics": "9.0.5",
+        "@schematics/angular": "9.0.5",
+        "@schematics/update": "0.900.5",
+        "@yarnpkg/lockfile": "1.1.0",
+        "ansi-colors": "4.1.1",
+        "debug": "^4.1.1",
+        "ini": "1.3.5",
+        "inquirer": "7.0.0",
+        "npm-package-arg": "6.1.1",
+        "npm-pick-manifest": "3.0.2",
+        "open": "7.0.0",
+        "pacote": "9.5.8",
+        "read-package-tree": "5.3.1",
+        "rimraf": "3.0.0",
+        "semver": "6.3.0",
+        "symbol-observable": "1.2.0",
+        "universal-analytics": "^0.4.20",
+        "uuid": "^3.3.2"
+      },
+      "dependencies": {
+        "ansi-colors": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+          "dev": true
         },
-        "@babel/plugin-syntax-optional-catch-binding": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-          "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+        "ansi-escapes": {
+          "version": "4.3.1",
+          "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
+          "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "type-fest": "^0.11.0"
           }
         },
-        "@babel/plugin-transform-arrow-functions": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
-          "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+          "dev": true
+        },
+        "cli-cursor": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+          "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "restore-cursor": "^3.1.0"
           }
         },
-        "@babel/plugin-transform-async-to-generator": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
-          "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
-            "@babel/helper-module-imports": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/helper-remap-async-to-generator": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "ms": "^2.1.1"
           }
         },
-        "@babel/plugin-transform-block-scoped-functions": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
-          "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
+        "figures": {
+          "version": "3.2.0",
+          "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+          "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "escape-string-regexp": "^1.0.5"
           }
         },
-        "@babel/plugin-transform-block-scoping": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
-          "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
+        "inquirer": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz",
+          "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "lodash": "^4.17.13"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "ansi-escapes": "^4.2.1",
+            "chalk": "^2.4.2",
+            "cli-cursor": "^3.1.0",
+            "cli-width": "^2.0.0",
+            "external-editor": "^3.0.3",
+            "figures": "^3.0.0",
+            "lodash": "^4.17.15",
+            "mute-stream": "0.0.8",
+            "run-async": "^2.2.0",
+            "rxjs": "^6.4.0",
+            "string-width": "^4.1.0",
+            "strip-ansi": "^5.1.0",
+            "through": "^2.3.6"
           }
         },
-        "@babel/plugin-transform-classes": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz",
-          "integrity": "sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==",
+        "is-fullwidth-code-point": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+          "dev": true
+        },
+        "lodash": {
+          "version": "4.17.15",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+          "dev": true
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        },
+        "mute-stream": {
+          "version": "0.0.8",
+          "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+          "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+          "dev": true
+        },
+        "npm-package-arg": {
+          "version": "6.1.1",
+          "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz",
+          "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==",
           "dev": true,
           "requires": {
-            "@babel/helper-annotate-as-pure": "^7.8.3",
-            "@babel/helper-define-map": "^7.8.3",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-optimise-call-expression": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/helper-replace-supers": "^7.8.6",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "globals": "^11.1.0"
+            "hosted-git-info": "^2.7.1",
+            "osenv": "^0.1.5",
+            "semver": "^5.6.0",
+            "validate-npm-package-name": "^3.0.0"
           },
           "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+            "semver": {
+              "version": "5.7.1",
+              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
               "dev": true
             }
           }
         },
-        "@babel/plugin-transform-computed-properties": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
-          "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
+        "onetime": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+          "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "mimic-fn": "^2.1.0"
           }
         },
-        "@babel/plugin-transform-destructuring": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz",
-          "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==",
+        "restore-cursor": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+          "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "onetime": "^5.1.0",
+            "signal-exit": "^3.0.2"
           }
         },
-        "@babel/plugin-transform-dotall-regex": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
-          "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
+        "rimraf": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
+          "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
           "dev": true,
           "requires": {
-            "@babel/helper-create-regexp-features-plugin": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "glob": "^7.1.3"
           }
         },
-        "@babel/plugin-transform-duplicate-keys": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz",
-          "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==",
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        },
+        "string-width": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
+            "emoji-regex": "^8.0.0",
+            "is-fullwidth-code-point": "^3.0.0",
+            "strip-ansi": "^6.0.0"
           },
           "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
+            "strip-ansi": {
+              "version": "6.0.0",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+              "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+              "dev": true,
+              "requires": {
+                "ansi-regex": "^5.0.0"
+              }
             }
           }
         },
-        "@babel/plugin-transform-exponentiation-operator": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
-          "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
+        "strip-ansi": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
           "dev": true,
           "requires": {
-            "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3"
+            "ansi-regex": "^4.1.0"
           },
           "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+            "ansi-regex": {
+              "version": "4.1.0",
+              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
               "dev": true
             }
           }
         },
-        "@babel/plugin-transform-for-of": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz",
-          "integrity": "sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==",
+        "type-fest": {
+          "version": "0.11.0",
+          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+          "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+          "dev": true
+        }
+      }
+    },
+    "@angular/common": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.5.tgz",
+      "integrity": "sha512-AwZKYK5M/3762woK+3290JnBdlBvZXqxX5vVze6wk23IiBlwIV+l79+Lyfjo/4s031kibq47taaZdC7qkkBkNA=="
+    },
+    "@angular/compiler": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.5.tgz",
+      "integrity": "sha512-TeyhRGefTOtA9N3udMrvheafoXcz/dvTTdZLcieeZQxm1SSeaQDUQ/rUH6QTOiHVNMtjOCrZ9J5rk1A4mPYuag=="
+    },
+    "@angular/compiler-cli": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.5.tgz",
+      "integrity": "sha512-lFlasm8UBApTq4/MkxnYrRAMfpOvvg3YYBEMibuEGlaJjW/Xd1JcisUuFiooCxCIKF5phyORHmxjywGPhHqQgQ==",
+      "dev": true,
+      "requires": {
+        "canonical-path": "1.0.0",
+        "chokidar": "^3.0.0",
+        "convert-source-map": "^1.5.1",
+        "dependency-graph": "^0.7.2",
+        "fs-extra": "4.0.2",
+        "magic-string": "^0.25.0",
+        "minimist": "^1.2.0",
+        "reflect-metadata": "^0.1.2",
+        "semver": "^6.3.0",
+        "source-map": "^0.6.1",
+        "sourcemap-codec": "^1.4.8",
+        "yargs": "13.1.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "dev": true
+        },
+        "anymatch": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+          "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "normalize-path": "^3.0.0",
+            "picomatch": "^2.0.4"
           }
         },
-        "@babel/plugin-transform-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
-          "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
+        "binary-extensions": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+          "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
+          "dev": true
+        },
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
           "dev": true,
           "requires": {
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "fill-range": "^7.0.1"
           }
         },
-        "@babel/plugin-transform-literals": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
-          "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
+        "chokidar": {
+          "version": "3.3.1",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
+          "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "anymatch": "~3.1.1",
+            "braces": "~3.0.2",
+            "fsevents": "~2.1.2",
+            "glob-parent": "~5.1.0",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.3.0"
           }
         },
-        "@babel/plugin-transform-member-expression-literals": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
-          "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
+        "emoji-regex": {
+          "version": "7.0.3",
+          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+          "dev": true
+        },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "to-regex-range": "^5.0.1"
           }
         },
-        "@babel/plugin-transform-modules-amd": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz",
-          "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==",
+        "fs-extra": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz",
+          "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=",
           "dev": true,
           "requires": {
-            "@babel/helper-module-transforms": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "babel-plugin-dynamic-import-node": "^2.3.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "graceful-fs": "^4.1.2",
+            "jsonfile": "^4.0.0",
+            "universalify": "^0.1.0"
           }
         },
-        "@babel/plugin-transform-modules-commonjs": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz",
-          "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==",
+        "fsevents": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
+          "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
           "dev": true,
-          "requires": {
-            "@babel/helper-module-transforms": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/helper-simple-access": "^7.8.3",
-            "babel-plugin-dynamic-import-node": "^2.3.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
-          }
+          "optional": true
         },
-        "@babel/plugin-transform-modules-systemjs": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz",
-          "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-hoist-variables": "^7.8.3",
-            "@babel/helper-module-transforms": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "babel-plugin-dynamic-import-node": "^2.3.0"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
-          }
+        "get-caller-file": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+          "dev": true
         },
-        "@babel/plugin-transform-modules-umd": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz",
-          "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==",
+        "glob-parent": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+          "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
           "dev": true,
           "requires": {
-            "@babel/helper-module-transforms": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "is-glob": "^4.0.1"
           }
         },
-        "@babel/plugin-transform-named-capturing-groups-regex": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
-          "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
+        "is-binary-path": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+          "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
           "dev": true,
           "requires": {
-            "@babel/helper-create-regexp-features-plugin": "^7.8.3"
+            "binary-extensions": "^2.0.0"
           }
         },
-        "@babel/plugin-transform-new-target": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz",
-          "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==",
+        "is-glob": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+          "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "is-extglob": "^2.1.1"
           }
         },
-        "@babel/plugin-transform-object-super": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
-          "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+          "dev": true
+        },
+        "minimist": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "dev": true
+        },
+        "normalize-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+          "dev": true
+        },
+        "readdirp": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
+          "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/helper-replace-supers": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "picomatch": "^2.0.7"
           }
         },
         "@babel/plugin-transform-parameters": {
@@ -955,21 +960,13 @@
             }
           }
         },
-        "@babel/plugin-transform-property-literals": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
-          "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
+        "strip-ansi": {
+          "version": "5.2.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "ansi-regex": "^4.1.0"
           }
         },
         "@babel/plugin-transform-regenerator": {
@@ -981,194 +978,166 @@
             "regenerator-transform": "^0.14.2"
           }
         },
-        "@babel/plugin-transform-reserved-words": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz",
-          "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==",
+        "yargs": {
+          "version": "13.1.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.1.0.tgz",
+          "integrity": "sha512-1UhJbXfzHiPqkfXNHYhiz79qM/kZqjTE8yGlEjZa85Q+3+OwcV6NRkV7XOV1W2Eom2bzILeUn55pQYffjVOLAg==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "cliui": "^4.0.0",
+            "find-up": "^3.0.0",
+            "get-caller-file": "^2.0.1",
+            "os-locale": "^3.1.0",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^3.0.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^13.0.0"
           }
         },
-        "@babel/plugin-transform-shorthand-properties": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
-          "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
+        "yargs-parser": {
+          "version": "13.1.1",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
+          "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
           }
-        },
-        "@babel/plugin-transform-spread": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
-          "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
+        }
+      }
+    },
+    "@angular/core": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.5.tgz",
+      "integrity": "sha512-7VznrYjaAIzeq/zQ7v6tbeoOI7JJKgChKwG7s8jRoEpENu+w2pRlRdyQul88iJLsXgObR+/TfBNm/K+G4cqAFw=="
+    },
+    "@angular/flex-layout": {
+      "version": "9.0.0-beta.29",
+      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.29.tgz",
+      "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA=="
+    },
+    "@angular/forms": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.5.tgz",
+      "integrity": "sha512-579PXAfT92J4mghjWKiZ3Zj3xee4h3RP70YHSlsfbi94MONvryWDrnXxvUZ0zJJCVnEJQ7x+nGEp3wwWqR12Jw=="
+    },
+    "@angular/language-service": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.5.tgz",
+      "integrity": "sha512-9ykFNYZpWdoggFPK3LuTJobBZjoCEQP6kKt88ZZV7GTMIXoE7iY413KfhINoXdMwxIAbba0xlPMR/4p6jFAa4Q==",
+      "dev": true
+    },
+    "@angular/material": {
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.1.tgz",
+      "integrity": "sha512-XtfVTTzvLvw90g1sG8mV0kzkfnp2g7I/kUgwng7Zv3NG1Tzt/wEXVe6ovI45B/8qpN6i/7f2aCl7Gz4KTldAyA=="
+    },
+    "@angular/platform-browser": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.5.tgz",
+      "integrity": "sha512-24QGcQXthYXB/wT8okJjxqss/JOk4A6O1/Fmva79k0AvwtYkl2tikcyEc5T3xZtjoi8g32AN9nbZAobtkxlqTA=="
+    },
+    "@angular/platform-browser-dynamic": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.5.tgz",
+      "integrity": "sha512-NRfsAwbgxOvEcpqlERDAG0wap5xJa0wKwnudTCnyvf4B0D6kLkT1Idjqv22NDW5rfM2oDWaZ/qpgpDnAo6/ZBQ=="
+    },
+    "@angular/router": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.5.tgz",
+      "integrity": "sha512-Sz3DQUxlzAk9aZ9eVtZRh6xF5SMg/Gb3rc5I7dL1M+mycSNoFJ4HPTXleZkKM69mMkKQ5fEtza4x26MSlF+O9w=="
+    },
+    "@babel/code-frame": {
+      "version": "7.5.5",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
+      "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+      "dev": true,
+      "requires": {
+        "@babel/highlight": "^7.0.0"
+      }
+    },
+    "@babel/core": {
+      "version": "7.7.7",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz",
+      "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.5.5",
+        "@babel/generator": "^7.7.7",
+        "@babel/helpers": "^7.7.4",
+        "@babel/parser": "^7.7.7",
+        "@babel/template": "^7.7.4",
+        "@babel/traverse": "^7.7.4",
+        "@babel/types": "^7.7.4",
+        "convert-source-map": "^1.7.0",
+        "debug": "^4.1.0",
+        "json5": "^2.1.0",
+        "lodash": "^4.17.13",
+        "resolve": "^1.3.2",
+        "semver": "^5.4.1",
+        "source-map": "^0.5.0"
+      },
+      "dependencies": {
+        "@babel/generator": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
+          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "@babel/types": "^7.8.7",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13",
+            "source-map": "^0.5.0"
           }
         },
-        "@babel/plugin-transform-sticky-regex": {
+        "@babel/helper-function-name": {
           "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
-          "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
           "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3",
-            "@babel/helper-regex": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
           }
         },
-        "@babel/plugin-transform-template-literals": {
+        "@babel/helper-get-function-arity": {
           "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
-          "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
           "dev": true,
           "requires": {
-            "@babel/helper-annotate-as-pure": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "@babel/types": "^7.8.3"
           }
         },
-        "@babel/plugin-transform-typeof-symbol": {
-          "version": "7.8.4",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz",
-          "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
-          "dev": true,
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
           "requires": {
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "@babel/types": "^7.8.3"
           }
         },
-        "@babel/plugin-transform-unicode-regex": {
+        "@babel/highlight": {
           "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
-          "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
           "dev": true,
           "requires": {
-            "@babel/helper-create-regexp-features-plugin": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
           }
         },
-        "@babel/preset-env": {
-          "version": "7.7.7",
-          "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz",
-          "integrity": "sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-module-imports": "^7.7.4",
-            "@babel/helper-plugin-utils": "^7.0.0",
-            "@babel/plugin-proposal-async-generator-functions": "^7.7.4",
-            "@babel/plugin-proposal-dynamic-import": "^7.7.4",
-            "@babel/plugin-proposal-json-strings": "^7.7.4",
-            "@babel/plugin-proposal-object-rest-spread": "^7.7.7",
-            "@babel/plugin-proposal-optional-catch-binding": "^7.7.4",
-            "@babel/plugin-proposal-unicode-property-regex": "^7.7.7",
-            "@babel/plugin-syntax-async-generators": "^7.7.4",
-            "@babel/plugin-syntax-dynamic-import": "^7.7.4",
-            "@babel/plugin-syntax-json-strings": "^7.7.4",
-            "@babel/plugin-syntax-object-rest-spread": "^7.7.4",
-            "@babel/plugin-syntax-optional-catch-binding": "^7.7.4",
-            "@babel/plugin-syntax-top-level-await": "^7.7.4",
-            "@babel/plugin-transform-arrow-functions": "^7.7.4",
-            "@babel/plugin-transform-async-to-generator": "^7.7.4",
-            "@babel/plugin-transform-block-scoped-functions": "^7.7.4",
-            "@babel/plugin-transform-block-scoping": "^7.7.4",
-            "@babel/plugin-transform-classes": "^7.7.4",
-            "@babel/plugin-transform-computed-properties": "^7.7.4",
-            "@babel/plugin-transform-destructuring": "^7.7.4",
-            "@babel/plugin-transform-dotall-regex": "^7.7.7",
-            "@babel/plugin-transform-duplicate-keys": "^7.7.4",
-            "@babel/plugin-transform-exponentiation-operator": "^7.7.4",
-            "@babel/plugin-transform-for-of": "^7.7.4",
-            "@babel/plugin-transform-function-name": "^7.7.4",
-            "@babel/plugin-transform-literals": "^7.7.4",
-            "@babel/plugin-transform-member-expression-literals": "^7.7.4",
-            "@babel/plugin-transform-modules-amd": "^7.7.5",
-            "@babel/plugin-transform-modules-commonjs": "^7.7.5",
-            "@babel/plugin-transform-modules-systemjs": "^7.7.4",
-            "@babel/plugin-transform-modules-umd": "^7.7.4",
-            "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4",
-            "@babel/plugin-transform-new-target": "^7.7.4",
-            "@babel/plugin-transform-object-super": "^7.7.4",
-            "@babel/plugin-transform-parameters": "^7.7.7",
-            "@babel/plugin-transform-property-literals": "^7.7.4",
-            "@babel/plugin-transform-regenerator": "^7.7.5",
-            "@babel/plugin-transform-reserved-words": "^7.7.4",
-            "@babel/plugin-transform-shorthand-properties": "^7.7.4",
-            "@babel/plugin-transform-spread": "^7.7.4",
-            "@babel/plugin-transform-sticky-regex": "^7.7.4",
-            "@babel/plugin-transform-template-literals": "^7.7.4",
-            "@babel/plugin-transform-typeof-symbol": "^7.7.4",
-            "@babel/plugin-transform-unicode-regex": "^7.7.4",
-            "@babel/types": "^7.7.4",
-            "browserslist": "^4.6.0",
-            "core-js-compat": "^3.6.0",
-            "invariant": "^2.2.2",
-            "js-levenshtein": "^1.1.3",
-            "semver": "^5.5.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "5.7.1",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
-            }
-          }
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
         },
         "@babel/template": {
           "version": "7.8.6",
@@ -1307,24 +1276,6 @@
             "safe-buffer": "~5.1.1"
           }
         },
-        "core-js-compat": {
-          "version": "3.6.4",
-          "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz",
-          "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==",
-          "dev": true,
-          "requires": {
-            "browserslist": "^4.8.3",
-            "semver": "7.0.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "7.0.0",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
-              "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
-              "dev": true
-            }
-          }
-        },
         "debug": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -1395,11 +1346,26 @@
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
           "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
           "dev": true
-        },
-        "regenerator-runtime": {
-          "version": "0.13.3",
-          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
-          "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
+        }
+      }
+    },
+    "@babel/generator": {
+      "version": "7.5.5",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz",
+      "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.5.5",
+        "jsesc": "^2.5.1",
+        "lodash": "^4.17.13",
+        "source-map": "^0.5.0",
+        "trim-right": "^1.0.1"
+      },
+      "dependencies": {
+        "jsesc": {
+          "version": "2.5.2",
+          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+          "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
           "dev": true
         },
         "regenerator-transform": {
@@ -1418,115 +1384,86 @@
           "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
           "dev": true,
           "requires": {
-            "glob": "^7.1.3"
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
           }
-        },
-        "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+        }
+      }
+    },
+    "@babel/helper-builder-binary-assignment-operator-visitor": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
+      "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-explode-assignable-expression": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
           "dev": true,
           "requires": {
-            "tslib": "^1.9.0"
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
           }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "source-map-support": {
-          "version": "0.5.16",
-          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
-          "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
+        }
+      }
+    },
+    "@babel/helper-call-delegate": {
+      "version": "7.8.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz",
+      "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-hoist-variables": "^7.8.3",
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.7"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
           "dev": true,
           "requires": {
-            "buffer-from": "^1.0.0",
-            "source-map": "^0.6.0"
-          },
-          "dependencies": {
-            "source-map": {
-              "version": "0.6.1",
-              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-              "dev": true
-            }
+            "@babel/highlight": "^7.8.3"
           }
         },
-        "terser": {
-          "version": "4.5.1",
-          "resolved": "https://registry.npmjs.org/terser/-/terser-4.5.1.tgz",
-          "integrity": "sha512-lH9zLIbX8PRBEFCTvfHGCy0s9HEKnNso1Dx9swSopF3VUnFLB8DpQ61tHxoofovNC/sG0spajJM3EIIRSTByiQ==",
+        "@babel/generator": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
+          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
           "dev": true,
           "requires": {
-            "commander": "^2.20.0",
-            "source-map": "~0.6.1",
-            "source-map-support": "~0.5.12"
-          },
-          "dependencies": {
-            "source-map": {
-              "version": "0.6.1",
-              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-              "dev": true
-            }
+            "@babel/types": "^7.8.7",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13",
+            "source-map": "^0.5.0"
           }
         },
-        "upath": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-          "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
-          "dev": true
-        },
-        "webpack-dev-server": {
-          "version": "3.9.0",
-          "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz",
-          "integrity": "sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==",
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
           "dev": true,
           "requires": {
-            "ansi-html": "0.0.7",
-            "bonjour": "^3.5.0",
-            "chokidar": "^2.1.8",
-            "compression": "^1.7.4",
-            "connect-history-api-fallback": "^1.6.0",
-            "debug": "^4.1.1",
-            "del": "^4.1.1",
-            "express": "^4.17.1",
-            "html-entities": "^1.2.1",
-            "http-proxy-middleware": "0.19.1",
-            "import-local": "^2.0.0",
-            "internal-ip": "^4.3.0",
-            "ip": "^1.1.5",
-            "is-absolute-url": "^3.0.3",
-            "killable": "^1.0.1",
-            "loglevel": "^1.6.4",
-            "opn": "^5.5.0",
-            "p-retry": "^3.0.1",
-            "portfinder": "^1.0.25",
-            "schema-utils": "^1.0.0",
-            "selfsigned": "^1.10.7",
-            "semver": "^6.3.0",
-            "serve-index": "^1.9.1",
-            "sockjs": "0.3.19",
-            "sockjs-client": "1.4.0",
-            "spdy": "^4.0.1",
-            "strip-ansi": "^3.0.1",
-            "supports-color": "^6.1.0",
-            "url": "^0.11.0",
-            "webpack-dev-middleware": "^3.7.2",
-            "webpack-log": "^2.0.0",
-            "ws": "^6.2.1",
-            "yargs": "12.0.5"
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
           }
         },
-        "ws": {
-          "version": "6.2.1",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
-          "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
           "dev": true,
           "requires": {
-            "async-limiter": "~1.0.0"
+            "@babel/types": "^7.8.3"
           }
         }
       }
@@ -1604,12 +1541,15 @@
             "uri-js": "^4.2.2"
           }
         },
-        "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
           "requires": {
-            "tslib": "^1.9.0"
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
           }
         }
       }
@@ -1630,7 +1570,9 @@
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
           "requires": {
-            "tslib": "^1.9.0"
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
           }
         }
       }
@@ -1695,159 +1637,165 @@
           "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
           "dev": true,
           "requires": {
-            "type-fest": "^0.11.0"
+            "@babel/code-frame": "^7.8.3",
+            "@babel/generator": "^7.8.6",
+            "@babel/helper-function-name": "^7.8.3",
+            "@babel/helper-split-export-declaration": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6",
+            "debug": "^4.1.0",
+            "globals": "^11.1.0",
+            "lodash": "^4.17.13"
           }
         },
-        "ansi-regex": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
-        },
-        "cli-cursor": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
-          "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
-            "restore-cursor": "^3.1.0"
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
           }
         },
         "debug": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
         },
-        "figures": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
-          "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
-          "requires": {
-            "escape-string-regexp": "^1.0.5"
-          }
-        },
-        "inquirer": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz",
-          "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==",
-          "requires": {
-            "ansi-escapes": "^4.2.1",
-            "chalk": "^2.4.2",
-            "cli-cursor": "^3.1.0",
-            "cli-width": "^2.0.0",
-            "external-editor": "^3.0.3",
-            "figures": "^3.0.0",
-            "lodash": "^4.17.15",
-            "mute-stream": "0.0.8",
-            "run-async": "^2.2.0",
-            "rxjs": "^6.4.0",
-            "string-width": "^4.1.0",
-            "strip-ansi": "^5.1.0",
-            "through": "^2.3.6"
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg=="
-        },
-        "lodash": {
-          "version": "4.17.15",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
-          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
-        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         },
-        "mute-stream": {
-          "version": "0.0.8",
-          "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
-          "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA=="
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-create-regexp-features-plugin": {
+      "version": "7.8.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz",
+      "integrity": "sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.8.3",
+        "@babel/helper-regex": "^7.8.3",
+        "regexpu-core": "^4.6.0"
+      },
+      "dependencies": {
+        "jsesc": {
+          "version": "0.5.0",
+          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
+          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
+          "dev": true
         },
-        "npm-package-arg": {
-          "version": "6.1.1",
-          "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz",
-          "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==",
+        "regexpu-core": {
+          "version": "4.6.0",
+          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
+          "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+          "dev": true,
           "requires": {
-            "hosted-git-info": "^2.7.1",
-            "osenv": "^0.1.5",
-            "semver": "^5.6.0",
-            "validate-npm-package-name": "^3.0.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "5.7.1",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
-            }
+            "regenerate": "^1.4.0",
+            "regenerate-unicode-properties": "^8.1.0",
+            "regjsgen": "^0.5.0",
+            "regjsparser": "^0.6.0",
+            "unicode-match-property-ecmascript": "^1.0.4",
+            "unicode-match-property-value-ecmascript": "^1.1.0"
           }
         },
-        "onetime": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
-          "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+        "regjsgen": {
+          "version": "0.5.1",
+          "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
+          "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
+          "dev": true
+        },
+        "regjsparser": {
+          "version": "0.6.3",
+          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz",
+          "integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==",
+          "dev": true,
           "requires": {
-            "mimic-fn": "^2.1.0"
+            "jsesc": "~0.5.0"
           }
-        },
-        "restore-cursor": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
-          "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+        }
+      }
+    },
+    "@babel/helper-define-map": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
+      "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/types": "^7.8.3",
+        "lodash": "^4.17.13"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
           "requires": {
-            "onetime": "^5.1.0",
-            "signal-exit": "^3.0.2"
+            "@babel/highlight": "^7.8.3"
           }
         },
-        "rimraf": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
-          "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "dev": true,
           "requires": {
-            "glob": "^7.1.3"
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
           }
         },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
         },
-        "string-width": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
           "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^6.0.0"
-          },
-          "dependencies": {
-            "strip-ansi": {
-              "version": "6.0.0",
-              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-              "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-              "requires": {
-                "ansi-regex": "^5.0.0"
-              }
-            }
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
           }
         },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
           "requires": {
-            "ansi-regex": "^4.1.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
-            }
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
           }
         },
         "type-fest": {
@@ -1858,147 +1806,1227 @@
         }
       }
     },
-    "@angular/common": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz",
-      "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw=="
+    "@angular/common": {
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz",
+      "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw=="
+    },
+    "@angular/compiler": {
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz",
+      "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ=="
+    },
+    "@angular/compiler-cli": {
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz",
+      "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==",
+      "dev": true,
+      "requires": {
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
+        },
+        "@babel/generator": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
+          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.7",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13",
+            "source-map": "^0.5.0"
+          }
+        },
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "dev": true,
+          "requires": {
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
+          }
+        },
+        "@babel/traverse": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
+          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/generator": "^7.8.6",
+            "@babel/helper-function-name": "^7.8.3",
+            "@babel/helper-split-export-declaration": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6",
+            "debug": "^4.1.0",
+            "globals": "^11.1.0",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-function-name": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
+      "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-get-function-arity": "^7.0.0",
+        "@babel/template": "^7.1.0",
+        "@babel/types": "^7.0.0"
+      }
+    },
+    "@babel/helper-get-function-arity": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
+      "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.0.0"
+      }
+    },
+    "@babel/helper-hoist-variables": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
+      "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@babel/helper-member-expression-to-functions": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
+      "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@babel/helper-module-imports": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
+      "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@babel/helper-module-transforms": {
+      "version": "7.8.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz",
+      "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-replace-supers": "^7.8.6",
+        "@babel/helper-simple-access": "^7.8.3",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "@babel/template": "^7.8.6",
+        "@babel/types": "^7.8.6",
+        "lodash": "^4.17.13"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
+        },
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
+          }
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@babel/helper-optimise-call-expression": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
+      "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@babel/helper-plugin-utils": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
+      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
+      "dev": true
+    },
+    "@babel/helper-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
+      "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
+      "dev": true,
+      "requires": {
+        "lodash": "^4.17.13"
+      }
+    },
+    "@babel/helper-remap-async-to-generator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
+      "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.8.3",
+        "@babel/helper-wrap-function": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
+        },
+        "@babel/generator": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
+          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.7",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13",
+            "source-map": "^0.5.0"
+          }
+        },
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "dev": true,
+          "requires": {
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
+          }
+        },
+        "@babel/traverse": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
+          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/generator": "^7.8.6",
+            "@babel/helper-function-name": "^7.8.3",
+            "@babel/helper-split-export-declaration": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6",
+            "debug": "^4.1.0",
+            "globals": "^11.1.0",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-replace-supers": {
+      "version": "7.8.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz",
+      "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-member-expression-to-functions": "^7.8.3",
+        "@babel/helper-optimise-call-expression": "^7.8.3",
+        "@babel/traverse": "^7.8.6",
+        "@babel/types": "^7.8.6"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
+        },
+        "@babel/generator": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
+          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.7",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13",
+            "source-map": "^0.5.0"
+          }
+        },
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "dev": true,
+          "requires": {
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
+          }
+        },
+        "@babel/traverse": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
+          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/generator": "^7.8.6",
+            "@babel/helper-function-name": "^7.8.3",
+            "@babel/helper-split-export-declaration": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6",
+            "debug": "^4.1.0",
+            "globals": "^11.1.0",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-simple-access": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
+      "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+      "dev": true,
+      "requires": {
+        "@babel/template": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
+          }
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@babel/helper-split-export-declaration": {
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
+      "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.4.4"
+      }
+    },
+    "@babel/helper-wrap-function": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
+      "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/template": "^7.8.3",
+        "@babel/traverse": "^7.8.3",
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
+        },
+        "@babel/generator": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
+          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.7",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13",
+            "source-map": "^0.5.0"
+          }
+        },
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "dev": true,
+          "requires": {
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
+          }
+        },
+        "@babel/traverse": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
+          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/generator": "^7.8.6",
+            "@babel/helper-function-name": "^7.8.3",
+            "@babel/helper-split-export-declaration": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6",
+            "debug": "^4.1.0",
+            "globals": "^11.1.0",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helpers": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz",
+      "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==",
+      "dev": true,
+      "requires": {
+        "@babel/template": "^7.8.3",
+        "@babel/traverse": "^7.8.4",
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
+        },
+        "@babel/generator": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
+          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.7",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13",
+            "source-map": "^0.5.0"
+          }
+        },
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "dev": true,
+          "requires": {
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
+          }
+        },
+        "@babel/traverse": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
+          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+          "dev": true,
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/generator": "^7.8.6",
+            "@babel/helper-function-name": "^7.8.3",
+            "@babel/helper-split-export-declaration": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6",
+            "debug": "^4.1.0",
+            "globals": "^11.1.0",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        }
+      }
+    },
+    "@babel/highlight": {
+      "version": "7.5.0",
+      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
+      "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+      "dev": true,
+      "requires": {
+        "chalk": "^2.0.0",
+        "esutils": "^2.0.2",
+        "js-tokens": "^4.0.0"
+      },
+      "dependencies": {
+        "js-tokens": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+          "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+          "dev": true
+        }
+      }
+    },
+    "@babel/parser": {
+      "version": "7.5.5",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
+      "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==",
+      "dev": true
+    },
+    "@babel/plugin-proposal-async-generator-functions": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz",
+      "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-remap-async-to-generator": "^7.8.3",
+        "@babel/plugin-syntax-async-generators": "^7.8.0"
+      }
+    },
+    "@babel/plugin-proposal-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz",
+      "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.0"
+      }
+    },
+    "@babel/plugin-proposal-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz",
+      "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-json-strings": "^7.8.0"
+      }
+    },
+    "@babel/plugin-proposal-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.0"
+      }
+    },
+    "@babel/plugin-proposal-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
+      }
+    },
+    "@babel/plugin-proposal-unicode-property-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz",
+      "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-syntax-async-generators": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-dynamic-import": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      }
+    },
+    "@babel/plugin-syntax-top-level-await": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
+      "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
     },
-    "@angular/compiler": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz",
-      "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ=="
+    "@babel/plugin-transform-arrow-functions": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
+      "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
     },
-    "@angular/compiler-cli": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz",
-      "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==",
+    "@babel/plugin-transform-async-to-generator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
+      "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
       "dev": true,
       "requires": {
-        "canonical-path": "1.0.0",
-        "chokidar": "^3.0.0",
-        "convert-source-map": "^1.5.1",
-        "dependency-graph": "^0.7.2",
-        "fs-extra": "4.0.2",
-        "magic-string": "^0.25.0",
-        "minimist": "^1.2.0",
-        "reflect-metadata": "^0.1.2",
-        "semver": "^6.3.0",
-        "source-map": "^0.6.1",
-        "sourcemap-codec": "^1.4.8",
-        "yargs": "13.1.0"
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-remap-async-to-generator": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-block-scoped-functions": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
+      "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-block-scoping": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
+      "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "lodash": "^4.17.13"
+      }
+    },
+    "@babel/plugin-transform-classes": {
+      "version": "7.8.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz",
+      "integrity": "sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.8.3",
+        "@babel/helper-define-map": "^7.8.3",
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/helper-optimise-call-expression": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-replace-supers": "^7.8.6",
+        "@babel/helper-split-export-declaration": "^7.8.3",
+        "globals": "^11.1.0"
       },
       "dependencies": {
-        "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-          "dev": true
-        },
-        "anymatch": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
-          "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
-          "dev": true,
-          "requires": {
-            "normalize-path": "^3.0.0",
-            "picomatch": "^2.0.4"
-          }
-        },
-        "binary-extensions": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
-          "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
-          "dev": true
-        },
-        "braces": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-          "dev": true,
-          "requires": {
-            "fill-range": "^7.0.1"
-          }
-        },
-        "chokidar": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
-          "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
-          "dev": true,
-          "requires": {
-            "anymatch": "~3.1.1",
-            "braces": "~3.0.2",
-            "fsevents": "~2.1.2",
-            "glob-parent": "~5.1.0",
-            "is-binary-path": "~2.1.0",
-            "is-glob": "~4.0.1",
-            "normalize-path": "~3.0.0",
-            "readdirp": "~3.3.0"
-          }
-        },
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-          "dev": true
-        },
-        "fill-range": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
           "dev": true,
           "requires": {
-            "to-regex-range": "^5.0.1"
+            "@babel/highlight": "^7.8.3"
           }
         },
-        "fs-extra": {
-          "version": "4.0.2",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz",
-          "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=",
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
           "dev": true,
           "requires": {
-            "graceful-fs": "^4.1.2",
-            "jsonfile": "^4.0.0",
-            "universalify": "^0.1.0"
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
           }
         },
-        "fsevents": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
-          "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
-          "dev": true,
-          "optional": true
-        },
-        "get-caller-file": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-          "dev": true
-        },
-        "glob-parent": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
-          "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
           "dev": true,
           "requires": {
-            "is-glob": "^4.0.1"
+            "@babel/types": "^7.8.3"
           }
         },
-        "is-binary-path": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-          "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
           "dev": true,
           "requires": {
-            "binary-extensions": "^2.0.0"
+            "@babel/types": "^7.8.3"
           }
         },
-        "is-glob": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-          "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
           "dev": true,
           "requires": {
-            "is-extglob": "^2.1.1"
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
           }
         },
         "is-number": {
@@ -2019,89 +3047,162 @@
           "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
           "dev": true
         },
-        "readdirp": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
-          "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
           "dev": true,
           "requires": {
-            "picomatch": "^2.0.7"
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
           }
         },
-        "require-main-filename": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
-          "dev": true
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        }
+      }
+    },
+    "@babel/plugin-transform-computed-properties": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
+      "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-destructuring": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz",
+      "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-dotall-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
+      "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-duplicate-keys": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz",
+      "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-exponentiation-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
+      "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-for-of": {
+      "version": "7.8.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz",
+      "integrity": "sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-function-name": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
+      "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-function-name": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
         },
-        "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
           "dev": true,
           "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
           }
         },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
           "dev": true,
           "requires": {
-            "ansi-regex": "^4.1.0"
+            "@babel/types": "^7.8.3"
           }
         },
-        "to-regex-range": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
           "dev": true,
           "requires": {
-            "is-number": "^7.0.0"
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
           }
         },
-        "yargs": {
-          "version": "13.1.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.1.0.tgz",
-          "integrity": "sha512-1UhJbXfzHiPqkfXNHYhiz79qM/kZqjTE8yGlEjZa85Q+3+OwcV6NRkV7XOV1W2Eom2bzILeUn55pQYffjVOLAg==",
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
           "dev": true,
           "requires": {
-            "cliui": "^4.0.0",
-            "find-up": "^3.0.0",
-            "get-caller-file": "^2.0.1",
-            "os-locale": "^3.1.0",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^2.0.0",
-            "set-blocking": "^2.0.0",
-            "string-width": "^3.0.0",
-            "which-module": "^2.0.0",
-            "y18n": "^4.0.0",
-            "yargs-parser": "^13.0.0"
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
           }
         },
-        "yargs-parser": {
-          "version": "13.1.1",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
-          "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
           "dev": true,
           "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
           }
         }
       }
@@ -2147,71 +3248,45 @@
       "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.6.tgz",
       "integrity": "sha512-Ki1uk3jWPsoFh27SnyXatPSFK3ghF25pjiwWw9/inPvlS/HshSWgS2FbYf49LD5xVFF3Ni2Z5GRKxSEqxL8vQw=="
     },
-    "@babel/code-frame": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
-      "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+    "@babel/plugin-transform-new-target": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz",
+      "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==",
       "dev": true,
       "requires": {
-        "@babel/highlight": "^7.0.0"
+        "@babel/helper-plugin-utils": "^7.8.3"
       }
     },
-    "@babel/generator": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz",
-      "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==",
+    "@babel/plugin-transform-object-super": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
+      "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.5.5",
-        "jsesc": "^2.5.1",
-        "lodash": "^4.17.13",
-        "source-map": "^0.5.0",
-        "trim-right": "^1.0.1"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "2.5.2",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-          "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-replace-supers": "^7.8.3"
       }
     },
-    "@babel/helper-create-regexp-features-plugin": {
-      "version": "7.8.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz",
-      "integrity": "sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A==",
+    "@babel/plugin-transform-parameters": {
+      "version": "7.8.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz",
+      "integrity": "sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.8.3",
-        "@babel/helper-regex": "^7.8.3",
-        "regexpu-core": "^4.6.0"
+        "@babel/helper-call-delegate": "^7.8.7",
+        "@babel/helper-get-function-arity": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
       },
       "dependencies": {
-        "@babel/helper-annotate-as-pure": {
+        "@babel/helper-get-function-arity": {
           "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
-          "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
           "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
         },
-        "@babel/helper-regex": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
-          "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
-          "dev": true,
-          "requires": {
-            "lodash": "^4.17.13"
-          }
-        },
         "@babel/types": {
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
@@ -2275,80 +3350,159 @@
         }
       }
     },
-    "@babel/helper-function-name": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
-      "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
+    "@babel/plugin-transform-property-literals": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
+      "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
       "dev": true,
       "requires": {
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
+        "@babel/helper-plugin-utils": "^7.8.3"
       }
     },
-    "@babel/helper-get-function-arity": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
-      "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+    "@babel/plugin-transform-regenerator": {
+      "version": "7.8.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz",
+      "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.0.0"
+        "regenerator-transform": "^0.14.2"
       }
     },
-    "@babel/helper-plugin-utils": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz",
-      "integrity": "sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA==",
-      "dev": true
+    "@babel/plugin-transform-reserved-words": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz",
+      "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
     },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
-      "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+    "@babel/plugin-transform-shorthand-properties": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
+      "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.4.4"
+        "@babel/helper-plugin-utils": "^7.8.3"
       }
     },
-    "@babel/highlight": {
-      "version": "7.5.0",
-      "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz",
-      "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==",
+    "@babel/plugin-transform-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
+      "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
       "dev": true,
       "requires": {
-        "chalk": "^2.0.0",
-        "esutils": "^2.0.2",
-        "js-tokens": "^4.0.0"
-      },
-      "dependencies": {
-        "js-tokens": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-          "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-          "dev": true
-        }
+        "@babel/helper-plugin-utils": "^7.8.3"
       }
     },
-    "@babel/parser": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
-      "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==",
-      "dev": true
+    "@babel/plugin-transform-sticky-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
+      "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-regex": "^7.8.3"
+      }
     },
-    "@babel/plugin-syntax-top-level-await": {
+    "@babel/plugin-transform-template-literals": {
       "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
-      "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
+      "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-typeof-symbol": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz",
+      "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-unicode-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
+      "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
       "dev": true,
       "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
         "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/preset-env": {
+      "version": "7.7.7",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz",
+      "integrity": "sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-imports": "^7.7.4",
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@babel/plugin-proposal-async-generator-functions": "^7.7.4",
+        "@babel/plugin-proposal-dynamic-import": "^7.7.4",
+        "@babel/plugin-proposal-json-strings": "^7.7.4",
+        "@babel/plugin-proposal-object-rest-spread": "^7.7.7",
+        "@babel/plugin-proposal-optional-catch-binding": "^7.7.4",
+        "@babel/plugin-proposal-unicode-property-regex": "^7.7.7",
+        "@babel/plugin-syntax-async-generators": "^7.7.4",
+        "@babel/plugin-syntax-dynamic-import": "^7.7.4",
+        "@babel/plugin-syntax-json-strings": "^7.7.4",
+        "@babel/plugin-syntax-object-rest-spread": "^7.7.4",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.7.4",
+        "@babel/plugin-syntax-top-level-await": "^7.7.4",
+        "@babel/plugin-transform-arrow-functions": "^7.7.4",
+        "@babel/plugin-transform-async-to-generator": "^7.7.4",
+        "@babel/plugin-transform-block-scoped-functions": "^7.7.4",
+        "@babel/plugin-transform-block-scoping": "^7.7.4",
+        "@babel/plugin-transform-classes": "^7.7.4",
+        "@babel/plugin-transform-computed-properties": "^7.7.4",
+        "@babel/plugin-transform-destructuring": "^7.7.4",
+        "@babel/plugin-transform-dotall-regex": "^7.7.7",
+        "@babel/plugin-transform-duplicate-keys": "^7.7.4",
+        "@babel/plugin-transform-exponentiation-operator": "^7.7.4",
+        "@babel/plugin-transform-for-of": "^7.7.4",
+        "@babel/plugin-transform-function-name": "^7.7.4",
+        "@babel/plugin-transform-literals": "^7.7.4",
+        "@babel/plugin-transform-member-expression-literals": "^7.7.4",
+        "@babel/plugin-transform-modules-amd": "^7.7.5",
+        "@babel/plugin-transform-modules-commonjs": "^7.7.5",
+        "@babel/plugin-transform-modules-systemjs": "^7.7.4",
+        "@babel/plugin-transform-modules-umd": "^7.7.4",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4",
+        "@babel/plugin-transform-new-target": "^7.7.4",
+        "@babel/plugin-transform-object-super": "^7.7.4",
+        "@babel/plugin-transform-parameters": "^7.7.7",
+        "@babel/plugin-transform-property-literals": "^7.7.4",
+        "@babel/plugin-transform-regenerator": "^7.7.5",
+        "@babel/plugin-transform-reserved-words": "^7.7.4",
+        "@babel/plugin-transform-shorthand-properties": "^7.7.4",
+        "@babel/plugin-transform-spread": "^7.7.4",
+        "@babel/plugin-transform-sticky-regex": "^7.7.4",
+        "@babel/plugin-transform-template-literals": "^7.7.4",
+        "@babel/plugin-transform-typeof-symbol": "^7.7.4",
+        "@babel/plugin-transform-unicode-regex": "^7.7.4",
+        "@babel/types": "^7.7.4",
+        "browserslist": "^4.6.0",
+        "core-js-compat": "^3.6.0",
+        "invariant": "^2.2.2",
+        "js-levenshtein": "^1.1.3",
+        "semver": "^5.5.0"
       },
       "dependencies": {
-        "@babel/helper-plugin-utils": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-          "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-          "dev": true
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
         }
       }
     },
@@ -2871,6 +4025,7 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -2879,6 +4034,7 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz",
           "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==",
+          "dev": true,
           "requires": {
             "hosted-git-info": "^3.0.2",
             "osenv": "^0.1.5",
@@ -2889,7 +4045,8 @@
             "semver": {
               "version": "5.7.1",
               "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+              "dev": true
             }
           }
         },
@@ -2897,6 +4054,7 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -2904,12 +4062,14 @@
         "semver": {
           "version": "6.3.0",
           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
         },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -3268,12 +4428,14 @@
     "@yarnpkg/lockfile": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
-      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="
+      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+      "dev": true
     },
     "JSONStream": {
       "version": "1.3.5",
       "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz",
       "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==",
+      "dev": true,
       "requires": {
         "jsonparse": "^1.2.0",
         "through": ">=2.2.7 <3"
@@ -3350,6 +4512,7 @@
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
       "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+      "dev": true,
       "requires": {
         "es6-promisify": "^5.0.0"
       }
@@ -3358,6 +4521,7 @@
       "version": "3.5.2",
       "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
       "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
+      "dev": true,
       "requires": {
         "humanize-ms": "^1.2.1"
       }
@@ -3376,6 +4540,7 @@
       "version": "6.6.2",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
       "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
+      "dev": true,
       "requires": {
         "fast-deep-equal": "^2.0.1",
         "fast-json-stable-stringify": "^2.0.0",
@@ -3518,6 +4683,7 @@
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
       "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
       "requires": {
         "color-convert": "^1.9.0"
       },
@@ -3526,6 +4692,7 @@
           "version": "1.9.3",
           "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
           "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+          "dev": true,
           "requires": {
             "color-name": "1.1.3"
           }
@@ -3533,7 +4700,8 @@
         "color-name": {
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+          "dev": true
         }
       }
     },
@@ -3669,7 +4837,8 @@
     "aproba": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+      "dev": true
     },
     "arg": {
       "version": "4.1.3",
@@ -3779,12 +4948,14 @@
     "asap": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
-      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+      "dev": true
     },
     "asn1": {
       "version": "0.2.4",
       "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
       "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+      "dev": true,
       "requires": {
         "safer-buffer": "~2.1.0"
       }
@@ -3830,7 +5001,8 @@
     "assert-plus": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+      "dev": true
     },
     "assign-symbols": {
       "version": "1.0.0",
@@ -3933,7 +5105,8 @@
     "asynckit": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
-      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
+      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+      "dev": true
     },
     "atob": {
       "version": "2.1.2",
@@ -3999,12 +5172,14 @@
     "aws-sign2": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+      "dev": true
     },
     "aws4": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
-      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
+      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+      "dev": true
     },
     "axobject-query": {
       "version": "2.0.2",
@@ -4191,6 +5366,7 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
       "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+      "dev": true,
       "requires": {
         "tweetnacl": "^0.14.3"
       }
@@ -4253,7 +5429,8 @@
     "bluebird": {
       "version": "3.5.5",
       "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
-      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
+      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
+      "dev": true
     },
     "bluebird-lst": {
       "version": "1.0.9",
@@ -4636,14 +5813,14 @@
       }
     },
     "browserslist": {
-      "version": "4.6.3",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.6.3.tgz",
-      "integrity": "sha512-CNBqTCq22RKM8wKJNowcqihHJ4SkI8CGeK7KOR9tPboXUuS5Zk5lQgzzTbs4oxD8x+6HUshZUa2OyNI9lR93bQ==",
+      "version": "4.8.3",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz",
+      "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==",
       "dev": true,
       "requires": {
-        "caniuse-lite": "^1.0.30000975",
-        "electron-to-chromium": "^1.3.164",
-        "node-releases": "^1.1.23"
+        "caniuse-lite": "^1.0.30001017",
+        "electron-to-chromium": "^1.3.322",
+        "node-releases": "^1.1.44"
       }
     },
     "browserstack": {
@@ -4852,7 +6029,8 @@
     "builtins": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
-      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og="
+      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
+      "dev": true
     },
     "bytes": {
       "version": "3.0.0",
@@ -5057,9 +6235,9 @@
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30000979",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30000979.tgz",
-      "integrity": "sha512-gcu45yfq3B7Y+WB05fOMfr0EiSlq+1u+m6rPHyJli/Wy3PVQNGaU7VA4bZE5qw+AU2UVOBR/N5g1bzADUqdvFw==",
+      "version": "1.0.30001020",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001020.tgz",
+      "integrity": "sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==",
       "dev": true
     },
     "canonical-path": {
@@ -5077,7 +6255,8 @@
     "caseless": {
       "version": "0.12.0",
       "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
-      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
+      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+      "dev": true
     },
     "cfb": {
       "version": "1.1.3",
@@ -5094,6 +6273,7 @@
       "version": "2.4.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
       "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
       "requires": {
         "ansi-styles": "^3.2.1",
         "escape-string-regexp": "^1.0.5",
@@ -5104,6 +6284,7 @@
           "version": "5.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+          "dev": true,
           "requires": {
             "has-flag": "^3.0.0"
           }
@@ -5113,7 +6294,8 @@
     "chardet": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
+      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+      "dev": true
     },
     "chart.js": {
       "version": "2.7.3",
@@ -5198,7 +6380,8 @@
     "chownr": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+      "dev": true
     },
     "chrome-trace-event": {
       "version": "1.0.2",
@@ -5299,12 +6482,14 @@
     "cli-spinners": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
-      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ=="
+      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==",
+      "dev": true
     },
     "cli-width": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
-      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
+      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+      "dev": true
     },
     "clipboard": {
       "version": "2.0.4",
@@ -5538,6 +6723,7 @@
       "version": "1.0.7",
       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
       "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+      "dev": true,
       "requires": {
         "delayed-stream": "~1.0.0"
       }
@@ -5637,6 +6823,7 @@
       "version": "1.6.2",
       "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
       "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+      "dev": true,
       "requires": {
         "buffer-from": "^1.0.0",
         "inherits": "^2.0.3",
@@ -5775,6 +6962,7 @@
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
       "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+      "dev": true,
       "requires": {
         "aproba": "^1.1.1",
         "fs-write-stream-atomic": "^1.0.8",
@@ -6449,10 +7637,29 @@
       "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz",
       "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw=="
     },
+    "core-js-compat": {
+      "version": "3.6.4",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz",
+      "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==",
+      "dev": true,
+      "requires": {
+        "browserslist": "^4.8.3",
+        "semver": "7.0.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz",
+          "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==",
+          "dev": true
+        }
+      }
+    },
     "core-util-is": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
     },
     "cors": {
       "version": "2.8.5",
@@ -6875,7 +8082,8 @@
     "cyclist": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
+      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
+      "dev": true
     },
     "d": {
       "version": "1.0.1",
@@ -7179,6 +8387,7 @@
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
       "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
@@ -7201,7 +8410,8 @@
     "debuglog": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
-      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI="
+      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
+      "dev": true
     },
     "decache": {
       "version": "4.5.1",
@@ -7278,6 +8488,7 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
       "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+      "dev": true,
       "requires": {
         "clone": "^1.0.2"
       },
@@ -7285,7 +8496,8 @@
         "clone": {
           "version": "1.0.4",
           "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
-          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+          "dev": true
         }
       }
     },
@@ -7420,7 +8632,8 @@
     "delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true
     },
     "delegate": {
       "version": "3.2.0",
@@ -7483,6 +8696,7 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
       "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
+      "dev": true,
       "requires": {
         "asap": "^2.0.0",
         "wrappy": "1"
@@ -7682,6 +8896,7 @@
       "version": "3.7.1",
       "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz",
       "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==",
+      "dev": true,
       "requires": {
         "end-of-stream": "^1.0.0",
         "inherits": "^2.0.1",
@@ -7693,6 +8908,7 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
       "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+      "dev": true,
       "requires": {
         "jsbn": "~0.1.0",
         "safer-buffer": "^2.1.0"
@@ -8001,9 +9217,9 @@
       }
     },
     "electron-to-chromium": {
-      "version": "1.3.252",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.252.tgz",
-      "integrity": "sha512-NWJ5TztDnjExFISZHFwpoJjMbLUifsNBnx7u2JI0gCw6SbKyQYYWWtBHasO/jPtHym69F4EZuTpRNGN11MT/jg==",
+      "version": "1.3.368",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.368.tgz",
+      "integrity": "sha512-fqzDipW3p+uDkHUHFPrdW3wINRKcJsbnJwBD7hgaQEQwcuLSvNLw6SeUp5gKDpTbmTl7zri7IZfhsdTUTnygJg==",
       "dev": true
     },
     "elementtree": {
@@ -8039,7 +9255,8 @@
     "emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "dev": true
     },
     "emojis-list": {
       "version": "2.1.0",
@@ -8057,6 +9274,7 @@
       "version": "0.1.12",
       "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
       "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+      "dev": true,
       "requires": {
         "iconv-lite": "~0.4.13"
       }
@@ -8065,6 +9283,7 @@
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
       "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+      "dev": true,
       "requires": {
         "once": "^1.4.0"
       }
@@ -8191,7 +9410,8 @@
     "err-code": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
-      "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA="
+      "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
+      "dev": true
     },
     "errno": {
       "version": "0.1.7",
@@ -8280,12 +9500,14 @@
     "es6-promise": {
       "version": "4.2.5",
       "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
-      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg=="
+      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
+      "dev": true
     },
     "es6-promisify": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
       "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+      "dev": true,
       "requires": {
         "es6-promise": "^4.0.3"
       }
@@ -8340,7 +9562,8 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
     },
     "escaper": {
       "version": "2.5.3",
@@ -8747,7 +9970,8 @@
     "extend": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
-      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+      "dev": true
     },
     "extend-shallow": {
       "version": "3.0.2",
@@ -8774,6 +9998,7 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
       "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+      "dev": true,
       "requires": {
         "chardet": "^0.7.0",
         "iconv-lite": "^0.4.24",
@@ -8860,7 +10085,8 @@
     "extsprintf": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+      "dev": true
     },
     "falafel": {
       "version": "2.1.0",
@@ -8903,7 +10129,8 @@
     "fast-deep-equal": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+      "dev": true
     },
     "fast-glob": {
       "version": "2.2.7",
@@ -8927,7 +10154,8 @@
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+      "dev": true
     },
     "fast-levenshtein": {
       "version": "2.0.6",
@@ -8962,7 +10190,8 @@
     "figgy-pudding": {
       "version": "3.5.1",
       "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
-      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w=="
+      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
+      "dev": true
     },
     "figures": {
       "version": "2.0.0",
@@ -9176,6 +10405,7 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
       "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==",
+      "dev": true,
       "requires": {
         "inherits": "^2.0.3",
         "readable-stream": "^2.3.6"
@@ -9316,12 +10546,14 @@
     "forever-agent": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+      "dev": true
     },
     "form-data": {
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
       "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+      "dev": true,
       "requires": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.6",
@@ -9364,6 +10596,7 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
       "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+      "dev": true,
       "requires": {
         "inherits": "^2.0.1",
         "readable-stream": "^2.0.0"
@@ -9399,6 +10632,7 @@
       "version": "1.0.10",
       "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
       "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.2",
         "iferr": "^0.1.5",
@@ -9967,12 +11201,7 @@
     "genfun": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
-      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA=="
-    },
-    "gensync": {
-      "version": "1.0.0-beta.1",
-      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
-      "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
       "dev": true
     },
     "get-assigned-identifiers": {
@@ -10003,6 +11232,7 @@
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
       "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
@@ -10210,12 +11440,14 @@
     "har-schema": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+      "dev": true
     },
     "har-validator": {
       "version": "5.1.3",
       "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
       "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+      "dev": true,
       "requires": {
         "ajv": "^6.5.5",
         "har-schema": "^2.0.0"
@@ -10264,7 +11496,8 @@
     "has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+      "dev": true
     },
     "has-symbols": {
       "version": "1.0.0",
@@ -10354,7 +11587,8 @@
     "hosted-git-info": {
       "version": "2.7.1",
       "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz",
-      "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w=="
+      "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==",
+      "dev": true
     },
     "hpack.js": {
       "version": "2.1.6",
@@ -10454,7 +11688,8 @@
     "http-cache-semantics": {
       "version": "3.8.1",
       "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
-      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
+      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
+      "dev": true
     },
     "http-deceiver": {
       "version": "1.2.7",
@@ -10495,6 +11730,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
       "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
+      "dev": true,
       "requires": {
         "agent-base": "4",
         "debug": "3.1.0"
@@ -10504,6 +11740,7 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
           "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "dev": true,
           "requires": {
             "ms": "2.0.0"
           }
@@ -10526,6 +11763,7 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
       "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "jsprim": "^1.2.2",
@@ -10542,6 +11780,7 @@
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
       "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+      "dev": true,
       "requires": {
         "agent-base": "^4.3.0",
         "debug": "^3.1.0"
@@ -10551,6 +11790,7 @@
           "version": "4.3.0",
           "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
           "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+          "dev": true,
           "requires": {
             "es6-promisify": "^5.0.0"
           }
@@ -10559,6 +11799,7 @@
           "version": "3.2.6",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
           "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -10566,7 +11807,8 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         }
       }
     },
@@ -10574,6 +11816,7 @@
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
       "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
+      "dev": true,
       "requires": {
         "ms": "^2.0.0"
       }
@@ -10604,7 +11847,8 @@
     "iferr": {
       "version": "0.1.5",
       "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+      "dev": true
     },
     "ignore": {
       "version": "3.3.10",
@@ -10616,6 +11860,7 @@
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
       "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
+      "dev": true,
       "requires": {
         "minimatch": "^3.0.4"
       }
@@ -10680,7 +11925,8 @@
     "imurmurhash": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+      "dev": true
     },
     "indent-string": {
       "version": "4.0.0",
@@ -10703,7 +11949,8 @@
     "infer-owner": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
+      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+      "dev": true
     },
     "inflight": {
       "version": "1.0.6",
@@ -10722,7 +11969,8 @@
     "ini": {
       "version": "1.3.5",
       "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
-      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
+      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+      "dev": true
     },
     "init-package-json": {
       "version": "1.10.3",
@@ -10877,7 +12125,8 @@
     "ip": {
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+      "dev": true
     },
     "ip-regex": {
       "version": "2.1.0",
@@ -11066,7 +12315,8 @@
     "is-interactive": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
-      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
+      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+      "dev": true
     },
     "is-negated-glob": {
       "version": "1.0.0",
@@ -11147,7 +12397,8 @@
     "is-promise": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
-      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
+      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+      "dev": true
     },
     "is-redirect": {
       "version": "1.0.0",
@@ -11215,7 +12466,8 @@
     "is-typedarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
     },
     "is-unc-path": {
       "version": "1.0.0",
@@ -11253,7 +12505,8 @@
     "isarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
     },
     "isbinaryfile": {
       "version": "4.0.4",
@@ -11275,7 +12528,8 @@
     "isstream": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true
     },
     "istanbul-api": {
       "version": "2.1.6",
@@ -11462,17 +12716,6 @@
             "@babel/types": "^7.8.3"
           }
         },
-        "@babel/helpers": {
-          "version": "7.8.4",
-          "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz",
-          "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==",
-          "dev": true,
-          "requires": {
-            "@babel/template": "^7.8.3",
-            "@babel/traverse": "^7.8.4",
-            "@babel/types": "^7.8.3"
-          }
-        },
         "@babel/highlight": {
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
@@ -11529,15 +12772,6 @@
             "to-fast-properties": "^2.0.0"
           }
         },
-        "convert-source-map": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
-          "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.1"
-          }
-        },
         "debug": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -11786,9 +13020,9 @@
       "dev": true
     },
     "js-tokens": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
-      "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
       "dev": true
     },
     "js-yaml": {
@@ -11812,7 +13046,8 @@
     "jsbn": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "dev": true
     },
     "jsesc": {
       "version": "2.5.2",
@@ -11829,22 +13064,26 @@
     "json-parse-better-errors": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
-      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw=="
+      "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
+      "dev": true
     },
     "json-schema": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+      "dev": true
     },
     "json-schema-traverse": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
     },
     "json-stringify-safe": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true
     },
     "json3": {
       "version": "3.3.3",
@@ -11880,12 +13119,14 @@
     "jsonparse": {
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
-      "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA="
+      "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
+      "dev": true
     },
     "jsprim": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
       "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+      "dev": true,
       "requires": {
         "assert-plus": "1.0.0",
         "extsprintf": "1.3.0",
@@ -12456,6 +13697,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
       "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+      "dev": true,
       "requires": {
         "chalk": "^2.4.2"
       }
@@ -12548,6 +13790,7 @@
       "version": "0.25.4",
       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
       "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
+      "dev": true,
       "requires": {
         "sourcemap-codec": "^1.4.4"
       }
@@ -12571,6 +13814,7 @@
       "version": "5.0.2",
       "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz",
       "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==",
+      "dev": true,
       "requires": {
         "agentkeepalive": "^3.4.1",
         "cacache": "^12.0.0",
@@ -12589,6 +13833,7 @@
           "version": "12.0.3",
           "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
           "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+          "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
             "chownr": "^1.1.1",
@@ -12611,6 +13856,7 @@
           "version": "7.1.6",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
           "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+          "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
             "inflight": "^1.0.4",
@@ -12624,6 +13870,7 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -12632,6 +13879,7 @@
           "version": "6.0.1",
           "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
           "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+          "dev": true,
           "requires": {
             "figgy-pudding": "^3.5.1"
           }
@@ -12639,7 +13887,8 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -12863,12 +14112,14 @@
     "mime-db": {
       "version": "1.37.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
-      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
+      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
+      "dev": true
     },
     "mime-types": {
       "version": "2.1.21",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
       "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+      "dev": true,
       "requires": {
         "mime-db": "~1.37.0"
       }
@@ -12876,7 +14127,8 @@
     "mimic-fn": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
+      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+      "dev": true
     },
     "mimic-response": {
       "version": "1.0.1",
@@ -12962,7 +14214,8 @@
     "minimist": {
       "version": "0.0.8",
       "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+      "dev": true
     },
     "minipass": {
       "version": "3.1.1",
@@ -13012,6 +14265,7 @@
       "version": "1.3.3",
       "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
       "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+      "dev": true,
       "requires": {
         "minipass": "^2.9.0"
       },
@@ -13020,6 +14274,7 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -13028,7 +14283,8 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -13036,6 +14292,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
       "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+      "dev": true,
       "requires": {
         "concat-stream": "^1.5.0",
         "duplexify": "^3.4.2",
@@ -13074,6 +14331,7 @@
       "version": "0.5.1",
       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
       "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "dev": true,
       "requires": {
         "minimist": "0.0.8"
       }
@@ -13110,6 +14368,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
       "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+      "dev": true,
       "requires": {
         "aproba": "^1.1.1",
         "copy-concurrently": "^1.0.0",
@@ -13122,7 +14381,8 @@
     "ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
     },
     "multicast-dns": {
       "version": "6.2.3",
@@ -13316,12 +14576,20 @@
       }
     },
     "node-releases": {
-      "version": "1.1.29",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.29.tgz",
-      "integrity": "sha512-R5bDhzh6I+tpi/9i2hrrvGJ3yKPYzlVOORDkXhnZuwi5D3q1I5w4vYy24PJXTcLk9Q0kws9TO77T75bcK8/ysQ==",
+      "version": "1.1.50",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.50.tgz",
+      "integrity": "sha512-lgAmPv9eYZ0bGwUYAKlr8MG6K4CvWliWqnkcT2P8mMAgVrH3lqfBPorFlxiG1pHQnqmavJZ9vbMXUTNyMLbrgQ==",
       "dev": true,
       "requires": {
-        "semver": "^5.3.0"
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
       }
     },
     "nopt": {
@@ -13337,6 +14605,7 @@
       "version": "2.5.0",
       "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
       "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
+      "dev": true,
       "requires": {
         "hosted-git-info": "^2.1.4",
         "resolve": "^1.10.0",
@@ -13369,6 +14638,7 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
       "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
+      "dev": true,
       "requires": {
         "npm-normalize-package-bin": "^1.0.1"
       }
@@ -13387,12 +14657,14 @@
     "npm-normalize-package-bin": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
-      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
+      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
+      "dev": true
     },
     "npm-package-arg": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
       "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
+      "dev": true,
       "requires": {
         "hosted-git-info": "^2.6.0",
         "osenv": "^0.1.5",
@@ -13404,6 +14676,7 @@
       "version": "1.4.8",
       "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
       "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
+      "dev": true,
       "requires": {
         "ignore-walk": "^3.0.1",
         "npm-bundled": "^1.0.1",
@@ -13414,6 +14687,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz",
       "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==",
+      "dev": true,
       "requires": {
         "figgy-pudding": "^3.5.1",
         "npm-package-arg": "^6.0.0",
@@ -13424,6 +14698,7 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz",
       "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==",
+      "dev": true,
       "requires": {
         "JSONStream": "^1.3.4",
         "bluebird": "^3.5.1",
@@ -13438,6 +14713,7 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -13445,12 +14721,14 @@
         "safe-buffer": {
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
-          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
+          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+          "dev": true
         },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -13487,7 +14765,8 @@
     "oauth-sign": {
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+      "dev": true
     },
     "object-assign": {
       "version": "4.1.1",
@@ -13556,6 +14835,7 @@
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
       "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+      "dev": true,
       "requires": {
         "define-properties": "^1.1.2",
         "function-bind": "^1.1.1",
@@ -13567,6 +14847,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
       "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
+      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "es-abstract": "^1.17.0-next.1"
@@ -13576,6 +14857,7 @@
           "version": "1.17.4",
           "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
           "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
+          "dev": true,
           "requires": {
             "es-to-primitive": "^1.2.1",
             "function-bind": "^1.1.1",
@@ -13594,6 +14876,7 @@
           "version": "1.2.1",
           "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
           "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+          "dev": true,
           "requires": {
             "is-callable": "^1.1.4",
             "is-date-object": "^1.0.1",
@@ -13603,17 +14886,20 @@
         "has-symbols": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
-          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+          "dev": true
         },
         "is-callable": {
           "version": "1.1.5",
           "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
-          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q=="
+          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+          "dev": true
         },
         "is-regex": {
           "version": "1.0.5",
           "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
           "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+          "dev": true,
           "requires": {
             "has": "^1.0.3"
           }
@@ -13621,12 +14907,14 @@
         "object-inspect": {
           "version": "1.7.0",
           "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
-          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw=="
+          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+          "dev": true
         },
         "object-keys": {
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+          "dev": true
         }
       }
     },
@@ -13774,6 +15062,7 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz",
       "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==",
+      "dev": true,
       "requires": {
         "is-wsl": "^2.1.0"
       },
@@ -13781,7 +15070,8 @@
         "is-wsl": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz",
-          "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog=="
+          "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==",
+          "dev": true
         }
       }
     },
@@ -13836,6 +15126,7 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz",
       "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==",
+      "dev": true,
       "requires": {
         "chalk": "^2.4.2",
         "cli-cursor": "^3.1.0",
@@ -13849,12 +15140,14 @@
         "ansi-regex": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "dev": true
         },
         "cli-cursor": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
           "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+          "dev": true,
           "requires": {
             "restore-cursor": "^3.1.0"
           }
@@ -13863,6 +15156,7 @@
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
           "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+          "dev": true,
           "requires": {
             "mimic-fn": "^2.1.0"
           }
@@ -13871,6 +15165,7 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
           "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+          "dev": true,
           "requires": {
             "onetime": "^5.1.0",
             "signal-exit": "^3.0.2"
@@ -13880,6 +15175,7 @@
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
           "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "dev": true,
           "requires": {
             "ansi-regex": "^4.1.0"
           }
@@ -14037,6 +15333,7 @@
       "version": "9.5.8",
       "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz",
       "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==",
+      "dev": true,
       "requires": {
         "bluebird": "^3.5.3",
         "cacache": "^12.0.2",
@@ -14073,6 +15370,7 @@
           "version": "12.0.3",
           "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
           "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+          "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
             "chownr": "^1.1.1",
@@ -14095,6 +15393,7 @@
               "version": "7.1.6",
               "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
               "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+              "dev": true,
               "requires": {
                 "fs.realpath": "^1.0.0",
                 "inflight": "^1.0.4",
@@ -14110,6 +15409,7 @@
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
           "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+          "dev": true,
           "requires": {
             "pump": "^3.0.0"
           }
@@ -14118,6 +15418,7 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -14126,6 +15427,7 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -14134,12 +15436,14 @@
         "semver": {
           "version": "5.7.1",
           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+          "dev": true
         },
         "ssri": {
           "version": "6.0.1",
           "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
           "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+          "dev": true,
           "requires": {
             "figgy-pudding": "^3.5.1"
           }
@@ -14147,7 +15451,8 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -14160,6 +15465,7 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
       "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
+      "dev": true,
       "requires": {
         "cyclist": "^1.0.1",
         "inherits": "^2.0.3",
@@ -14367,7 +15673,8 @@
     "performance-now": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+      "dev": true
     },
     "picomatch": {
       "version": "2.0.7",
@@ -15163,7 +16470,8 @@
     "process-nextick-args": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
-      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+      "dev": true
     },
     "progress": {
       "version": "2.0.3",
@@ -15184,12 +16492,14 @@
     "promise-inflight": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
+      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+      "dev": true
     },
     "promise-retry": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
       "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
+      "dev": true,
       "requires": {
         "err-code": "^1.0.0",
         "retry": "^0.10.0"
@@ -15198,7 +16508,8 @@
         "retry": {
           "version": "0.10.1",
           "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
-          "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
+          "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
+          "dev": true
         }
       }
     },
@@ -15230,6 +16541,7 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz",
       "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==",
+      "dev": true,
       "requires": {
         "genfun": "^5.0.0"
       }
@@ -15390,7 +16702,8 @@
     "psl": {
       "version": "1.1.31",
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
-      "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw=="
+      "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
+      "dev": true
     },
     "public-encrypt": {
       "version": "4.0.3",
@@ -15410,6 +16723,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
       "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+      "dev": true,
       "requires": {
         "end-of-stream": "^1.1.0",
         "once": "^1.3.1"
@@ -15419,6 +16733,7 @@
       "version": "1.5.1",
       "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz",
       "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==",
+      "dev": true,
       "requires": {
         "duplexify": "^3.6.0",
         "inherits": "^2.0.3",
@@ -15429,6 +16744,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz",
           "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==",
+          "dev": true,
           "requires": {
             "end-of-stream": "^1.1.0",
             "once": "^1.3.1"
@@ -15439,7 +16755,8 @@
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true
     },
     "pupa": {
       "version": "2.0.1",
@@ -15474,7 +16791,8 @@
     "qs": {
       "version": "6.5.2",
       "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
-      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA=="
+      "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+      "dev": true
     },
     "query-string": {
       "version": "4.3.4",
@@ -15732,6 +17050,7 @@
       "version": "2.0.13",
       "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz",
       "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==",
+      "dev": true,
       "requires": {
         "glob": "^7.1.1",
         "graceful-fs": "^4.1.2",
@@ -15744,6 +17063,7 @@
       "version": "5.3.1",
       "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz",
       "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==",
+      "dev": true,
       "requires": {
         "read-package-json": "^2.0.0",
         "readdir-scoped-modules": "^1.0.0",
@@ -15754,6 +17074,7 @@
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
       "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+      "dev": true,
       "requires": {
         "core-util-is": "~1.0.0",
         "inherits": "~2.0.3",
@@ -15768,6 +17089,7 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
       "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
+      "dev": true,
       "requires": {
         "debuglog": "^1.0.1",
         "dezalgo": "^1.0.0",
@@ -15814,12 +17136,13 @@
       "dev": true
     },
     "regenerator-transform": {
-      "version": "0.14.1",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.1.tgz",
-      "integrity": "sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ==",
+      "version": "0.14.2",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz",
+      "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==",
       "dev": true,
       "requires": {
-        "private": "^0.1.6"
+        "@babel/runtime": "^7.8.4",
+        "private": "^0.1.8"
       }
     },
     "regex-not": {
@@ -15912,6 +17235,7 @@
       "version": "2.88.0",
       "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
       "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+      "dev": true,
       "requires": {
         "aws-sign2": "~0.7.0",
         "aws4": "^1.8.0",
@@ -15957,6 +17281,7 @@
       "version": "1.11.1",
       "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz",
       "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==",
+      "dev": true,
       "requires": {
         "path-parse": "^1.0.6"
       }
@@ -16052,6 +17377,7 @@
       "version": "2.7.1",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
       "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
       "requires": {
         "glob": "^7.1.3"
       }
@@ -16110,6 +17436,7 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
       "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+      "dev": true,
       "requires": {
         "is-promise": "^2.1.0"
       }
@@ -16118,6 +17445,7 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
       "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+      "dev": true,
       "requires": {
         "aproba": "^1.1.1"
       }
@@ -16135,15 +17463,11 @@
         "tslib": "^1.9.0"
       }
     },
-    "rxjs-compat": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.5.4.tgz",
-      "integrity": "sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA=="
-    },
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
     },
     "safe-regex": {
       "version": "1.1.0",
@@ -16365,6 +17689,7 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz",
       "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==",
+      "dev": true,
       "requires": {
         "semver": "^5.0.0"
       }
@@ -16579,7 +17904,8 @@
     "signal-exit": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
-      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
+      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+      "dev": true
     },
     "simple-swizzle": {
       "version": "0.2.2",
@@ -16601,7 +17927,8 @@
     "slash": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
-      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+      "dev": true
     },
     "slugify": {
       "version": "1.4.0",
@@ -16611,7 +17938,8 @@
     "smart-buffer": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz",
-      "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw=="
+      "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==",
+      "dev": true
     },
     "snapdragon": {
       "version": "0.8.2",
@@ -16872,6 +18200,7 @@
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz",
       "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==",
+      "dev": true,
       "requires": {
         "ip": "1.1.5",
         "smart-buffer": "^4.1.0"
@@ -16881,6 +18210,7 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
       "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
+      "dev": true,
       "requires": {
         "agent-base": "~4.2.1",
         "socks": "~2.3.2"
@@ -16890,6 +18220,7 @@
           "version": "4.2.1",
           "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
           "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+          "dev": true,
           "requires": {
             "es6-promisify": "^5.0.0"
           }
@@ -16914,7 +18245,8 @@
     "source-map": {
       "version": "0.7.3",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
+      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+      "dev": true
     },
     "source-map-loader": {
       "version": "0.2.4",
@@ -16966,12 +18298,14 @@
     "sourcemap-codec": {
       "version": "1.4.8",
       "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
-      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
+      "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
+      "dev": true
     },
     "spdx-correct": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
       "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
+      "dev": true,
       "requires": {
         "spdx-expression-parse": "^3.0.0",
         "spdx-license-ids": "^3.0.0"
@@ -16980,12 +18314,14 @@
     "spdx-exceptions": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
-      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
+      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==",
+      "dev": true
     },
     "spdx-expression-parse": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
       "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
+      "dev": true,
       "requires": {
         "spdx-exceptions": "^2.1.0",
         "spdx-license-ids": "^3.0.0"
@@ -16994,7 +18330,8 @@
     "spdx-license-ids": {
       "version": "3.0.5",
       "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
-      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
+      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
+      "dev": true
     },
     "spdy": {
       "version": "4.0.1",
@@ -17113,6 +18450,7 @@
       "version": "1.16.1",
       "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
       "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+      "dev": true,
       "requires": {
         "asn1": "~0.2.3",
         "assert-plus": "^1.0.0",
@@ -17267,6 +18605,7 @@
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
       "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+      "dev": true,
       "requires": {
         "end-of-stream": "^1.1.0",
         "stream-shift": "^1.0.0"
@@ -17286,9 +18625,10 @@
       }
     },
     "stream-shift": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.0.tgz",
-      "integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI="
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
+      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
+      "dev": true
     },
     "streamroller": {
       "version": "1.0.6",
@@ -17383,6 +18723,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
       "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
+      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "function-bind": "^1.1.1"
@@ -17392,6 +18733,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
       "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
+      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "function-bind": "^1.1.1"
@@ -17401,6 +18743,7 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
       "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
       "requires": {
         "safe-buffer": "~5.1.0"
       }
@@ -17665,7 +19008,8 @@
     "symbol-observable": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
-      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
+      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+      "dev": true
     },
     "tapable": {
       "version": "1.1.3",
@@ -17730,6 +19074,7 @@
       "version": "4.4.13",
       "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
       "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+      "dev": true,
       "requires": {
         "chownr": "^1.1.1",
         "fs-minipass": "^1.2.5",
@@ -17744,6 +19089,7 @@
           "version": "1.2.7",
           "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
           "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+          "dev": true,
           "requires": {
             "minipass": "^2.6.0"
           }
@@ -17752,6 +19098,7 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -17760,7 +19107,8 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -18023,6 +19371,7 @@
       "version": "2.0.5",
       "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
       "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+      "dev": true,
       "requires": {
         "readable-stream": "~2.3.6",
         "xtend": "~4.0.1"
@@ -18077,6 +19426,7 @@
       "version": "0.0.33",
       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
       "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+      "dev": true,
       "requires": {
         "os-tmpdir": "~1.0.2"
       }
@@ -18157,6 +19507,7 @@
       "version": "2.4.3",
       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
       "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+      "dev": true,
       "requires": {
         "psl": "^1.1.24",
         "punycode": "^1.4.1"
@@ -18165,7 +19516,8 @@
         "punycode": {
           "version": "1.4.1",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+          "dev": true
         }
       }
     },
@@ -18333,6 +19685,7 @@
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
       "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
       "requires": {
         "safe-buffer": "^5.0.1"
       }
@@ -18340,7 +19693,8 @@
     "tweetnacl": {
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "dev": true
     },
     "type": {
       "version": "1.2.0",
@@ -18393,7 +19747,8 @@
     "typedarray": {
       "version": "0.0.6",
       "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
-      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c="
+      "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+      "dev": true
     },
     "typedarray-to-buffer": {
       "version": "3.1.5",
@@ -18550,6 +19905,7 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
       "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+      "dev": true,
       "requires": {
         "unique-slug": "^2.0.0"
       }
@@ -18558,6 +19914,7 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
       "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+      "dev": true,
       "requires": {
         "imurmurhash": "^0.1.4"
       }
@@ -18575,6 +19932,7 @@
       "version": "0.4.20",
       "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz",
       "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==",
+      "dev": true,
       "requires": {
         "debug": "^3.0.0",
         "request": "^2.88.0",
@@ -18585,6 +19943,7 @@
           "version": "3.2.6",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
           "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -18592,7 +19951,8 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         }
       }
     },
@@ -18858,6 +20218,7 @@
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       }
@@ -18947,12 +20308,14 @@
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
     },
     "util-promisify": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz",
       "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=",
+      "dev": true,
       "requires": {
         "object.getownpropertydescriptors": "^2.0.3"
       }
@@ -19043,7 +20406,8 @@
     "uuid": {
       "version": "3.3.2",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
-      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
+      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+      "dev": true
     },
     "valid-identifier": {
       "version": "0.0.2",
@@ -19055,6 +20419,7 @@
       "version": "3.0.4",
       "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
       "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+      "dev": true,
       "requires": {
         "spdx-correct": "^3.0.0",
         "spdx-expression-parse": "^3.0.0"
@@ -19064,6 +20429,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
       "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
+      "dev": true,
       "requires": {
         "builtins": "^1.0.3"
       }
@@ -19084,6 +20450,7 @@
       "version": "1.10.0",
       "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
       "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "core-util-is": "1.0.2",
@@ -19138,6 +20505,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
       "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+      "dev": true,
       "requires": {
         "defaults": "^1.0.3"
       }
@@ -19917,12 +21285,14 @@
     "xtend": {
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
-      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
+      "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+      "dev": true
     },
     "y18n": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz",
-      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w=="
+      "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==",
+      "dev": true
     },
     "yallist": {
       "version": "2.1.2",
diff --git a/package.json b/package.json
index 940e75916..b4feb7909 100644
--- a/package.json
+++ b/package.json
@@ -62,8 +62,8 @@
     "jalhyd": "file:../jalhyd",
     "material-design-icons": "^3.0.1",
     "mathjax": "^2.7.7",
-    "ngx-konami": "^1.7.1",
     "mermaid": "^8.3.1",
+    "ngx-konami": "^1.7.1",
     "ngx-markdown": "^9.0.0",
     "ngx-material-file-input": "^2.1.0",
     "ngx-matomo": "^0.1.4",
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 9f73b89bf..8509d10d6 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -29,7 +29,7 @@ import { MaterialFileInputModule } from "ngx-material-file-input";
 import { DragDropModule } from "@angular/cdk/drag-drop";
 
 import { TableModule } from "primeng/table";
-/* import { KonamiModule } from "ngx-konami"; */
+import { KonamiModule } from "ngx-konami";
 import { MarkdownModule, MarkedOptions } from "ngx-markdown";
 
 import { FlexLayoutModule } from "@angular/flex-layout";
@@ -173,7 +173,7 @@ const appRoutes: Routes = [
     ),
     StorageServiceModule,
     TableModule,
-    // KonamiModule
+    KonamiModule
   ],
   declarations: [ // composants, pipes et directives
     AppComponent,
-- 
GitLab


From 0f5628324e56e0d24c08645b40aa21ad1e0bec4a Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 5 Mar 2020 11:05:50 +0100
Subject: [PATCH 004/117] Convert info to warning

---
 src/locale/messages.en.json | 4 ++--
 src/locale/messages.fr.json | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 65e40abcb..d3016519f 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -495,7 +495,6 @@
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length",
     "INFO_EXAMPLES_TITLE": "Examples",
     "INFO_EXAMPLES_SUBTITLE": "Load standard examples",
-    "INFO_PAR_P_WAS_IGNORED": "Given P value was ignored",
     "INFO_YAXB_TITRE": "Linear function",
     "INFO_YAXB_TITRE_COURT": "Linear f.",
     "INFO_TRIGO_TITRE": "Trigonometric function",
@@ -526,5 +525,6 @@
     "WARNING_SECTION_OVERFLOW_ABSC": "Overflow: water elevation exceeds embankment elevation between abscissae %xa% et %xb%",
     "WARNING_SESSION_LOAD_NOTES_MERGED": "Notes have been merged",
     "WARNING_VALUE_ROUNDED_TO_INTEGER": "Value of %symbol% was rounded to %rounded%",
-    "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%"
+    "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%",
+    "WARNING_PAR_P_WAS_IGNORED": "Given P value was ignored"
 }
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 63ba40050..1e7a68116 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -494,7 +494,6 @@
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir",
     "INFO_EXAMPLES_TITLE": "Exemples",
     "INFO_EXAMPLES_SUBTITLE": "Charger des exemples types",
-    "INFO_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée",
     "INFO_YAXB_TITRE": "Fonction affine",
     "INFO_YAXB_TITRE_COURT": "F. affine",
     "INFO_TRIGO_TITRE": "Fonction trigonométrique",
@@ -525,5 +524,6 @@
     "WARNING_SECTION_OVERFLOW_ABSC": "Débordement: la cote de l'eau dépasse la cote de berge entre les abscisses %xa% et %xb%",
     "WARNING_SESSION_LOAD_NOTES_MERGED": "Les notes ont été fusionnées",
     "WARNING_VALUE_ROUNDED_TO_INTEGER": "La valeur de %symbol% a été arrondie à %rounded%",
-    "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%"
+    "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%",
+    "WARNING_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée"
 }
-- 
GitLab


From 63c79d48595194e15b28f66a5602a51200c39546 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 5 Mar 2020 16:39:45 +0100
Subject: [PATCH 005/117] Typo

---
 src/app/calculators/par/fr.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/calculators/par/fr.json b/src/app/calculators/par/fr.json
index 25946d0b2..2fc234d84 100644
--- a/src/app/calculators/par/fr.json
+++ b/src/app/calculators/par/fr.json
@@ -18,7 +18,7 @@
     "h": "Hauteur d'eau dans la passe",
     "ha": "Charge amont",
     "qStar": "Débit adimensionnel",
-    "V": "Vitese débitante",
+    "V": "Vitesse débitante",
     "Nb": "Nombre de ralentisseurs",
     "ZR1": "Cote de radier à l'amont",
     "ZD2": "Cote de déversement à l'aval",
-- 
GitLab


From 4fa1fa56c23258fce333e26b99d09b614838c742 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 5 Mar 2020 17:17:30 +0100
Subject: [PATCH 006/117] Translation of PAR messages

---
 src/locale/messages.en.json | 16 ++++++++++++++--
 src/locale/messages.fr.json | 16 ++++++++++++++--
 2 files changed, 28 insertions(+), 4 deletions(-)

diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index d3016519f..d1b0952ad 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -32,7 +32,6 @@
     "ERROR_PAB_CALC_Z1_CLOISON": "Error in calculating the upstream water elevation of a wall",
     "ERROR_PAB_Z1_LOWER_THAN_Z2": "Upstream water elevation should be higher than downstream water elevation",
     "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "Upstream water elevation is too low for water to flow through the first wall",
-    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_PCT": "P value deviates by more than 10% from standard value %stdP%",
     "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value",
     "ERROR_PARAM_MUST_BE_AT_LEAST": "Value must be >= %s",
     "ERROR_PARAM_MUST_BE_POSITIVE": "Please type a positive numeric value",
@@ -526,5 +525,18 @@
     "WARNING_SESSION_LOAD_NOTES_MERGED": "Notes have been merged",
     "WARNING_VALUE_ROUNDED_TO_INTEGER": "Value of %symbol% was rounded to %rounded%",
     "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%",
-    "WARNING_PAR_P_WAS_IGNORED": "Given P value was ignored"
+    "WARNING_PAR_P_WAS_IGNORED": "Given P value was ignored",
+    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "Given P value is more than 10% lower or more than 5% greater than standard value %stdP%",
+    "ERROR_PAR_QSTAR_OUT_OF_RANGE": "qStar value %val% is outside of validity interval [ %min%, %max% ] given by abacuses",
+    "ERROR_PAR_HA_OUT_OF_RANGE": "ha value %val% is outside of validity interval [ %min%, %max% ] given by abacuses",
+    "WARNING_PAR_L": "A witdh greater than %max% is discouraged",
+    "ERROR_PAR_L": "Width is outside validity interval [ %min%, %max% ]",
+    "WARNING_ERROR_PAR_L": "Width is outside validity interval [ %min%, %max% ]",
+    "WARNING_PAR_S": "Slope should not be outside interval [ %min%, %max% ]",
+    "ERROR_PAR_S": "Slope is outside validity interval [ %min%, %max% ]",
+    "WARNING_PAR_A": "A height greater than %max% is discouraged",
+    "ERROR_PAR_A": "Height is outside validity interval [ %min%, %max% ]",
+    "WARNING_PAR_N_ROUNDED_TO_05": "Number of patterns was rounded to %val%",
+    "WARNING_PAR_M_ROUNDED_TO_1": "Number of longitudinal strips was rounded to %val%",
+    "ERROR_PAR_M_GREATER_THAN_2_N": "Number of longitudinal strips exceeds 2N = %max%"
 }
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 1e7a68116..db1a5115f 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -32,7 +32,6 @@
     "ERROR_PAB_CALC_Z1_CLOISON": "Erreur de calcul de la cote de l'eau amont d'une cloison",
     "ERROR_PAB_Z1_LOWER_THAN_Z2": "La cote de l'eau amont doit être supérieure à la cote de l'eau aval",
     "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "La cote de l'eau amont est trop basse pour que l'eau s'écoule à travers la première cloison",
-    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_PCT": "La valeur de P s'écarte de plus de 10% de la valeur standard %stdP%",
     "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique",
     "ERROR_PARAM_MUST_BE_AT_LEAST": "La valeur doit être >= %s",
     "ERROR_PARAM_MUST_BE_POSITIVE": "Veuillez entrer une valeur numérique positive",
@@ -525,5 +524,18 @@
     "WARNING_SESSION_LOAD_NOTES_MERGED": "Les notes ont été fusionnées",
     "WARNING_VALUE_ROUNDED_TO_INTEGER": "La valeur de %symbol% a été arrondie à %rounded%",
     "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%",
-    "WARNING_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée"
+    "WARNING_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée",
+    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "La valeur de P fournie est plus de 10% plus petite ou plus de 5% plus grande que la valeur standard %stdP%",
+    "ERROR_PAR_QSTAR_OUT_OF_RANGE": "La valeur %val% de qStar sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques",
+    "ERROR_PAR_HA_OUT_OF_RANGE": "La valeur %val% de ha sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques",
+    "WARNING_PAR_L": "Une largeur supérieure à %max% est déconseillée",
+    "ERROR_PAR_L": "La largeur est en dehors de l'intervalle de validité [ %min%, %max% ]",
+    "WARNING_ERROR_PAR_L": "La largeur est en dehors de l'intervalle de validité [ %min%, %max% ]",
+    "WARNING_PAR_S": "La pente ne devrait pas être en dehors de l'intervalle [ %min%, %max% ]",
+    "ERROR_PAR_S": "La pente est en dehors de l'intervalle de validité [ %min%, %max% ]",
+    "WARNING_PAR_A": "Une hauteur supérieure à %max% est déconseillée",
+    "ERROR_PAR_A": "La hauteur est en dehors de l'intervalle de validité [ %min%, %max% ]",
+    "WARNING_PAR_N_ROUNDED_TO_05": "Le nombre de motifs a été arrondi à %val%",
+    "WARNING_PAR_M_ROUNDED_TO_1": "Le nombre de bandes a été arrondi à %val%",
+    "ERROR_PAR_M_GREATER_THAN_2_N": "Le nombre de bandes dépasse 2N = %max%"
 }
-- 
GitLab


From e11598bc22fdb2e07635d07c66adeda301c4075c Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Tue, 17 Mar 2020 17:46:30 +0100
Subject: [PATCH 007/117] PAR : simulation

---
 e2e/calculate-all-params.e2e-spec.ts          |  4 +-
 e2e/tested_calctypes.ts                       |  2 +-
 src/app/calculators/parsimulation/config.json | 60 ++++++++++++++++
 src/app/calculators/parsimulation/en.json     | 68 +++++++++++++++++++
 src/app/calculators/parsimulation/fr.json     | 68 +++++++++++++++++++
 src/app/config.json                           |  2 +-
 .../formulaire/definition/form-fixedvar.ts    |  7 ++
 src/app/formulaire/elements/fieldset.ts       |  2 +-
 src/locale/messages.en.json                   |  8 +++
 src/locale/messages.fr.json                   |  8 +++
 10 files changed, 225 insertions(+), 4 deletions(-)
 create mode 100644 src/app/calculators/parsimulation/config.json
 create mode 100644 src/app/calculators/parsimulation/en.json
 create mode 100644 src/app/calculators/parsimulation/fr.json

diff --git a/e2e/calculate-all-params.e2e-spec.ts b/e2e/calculate-all-params.e2e-spec.ts
index f261a8df7..e250d6aac 100644
--- a/e2e/calculate-all-params.e2e-spec.ts
+++ b/e2e/calculate-all-params.e2e-spec.ts
@@ -52,7 +52,9 @@ describe("ngHyd − calculate all parameters of all calculators", async () => {
 
         if (inputs.length > 0) {
           // for each param
-          for (const input of inputs) {
+          for (let i = 0; i < inputs.length; i++) {
+            // grab input again because calculating the module just refreshed all the fieldsets
+            const input = (await calcPage.getParamInputsHavingCalcMode())[i];
             // click "calc" mode button for this parameter
             await calcPage.setParamMode(input, "cal");
             // check that only 1 button is in "calc" state
diff --git a/e2e/tested_calctypes.ts b/e2e/tested_calctypes.ts
index 9b86493e2..e4eed0389 100644
--- a/e2e/tested_calctypes.ts
+++ b/e2e/tested_calctypes.ts
@@ -9,5 +9,5 @@ export const testedCalcTypes = [
     // omit 16 - CloisonAval
     17, 18, 19, 20, 21, 22, 23, 24, 25,
     // omit 26 - YAXN
-    27
+    27, 29
 ];
diff --git a/src/app/calculators/parsimulation/config.json b/src/app/calculators/parsimulation/config.json
new file mode 100644
index 000000000..faeb2718b
--- /dev/null
+++ b/src/app/calculators/parsimulation/config.json
@@ -0,0 +1,60 @@
+[
+    {
+        "id": "fs_param_hydro",
+        "type": "fieldset",
+        "fields": [
+            "Q",
+            "Z1",
+            {
+                "id": "Z2",
+                "allowEmpty": true
+            }
+        ]
+    },
+    {
+        "id": "fs_geometry",
+        "type": "fieldset",
+        "fields": [
+            {
+                "type": "select",
+                "id": "select_par_type",
+                "property": "parType",
+                "default": "PLANE"
+            },
+            "S",
+            {
+                "id": "P",
+                "allowEmpty": true
+            },
+            {
+                "id": "Nb",
+                "allowEmpty": true
+            },
+            {
+                "id": "ZD1",
+                "allowEmpty": true
+            },
+            {
+                "id": "ZR1",
+                "allowEmpty": true
+            },
+            {
+                "id": "ZD2",
+                "allowEmpty": true
+            },
+            {
+                "id": "ZR2",
+                "allowEmpty": true
+            },
+            "L",
+            "a",
+            "N",
+            "M"
+        ]
+    },
+    {
+        "type": "options",
+        "selectIds": [ "select_par_type" ],
+        "help": "par/par_simulation.html"
+    }
+]
diff --git a/src/app/calculators/parsimulation/en.json b/src/app/calculators/parsimulation/en.json
new file mode 100644
index 000000000..3ff2bc405
--- /dev/null
+++ b/src/app/calculators/parsimulation/en.json
@@ -0,0 +1,68 @@
+{
+    "fs_param_hydro": "Hydraulic parameters",
+
+    "Q": "Flow",
+    "Z1": "Upstream water elevation",
+    "Z2": "Downstream water elevation",
+
+    "fs_geometry": "Pass geometry",
+
+    "ZD1": "Upstream spilling elevation",
+    "ZR1": "Upstream apron elevation",
+    "ZD2": "Downstream spilling elevation",
+    "ZR2": "Downstream apron elevation",
+    "S": "Slope",
+    "P": "Space between baffles",
+    "Nb": "Number of baffles",
+    "L": "Pass width",
+    "a": "Baffle / chevron height",
+    "N": "Number of patterns",
+    "M": "Number of longitudinal strips",
+
+    "h": "Water level in the pass",
+    "ha": "Upstream head",
+    "qStar": "Dimensionless flow",
+    "V": "Flow velocity",
+    "ZM": "Minimal rake height of upstream side walls",
+    "LPI": "Pass length following the slope",
+    "LPH": "Pass length in horizontal projection",
+    "A": "A",
+    "B": "B",
+    "C": "C",
+    "D": "D",
+    "H": "Baffle height",
+    "Hmin": "Hmin",
+    "Hmax": "Hmax",
+
+    "select_par_type": "Type de passe",
+    "select_par_type_0": "Plane baffles",
+    "select_par_type_1": "Fatou",
+    "select_par_type_2": "Superactive",
+    "select_par_type_3": "Mixed / chevrons",
+
+    "UNIT_ZD1": "m",
+    "UNIT_S": "m/m",
+    "UNIT_P": "m",
+    "UNIT_NB": "",
+    "UNIT_L": "m",
+    "UNIT_a": "m",
+    "UNIT_N": "",
+    "UNIT_M": "",
+ 
+    "UNIT_H": "m",
+    "UNIT_HA": "m",
+    "UNIT_QSTAR": "m³/s",
+    "UNIT_V": "m/s",
+    "UNIT_ZM": "m",
+    "UNIT_ZR1": "m",
+    "UNIT_A": "m",
+    "UNIT_B": "m",
+    "UNIT_C": "m",
+    "UNIT_D": "m",
+    "UNIT_HMIN": "m",
+    "UNIT_HMAX": "m",
+    "UNIT_ZD2": "m",
+    "UNIT_ZR2": "m",
+    "UNIT_LPI": "m",
+    "UNIT_LPH": "m"
+}
diff --git a/src/app/calculators/parsimulation/fr.json b/src/app/calculators/parsimulation/fr.json
new file mode 100644
index 000000000..5748df1e6
--- /dev/null
+++ b/src/app/calculators/parsimulation/fr.json
@@ -0,0 +1,68 @@
+{
+    "fs_param_hydro": "Paramètres hydrauliques",
+
+    "Q": "Débit",
+    "Z1": "Cote de l'eau amont",
+    "Z2": "Cote de leau aval",
+
+    "fs_geometry": "Géométrie de la passe",
+
+    "ZD1": "Cote de déversement à l'amont",
+    "ZR1": "Cote de radier à l'amont",
+    "ZD2": "Cote de déversement à l'aval",
+    "ZR2": "Cote de radier à l'aval",
+    "S": "Pente",
+    "P": "Espacement entre les ralentisseurs",
+    "Nb": "Nombre de ralentisseurs",
+    "L": "Largeur de la passe",
+    "a": "Hauteur des ralentisseurs / des chevrons",
+    "N": "Nombre de motifs",
+    "M": "Nombre de bandes longitudinales",
+
+    "h": "Hauteur d'eau dans la passe",
+    "ha": "Charge amont",
+    "qStar": "Débit adimensionnel",
+    "V": "Vitesse débitante",
+    "ZM": "Cote d'arase minimale des murs latéraux à l'amont",
+    "LPI": "Longueur de la passe en suivant la pente",
+    "LPH": "Longueur de la passe en projection horizontale",
+    "A": "A",
+    "B": "B",
+    "C": "C",
+    "D": "D",
+    "H": "Hauteur d'un ralentisseur",
+    "Hmin": "Hmin",
+    "Hmax": "Hmax",
+
+    "select_par_type": "Type de passe",
+    "select_par_type_0": "Ralentisseurs plans",
+    "select_par_type_1": "Fatou",
+    "select_par_type_2": "Ralentisseurs suractifs",
+    "select_par_type_3": "Mixte / chevrons",
+
+    "UNIT_ZD1": "m",
+    "UNIT_S": "m/m",
+    "UNIT_P": "m",
+    "UNIT_NB": "",
+    "UNIT_L": "m",
+    "UNIT_a": "m",
+    "UNIT_N": "",
+    "UNIT_M": "",
+ 
+    "UNIT_H": "m",
+    "UNIT_HA": "m",
+    "UNIT_QSTAR": "m³/s",
+    "UNIT_V": "m/s",
+    "UNIT_ZM": "m",
+    "UNIT_ZR1": "m",
+    "UNIT_A": "m",
+    "UNIT_B": "m",
+    "UNIT_C": "m",
+    "UNIT_D": "m",
+    "UNIT_HMIN": "m",
+    "UNIT_HMAX": "m",
+    "UNIT_ZD2": "m",
+    "UNIT_ZR2": "m",
+    "UNIT_LPI": "m",
+    "UNIT_LPH": "m"
+}
diff --git a/src/app/config.json b/src/app/config.json
index 15b90c3af..600172199 100644
--- a/src/app/config.json
+++ b/src/app/config.json
@@ -23,7 +23,7 @@
                 "path": "passe-ralentisseurs.jpg",
                 "credits": "????"
             },
-            "calculators": [ 28 ]
+            "calculators": [ 28, 29 ]
         },
         {
             "name": "PASSE_NATURELLE",
diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts
index b2051ccba..72928a7b9 100644
--- a/src/app/formulaire/definition/form-fixedvar.ts
+++ b/src/app/formulaire/definition/form-fixedvar.ts
@@ -90,6 +90,7 @@ export class FormulaireFixedVar extends FormulaireDefinition {
     protected compute() {
         this.runNubCalc(this.currentNub);
         this.reaffectResultComponents();
+        this.refreshFieldsets();
     }
 
     protected reaffectResultComponents() {
@@ -117,6 +118,12 @@ export class FormulaireFixedVar extends FormulaireDefinition {
         }
     }
 
+    protected refreshFieldsets() {
+        for (const fs of this.allFieldsets) {
+            fs.updateFields();
+        }
+    }
+
     // interface Observer
 
     public update(sender: IObservable, data: any) {
diff --git a/src/app/formulaire/elements/fieldset.ts b/src/app/formulaire/elements/fieldset.ts
index c6e49fa9b..338328bed 100644
--- a/src/app/formulaire/elements/fieldset.ts
+++ b/src/app/formulaire/elements/fieldset.ts
@@ -227,7 +227,7 @@ export class FieldSet extends FormulaireElement implements Observer {
     }
 
     /**
-     * Reflects all properties values in the interface, through the values of the <select> fields
+     * Reloads the model values and properties, and reloads localisation strings
      */
     public updateFields() {
         this.parseFields();
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index d1b0952ad..7bd07e4c7 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -1,4 +1,5 @@
 {
+    "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "At least one of the following values should be specified : %symbols%",
     "ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE": "Only one regulated device is allowed on the downstream wall",
     "WARNING_DEVER_ZR_SUP_Z1": "Elevation of the river bed can't be higher than water elevation: Impossible to calculate the kinetic energy",
     "WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION": "Downstream elevation is higher than weir elevation (possible submersion)",
@@ -32,6 +33,8 @@
     "ERROR_PAB_CALC_Z1_CLOISON": "Error in calculating the upstream water elevation of a wall",
     "ERROR_PAB_Z1_LOWER_THAN_Z2": "Upstream water elevation should be higher than downstream water elevation",
     "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "Upstream water elevation is too low for water to flow through the first wall",
+    "ERROR_PAR_NB_INCONSISTENT": "Number of baffles should be %stdNb%",
+    "ERROR_PAR_ZR_ZD_MISMATCH": "Values of %ZR% and %ZD% mismatch : either %ZR% should be %expectedZR%, or %ZD% should be %expectedZD%",
     "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value",
     "ERROR_PARAM_MUST_BE_AT_LEAST": "Value must be >= %s",
     "ERROR_PARAM_MUST_BE_POSITIVE": "Please type a positive numeric value",
@@ -133,6 +136,8 @@
     "INFO_ENUM_OUVRAGE_Q_REGIME_1": "Partially submerged",
     "INFO_ENUM_OUVRAGE_Q_REGIME_2": "Submerged",
     "INFO_ENUM_OUVRAGE_Q_REGIME_3": "Zero flow",
+    "INFO_ENUM_PARFLOWREGIME_0": "Free",
+    "INFO_ENUM_PARFLOWREGIME_1": "Submerged",
     "INFO_ENUM_STRUCTUREFLOWMODE_0": "Weir",
     "INFO_ENUM_STRUCTUREFLOWMODE_1": "Orifice",
     "INFO_ENUM_STRUCTUREFLOWMODE_2": "Zero flow",
@@ -230,6 +235,7 @@
     "INFO_LIB_DISTANCE_AMONT": "Distance from upstream (m)",
     "INFO_LIB_EC": "EC: Kinetic energy",
     "INFO_LIB_ENUM_MACRORUGOFLOWTYPE": "Flow type",
+    "INFO_LIB_ENUM_PARFLOWREGIME": "Regime",
     "INFO_LIB_FLU": "Subcritical water line",
     "INFO_LIB_FR": "Froude number",
     "INFO_LIB_FS_OUVRAGE": "Device",
@@ -377,6 +383,8 @@
     "INFO_PABPUISSANCE_TITRE_COURT": "FL: diss. power",
     "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power",
     "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures",
+    "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation",
+    "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation",
     "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures",
     "INFO_PAR_TITRE": "Humpback fishway: setup",
     "INFO_PAR_TITRE_COURT": "HF: setup",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index db1a5115f..24a05696c 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -1,4 +1,5 @@
 {
+    "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "Au moins une des valeurs suivantes doit être renseignée&nbsp;: %symbols%",
     "ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE": "Un seul ouvrage régulé est autorisé sur la cloison aval",
     "WARNING_DEVER_ZR_SUP_Z1": "La cote du lit du cours d'eau ne peut pas être supérieure à la cote de l'eau&nbsp;: Impossible de calculer l'énergie cinétique",
     "WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION": "La cote de l'eau aval est plus élevée que la cote du seuil (ennoiement possible)",
@@ -32,6 +33,8 @@
     "ERROR_PAB_CALC_Z1_CLOISON": "Erreur de calcul de la cote de l'eau amont d'une cloison",
     "ERROR_PAB_Z1_LOWER_THAN_Z2": "La cote de l'eau amont doit être supérieure à la cote de l'eau aval",
     "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "La cote de l'eau amont est trop basse pour que l'eau s'écoule à travers la première cloison",
+    "ERROR_PAR_NB_INCONSISTENT": "Le nombre de ralentisseurs devrait être %stdNb%",
+    "ERROR_PAR_ZR_ZD_MISMATCH": "Les valeurs de %ZR% et %ZD% ne correspondent pas&nbsp;: soit %ZR% devrait valoir %expectedZR%, soit %ZD% devrait valoir %expectedZD%",
     "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique",
     "ERROR_PARAM_MUST_BE_AT_LEAST": "La valeur doit être >= %s",
     "ERROR_PARAM_MUST_BE_POSITIVE": "Veuillez entrer une valeur numérique positive",
@@ -133,6 +136,8 @@
     "INFO_ENUM_OUVRAGE_Q_REGIME_1": "Partiellement noyé",
     "INFO_ENUM_OUVRAGE_Q_REGIME_2": "Noyé",
     "INFO_ENUM_OUVRAGE_Q_REGIME_3": "Débit nul",
+    "INFO_ENUM_PARFLOWREGIME_0": "Dénoyé",
+    "INFO_ENUM_PARFLOWREGIME_1": "Noyé",
     "INFO_ENUM_STRUCTUREFLOWMODE_0": "Surface libre",
     "INFO_ENUM_STRUCTUREFLOWMODE_1": "En charge",
     "INFO_ENUM_STRUCTUREFLOWMODE_2": "Débit nul",
@@ -229,6 +234,7 @@
     "INFO_LIB_DISTANCE_AMONT": "Distance depuis l'amont (m)",
     "INFO_LIB_EC": "EC: Énergie cinétique",
     "INFO_LIB_ENUM_MACRORUGOFLOWTYPE": "Type d'écoulement",
+    "INFO_LIB_ENUM_PARFLOWREGIME": "Régime",
     "INFO_LIB_FLU": "Ligne d'eau fluviale",
     "INFO_LIB_FR": "Froude",
     "INFO_LIB_FS_OUVRAGE": "Ouvrage",
@@ -379,6 +385,8 @@
     "INFO_PARALLELSTRUCTURE_TITRE": "Lois d'ouvrages",
     "INFO_PAR_TITRE": "Passe à ralentisseurs&nbsp;: calage",
     "INFO_PAR_TITRE_COURT": "PAR&nbsp;: calage",
+    "INFO_PARSIMULATION_TITRE": "Passe à ralentisseurs&nbsp;: simulation",
+    "INFO_PARSIMULATION_TITRE_COURT": "PAR&nbsp;: simulation",
     "INFO_PARAMFIELD_AWAITING_CALCULATION": "En attente de calcul",
     "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Conditions aux limites",
     "INFO_PARAMFIELD_CALCULATED": "Calculé",
-- 
GitLab


From 4e421b361c8ca46ed2be631900816413d9caa3ff Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Wed, 18 Mar 2020 10:21:34 +0100
Subject: [PATCH 008/117] PAR Simulation: move L field up

---
 src/app/calculators/parsimulation/config.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/calculators/parsimulation/config.json b/src/app/calculators/parsimulation/config.json
index faeb2718b..ae4302401 100644
--- a/src/app/calculators/parsimulation/config.json
+++ b/src/app/calculators/parsimulation/config.json
@@ -21,6 +21,7 @@
                 "property": "parType",
                 "default": "PLANE"
             },
+            "L",
             "S",
             {
                 "id": "P",
@@ -46,7 +47,6 @@
                 "id": "ZR2",
                 "allowEmpty": true
             },
-            "L",
             "a",
             "N",
             "M"
-- 
GitLab


From 5cf47432192108889d5f5de5af6a3f1daf175f7d Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 19 Mar 2020 09:42:29 +0100
Subject: [PATCH 009/117] Update package-lock

---
 package-lock.json | 1187 ++++++++++++++++++++-------------------------
 1 file changed, 517 insertions(+), 670 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index c20e1d0d7..9cfb0cb06 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -124,7 +124,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
           "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -133,7 +132,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
           "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
-          "dev": true,
           "requires": {
             "@babel/helper-explode-assignable-expression": "^7.8.3",
             "@babel/types": "^7.8.3"
@@ -143,10 +141,8 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz",
           "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==",
-          "dev": true,
           "requires": {
             "@babel/helper-hoist-variables": "^7.8.3",
-            "@babel/traverse": "^7.8.3",
             "@babel/types": "^7.8.7"
           }
         },
@@ -154,7 +150,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
           "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
-          "dev": true,
           "requires": {
             "@babel/helper-function-name": "^7.8.3",
             "@babel/types": "^7.8.3",
@@ -165,9 +160,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
           "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
-          "dev": true,
           "requires": {
-            "@babel/traverse": "^7.8.3",
             "@babel/types": "^7.8.3"
           }
         },
@@ -175,10 +168,8 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
           "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
           "requires": {
             "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
             "@babel/types": "^7.8.3"
           }
         },
@@ -186,7 +177,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
           "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -195,7 +185,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
           "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -204,7 +193,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
           "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -213,7 +201,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
           "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -222,7 +209,23 @@
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz",
           "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==",
-          "dev": true,
+          "requires": {
+            "@babel/helper-module-imports": "^7.8.3",
+            "@babel/helper-replace-supers": "^7.8.6",
+            "@babel/helper-simple-access": "^7.8.3",
+            "@babel/types": "^7.8.6",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -241,6 +244,23 @@
             "uri-js": "^4.2.2"
           }
         },
+        "browserslist": {
+          "version": "4.9.1",
+          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz",
+          "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==",
+          "dev": true,
+          "requires": {
+            "caniuse-lite": "^1.0.30001030",
+            "electron-to-chromium": "^1.3.363",
+            "node-releases": "^1.1.50"
+          }
+        },
+        "caniuse-lite": {
+          "version": "1.0.30001035",
+          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
+          "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
+          "dev": true
+        },
         "chokidar": {
           "version": "2.1.8",
           "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
@@ -320,10 +340,10 @@
             "tslib": "^1.9.0"
           }
         },
-        "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
           "dev": true
         },
         "source-map-support": {
@@ -422,9 +442,9 @@
       }
     },
     "@angular-devkit/build-optimizer": {
-      "version": "0.900.5",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.5.tgz",
-      "integrity": "sha512-BdmvD58DnAAf6/o/fRzU2l+2g4IwuIJf8x/rd9AGWd7fHrcwgJDhB9rYetB7JqYR8uOWk+AFElDpvNOj8YUy0w==",
+      "version": "0.900.6",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.6.tgz",
+      "integrity": "sha512-K8BDga/E1tUCuUnpnCCAR5yh8lfJqHSBvk1K9P5LgqQNxPvSedghyQ4LYNaeRRVIVmsh4RdsJ7hvmquFrFnTZg==",
       "dev": true,
       "requires": {
         "loader-utils": "1.2.3",
@@ -449,13 +469,13 @@
       }
     },
     "@angular-devkit/build-webpack": {
-      "version": "0.900.5",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.5.tgz",
-      "integrity": "sha512-4fYZNg8X73wTjlXV37m0BRVMa27GSwhAupgv5cb9Q3Vys9sYxEUL+GJetXDxypA5YbMj5xX/xqyU9TPtvXhgRg==",
+      "version": "0.900.6",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.6.tgz",
+      "integrity": "sha512-45YiOhR425599Ln4xLr8F+T0QJUEo8TeJMnq30J+2hux+XdklN2P4+0Ju0902IL0r4xD57Hibmi+fQEbDDe5sQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.900.5",
-        "@angular-devkit/core": "9.0.5",
+        "@angular-devkit/architect": "0.900.6",
+        "@angular-devkit/core": "9.0.6",
         "rxjs": "6.5.3"
       },
       "dependencies": {
@@ -471,9 +491,9 @@
       }
     },
     "@angular-devkit/core": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.5.tgz",
-      "integrity": "sha512-9TPQPzfSRbV5wVEnfo1d1CS+oVXROfE7VnBRuRMilFnNhuc29wX3zvBQRTreDVyxJetLBEb9sRlcKYGaJzpKPw==",
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.6.tgz",
+      "integrity": "sha512-hCZJbnqLEm1F5Bx+ILcdd3LPgQTn4WFWpfUqMEGGj7UirRInWcz+6UpYotKGTJw85/mV01LrIbtWIkAUXbkkhg==",
       "dev": true,
       "requires": {
         "ajv": "6.10.2",
@@ -483,6 +503,16 @@
         "source-map": "0.7.3"
       },
       "dependencies": {
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
         "ajv": {
           "version": "6.10.2",
           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
@@ -507,12 +537,12 @@
       }
     },
     "@angular-devkit/schematics": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.5.tgz",
-      "integrity": "sha512-PbOYoy4YyEbR6f1jO18Rt3fJuyaaTJ3bFmws5qWGGNK2yZiP/hnSaM3VffOwoL4sgyKkI2FNKSPiQZgTl8b0Tg==",
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.6.tgz",
+      "integrity": "sha512-X7qZDJVrFcPUn+jNUeOH7Bx1D7YTpTFr0d3DBIsQzseReSGu7ugWziQPS4gc5Xm5K0nb8vx6DYtyW0FaIvX0ZA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.5",
+        "@angular-devkit/core": "9.0.6",
         "ora": "4.0.2",
         "rxjs": "6.5.3"
       },
@@ -529,14 +559,14 @@
       }
     },
     "@angular/animations": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.5.tgz",
-      "integrity": "sha512-WGs4Jxw5sr8GCpxMcwEVuZnDIkdNp9qtmuI2j13v/XAaMjvJ7jssCj9+JG5uI8joCi7PFVAWokPT1DdPwWb13Q=="
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.6.tgz",
+      "integrity": "sha512-LNtzUrrjqLTlZyhuAEV0sdEV0yi52Ih/p+ozCr/ivhTSSemcPbniTBbJlFZO4NJ2BuS2iEXkXwZs3mm8Fvx5Sg=="
     },
     "@angular/cdk": {
-      "version": "9.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.1.tgz",
-      "integrity": "sha512-yzssAqbllGYgX+WeSYLjmEWtXVG5UPZwA0+dPlh+g85nG7b70DVRVYBi8PJySydsfPX/JMherFUU9h0QOWhhZw==",
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.2.tgz",
+      "integrity": "sha512-x5niyE0iYrbVtLYjJFw2MoS+OoSbJn6y/G2pNScviDwyjBBgqRh4YgUox2kMhdPumkvuh+eA6blZoE9qpvSo2w==",
       "requires": {
         "parse5": "^5.0.0"
       },
@@ -550,16 +580,16 @@
       }
     },
     "@angular/cli": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.5.tgz",
-      "integrity": "sha512-hRGpmIwnm908eW5sA4zrVkCGaIUHYLSNu5koaLulK0jj5Iy+vkieDiBuAkD2uVvG7M59s4s4u+L0DMetIpvZQg==",
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.6.tgz",
+      "integrity": "sha512-uDXhkPcHhE4G4FlY7+LJWhXErHnkn63V8lqkKD7juivs+Epmx8oXCOVObEQTbbtw7sF6s0dM8uTzHKgoefTlaA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.900.5",
-        "@angular-devkit/core": "9.0.5",
-        "@angular-devkit/schematics": "9.0.5",
-        "@schematics/angular": "9.0.5",
-        "@schematics/update": "0.900.5",
+        "@angular-devkit/architect": "0.900.6",
+        "@angular-devkit/core": "9.0.6",
+        "@angular-devkit/schematics": "9.0.6",
+        "@schematics/angular": "9.0.6",
+        "@schematics/update": "0.900.6",
         "@yarnpkg/lockfile": "1.1.0",
         "ansi-colors": "4.1.1",
         "debug": "^4.1.1",
@@ -577,6 +607,16 @@
         "uuid": "^3.3.2"
       },
       "dependencies": {
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
         "ansi-colors": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -644,6 +684,14 @@
             "string-width": "^4.1.0",
             "strip-ansi": "^5.1.0",
             "through": "^2.3.6"
+          },
+          "dependencies": {
+            "lodash": {
+              "version": "4.17.15",
+              "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+              "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+              "dev": true
+            }
           }
         },
         "is-fullwidth-code-point": {
@@ -652,12 +700,6 @@
           "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
           "dev": true
         },
-        "lodash": {
-          "version": "4.17.15",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
-          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
-          "dev": true
-        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -724,6 +766,11 @@
           "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
           "dev": true
         },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+        },
         "string-width": {
           "version": "4.2.0",
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
@@ -772,19 +819,19 @@
       }
     },
     "@angular/common": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.5.tgz",
-      "integrity": "sha512-AwZKYK5M/3762woK+3290JnBdlBvZXqxX5vVze6wk23IiBlwIV+l79+Lyfjo/4s031kibq47taaZdC7qkkBkNA=="
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz",
+      "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw=="
     },
     "@angular/compiler": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.5.tgz",
-      "integrity": "sha512-TeyhRGefTOtA9N3udMrvheafoXcz/dvTTdZLcieeZQxm1SSeaQDUQ/rUH6QTOiHVNMtjOCrZ9J5rk1A4mPYuag=="
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz",
+      "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ=="
     },
     "@angular/compiler-cli": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.5.tgz",
-      "integrity": "sha512-lFlasm8UBApTq4/MkxnYrRAMfpOvvg3YYBEMibuEGlaJjW/Xd1JcisUuFiooCxCIKF5phyORHmxjywGPhHqQgQ==",
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz",
+      "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==",
       "dev": true,
       "requires": {
         "canonical-path": "1.0.0",
@@ -801,6 +848,101 @@
         "yargs": "13.1.0"
       },
       "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
+        },
+        "@babel/generator": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
+          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "requires": {
+            "@babel/types": "^7.8.7",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "requires": {
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
+          }
+        },
+        "@babel/traverse": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
+          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/generator": "^7.8.6",
+            "@babel/helper-function-name": "^7.8.3",
+            "@babel/helper-split-export-declaration": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6",
+            "debug": "^4.1.0",
+            "globals": "^11.1.0",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
         "ansi-regex": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
@@ -848,6 +990,14 @@
             "readdirp": "~3.3.0"
           }
         },
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
         "emoji-regex": {
           "version": "7.0.3",
           "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -921,11 +1071,16 @@
           "dev": true
         },
         "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+        },
         "normalize-path": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -941,23 +1096,33 @@
             "picomatch": "^2.0.7"
           }
         },
-        "@babel/plugin-transform-parameters": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz",
-          "integrity": "sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g==",
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+          "dev": true
+        },
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        },
+        "string-width": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
           "dev": true,
           "requires": {
-            "@babel/helper-call-delegate": "^7.8.7",
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/helper-plugin-utils": "^7.8.3"
-          },
-          "dependencies": {
-            "@babel/helper-plugin-utils": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-              "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-              "dev": true
-            }
+            "emoji-regex": "^7.0.1",
+            "is-fullwidth-code-point": "^2.0.0",
+            "strip-ansi": "^5.1.0"
           }
         },
         "strip-ansi": {
@@ -969,13 +1134,13 @@
             "ansi-regex": "^4.1.0"
           }
         },
-        "@babel/plugin-transform-regenerator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz",
-          "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==",
+        "to-regex-range": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
           "dev": true,
           "requires": {
-            "regenerator-transform": "^0.14.2"
+            "is-number": "^7.0.0"
           }
         },
         "yargs": {
@@ -998,9 +1163,9 @@
           }
         },
         "yargs-parser": {
-          "version": "13.1.1",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz",
-          "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==",
+          "version": "13.1.2",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
+          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
           "dev": true,
           "requires": {
             "camelcase": "^5.0.0",
@@ -1010,9 +1175,9 @@
       }
     },
     "@angular/core": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.5.tgz",
-      "integrity": "sha512-7VznrYjaAIzeq/zQ7v6tbeoOI7JJKgChKwG7s8jRoEpENu+w2pRlRdyQul88iJLsXgObR+/TfBNm/K+G4cqAFw=="
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.6.tgz",
+      "integrity": "sha512-egpVGqqI+L1QQFn9ziHIElXb0bCzY1l8vzyQGfm2KnxHpmx2TJp2uaaHh5LRcqYR7TLeGMpqmzhRxir6Up7AAQ=="
     },
     "@angular/flex-layout": {
       "version": "9.0.0-beta.29",
@@ -1020,35 +1185,35 @@
       "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA=="
     },
     "@angular/forms": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.5.tgz",
-      "integrity": "sha512-579PXAfT92J4mghjWKiZ3Zj3xee4h3RP70YHSlsfbi94MONvryWDrnXxvUZ0zJJCVnEJQ7x+nGEp3wwWqR12Jw=="
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.6.tgz",
+      "integrity": "sha512-mxUEqQny3scxQM/21QLKgtq5EcOm1Tn5cU3rStY1L8J6Mg+Rd2Rz4SY0WXQpaRKPj+WNd+PDgdGiRs3cAjfLFQ=="
     },
     "@angular/language-service": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.5.tgz",
-      "integrity": "sha512-9ykFNYZpWdoggFPK3LuTJobBZjoCEQP6kKt88ZZV7GTMIXoE7iY413KfhINoXdMwxIAbba0xlPMR/4p6jFAa4Q==",
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.6.tgz",
+      "integrity": "sha512-lyEYYsBXFhXKu3aT6XkKBmmf4c59lb/C6C15q4Dl8BW/wIuA/mNLosDKLnd/jCS0VpcY4v0HJRKg9SCopa8BhQ==",
       "dev": true
     },
     "@angular/material": {
-      "version": "9.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.1.tgz",
-      "integrity": "sha512-XtfVTTzvLvw90g1sG8mV0kzkfnp2g7I/kUgwng7Zv3NG1Tzt/wEXVe6ovI45B/8qpN6i/7f2aCl7Gz4KTldAyA=="
+      "version": "9.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.2.tgz",
+      "integrity": "sha512-8uwwkSnsg/YlhqxD/+0Cj+1S97Xf5WUcgxSEXmC1r0/AD+o6PGL5ImIk4n+3tdgYqm7MoJZQthlIB2J0EVLjVw=="
     },
     "@angular/platform-browser": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.5.tgz",
-      "integrity": "sha512-24QGcQXthYXB/wT8okJjxqss/JOk4A6O1/Fmva79k0AvwtYkl2tikcyEc5T3xZtjoi8g32AN9nbZAobtkxlqTA=="
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.6.tgz",
+      "integrity": "sha512-CA7dW+j1mVh3OUo3C2vIn05NxNgrDPK4vpfRIwBIn1gErpnIXCa2vgnRzn3H9zKizKt0iuwSIukEnWG280Q0xg=="
     },
     "@angular/platform-browser-dynamic": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.5.tgz",
-      "integrity": "sha512-NRfsAwbgxOvEcpqlERDAG0wap5xJa0wKwnudTCnyvf4B0D6kLkT1Idjqv22NDW5rfM2oDWaZ/qpgpDnAo6/ZBQ=="
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.6.tgz",
+      "integrity": "sha512-Z0/qHciqbR+c2fwGxrkr77tQkEKhZpAPljGva/VNoS3Ms1OikqZB9Ev7xmZOM9656khPBU38m3aLsTXAAnQ4YA=="
     },
     "@angular/router": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.5.tgz",
-      "integrity": "sha512-Sz3DQUxlzAk9aZ9eVtZRh6xF5SMg/Gb3rc5I7dL1M+mycSNoFJ4HPTXleZkKM69mMkKQ5fEtza4x26MSlF+O9w=="
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.6.tgz",
+      "integrity": "sha512-Ki1uk3jWPsoFh27SnyXatPSFK3ghF25pjiwWw9/inPvlS/HshSWgS2FbYf49LD5xVFF3Ni2Z5GRKxSEqxL8vQw=="
     },
     "@babel/code-frame": {
       "version": "7.5.5",
@@ -1222,7 +1387,6 @@
           "version": "6.10.2",
           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
           "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
-          "dev": true,
           "requires": {
             "fast-deep-equal": "^2.0.1",
             "fast-json-stable-stringify": "^2.0.0",
@@ -1234,7 +1398,6 @@
           "version": "4.9.1",
           "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz",
           "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==",
-          "dev": true,
           "requires": {
             "caniuse-lite": "^1.0.30001030",
             "electron-to-chromium": "^1.3.363",
@@ -1244,14 +1407,12 @@
         "caniuse-lite": {
           "version": "1.0.30001035",
           "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
-          "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
-          "dev": true
+          "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ=="
         },
         "chokidar": {
           "version": "2.1.8",
           "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
           "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
           "requires": {
             "anymatch": "^2.0.0",
             "async-each": "^1.0.1",
@@ -1263,8 +1424,7 @@
             "is-glob": "^4.0.0",
             "normalize-path": "^3.0.0",
             "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
+            "readdirp": "^2.2.1"
           }
         },
         "convert-source-map": {
@@ -1288,14 +1448,12 @@
         "electron-to-chromium": {
           "version": "1.3.376",
           "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz",
-          "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw==",
-          "dev": true
+          "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw=="
         },
         "glob": {
           "version": "7.1.5",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz",
           "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==",
-          "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
             "inflight": "^1.0.4",
@@ -1335,16 +1493,17 @@
         "node-releases": {
           "version": "1.1.51",
           "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz",
-          "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.3.0"
-          }
+          "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw=="
         },
         "normalize-path": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
           "dev": true
         }
       }
@@ -1372,7 +1531,6 @@
           "version": "0.14.2",
           "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz",
           "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==",
-          "dev": true,
           "requires": {
             "@babel/runtime": "^7.8.4",
             "private": "^0.1.8"
@@ -1382,6 +1540,31 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
           "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
+        }
+      }
+    },
+    "@babel/helper-annotate-as-pure": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
+      "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.8.3"
+      },
+      "dependencies": {
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
           "dev": true,
           "requires": {
             "esutils": "^2.0.2",
@@ -1465,80 +1648,14 @@
           "requires": {
             "@babel/types": "^7.8.3"
           }
-        }
-      }
-    },
-    "@angular-devkit/build-optimizer": {
-      "version": "0.900.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.6.tgz",
-      "integrity": "sha512-K8BDga/E1tUCuUnpnCCAR5yh8lfJqHSBvk1K9P5LgqQNxPvSedghyQ4LYNaeRRVIVmsh4RdsJ7hvmquFrFnTZg==",
-      "dev": true,
-      "requires": {
-        "loader-utils": "1.2.3",
-        "source-map": "0.7.3",
-        "tslib": "1.10.0",
-        "typescript": "3.6.4",
-        "webpack-sources": "1.4.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "1.10.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
-          "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
-          "dev": true
         },
-        "typescript": {
-          "version": "3.6.4",
-          "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz",
-          "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==",
-          "dev": true
-        }
-      }
-    },
-    "@angular-devkit/build-webpack": {
-      "version": "0.900.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.6.tgz",
-      "integrity": "sha512-45YiOhR425599Ln4xLr8F+T0QJUEo8TeJMnq30J+2hux+XdklN2P4+0Ju0902IL0r4xD57Hibmi+fQEbDDe5sQ==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/architect": "0.900.6",
-        "@angular-devkit/core": "9.0.6",
-        "rxjs": "6.5.3"
-      },
-      "dependencies": {
-        "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
-          "dev": true,
-          "requires": {
-            "tslib": "^1.9.0"
-          }
-        }
-      }
-    },
-    "@angular-devkit/core": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.6.tgz",
-      "integrity": "sha512-hCZJbnqLEm1F5Bx+ILcdd3LPgQTn4WFWpfUqMEGGj7UirRInWcz+6UpYotKGTJw85/mV01LrIbtWIkAUXbkkhg==",
-      "dev": true,
-      "requires": {
-        "ajv": "6.10.2",
-        "fast-json-stable-stringify": "2.0.0",
-        "magic-string": "0.25.4",
-        "rxjs": "6.5.3",
-        "source-map": "0.7.3"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "6.10.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
-          "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
           "requires": {
-            "fast-deep-equal": "^2.0.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
+            "@babel/types": "^7.8.3"
           }
         },
         "@babel/highlight": {
@@ -1551,90 +1668,28 @@
             "esutils": "^2.0.2",
             "js-tokens": "^4.0.0"
           }
-        }
-      }
-    },
-    "@angular-devkit/schematics": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.6.tgz",
-      "integrity": "sha512-X7qZDJVrFcPUn+jNUeOH7Bx1D7YTpTFr0d3DBIsQzseReSGu7ugWziQPS4gc5Xm5K0nb8vx6DYtyW0FaIvX0ZA==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/core": "9.0.6",
-        "ora": "4.0.2",
-        "rxjs": "6.5.3"
-      },
-      "dependencies": {
-        "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+        },
+        "@babel/parser": {
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
+          "dev": true
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/parser": "^7.8.6",
             "@babel/types": "^7.8.6"
           }
-        }
-      }
-    },
-    "@angular/animations": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.6.tgz",
-      "integrity": "sha512-LNtzUrrjqLTlZyhuAEV0sdEV0yi52Ih/p+ozCr/ivhTSSemcPbniTBbJlFZO4NJ2BuS2iEXkXwZs3mm8Fvx5Sg=="
-    },
-    "@angular/cdk": {
-      "version": "9.1.2",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.2.tgz",
-      "integrity": "sha512-x5niyE0iYrbVtLYjJFw2MoS+OoSbJn6y/G2pNScviDwyjBBgqRh4YgUox2kMhdPumkvuh+eA6blZoE9qpvSo2w==",
-      "requires": {
-        "parse5": "^5.0.0"
-      },
-      "dependencies": {
-        "parse5": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz",
-          "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==",
-          "optional": true
-        }
-      }
-    },
-    "@angular/cli": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.6.tgz",
-      "integrity": "sha512-uDXhkPcHhE4G4FlY7+LJWhXErHnkn63V8lqkKD7juivs+Epmx8oXCOVObEQTbbtw7sF6s0dM8uTzHKgoefTlaA==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/architect": "0.900.6",
-        "@angular-devkit/core": "9.0.6",
-        "@angular-devkit/schematics": "9.0.6",
-        "@schematics/angular": "9.0.6",
-        "@schematics/update": "0.900.6",
-        "@yarnpkg/lockfile": "1.1.0",
-        "ansi-colors": "4.1.1",
-        "debug": "^4.1.1",
-        "ini": "1.3.5",
-        "inquirer": "7.0.0",
-        "npm-package-arg": "6.1.1",
-        "npm-pick-manifest": "3.0.2",
-        "open": "7.0.0",
-        "pacote": "9.5.8",
-        "read-package-tree": "5.3.1",
-        "rimraf": "3.0.0",
-        "semver": "6.3.0",
-        "symbol-observable": "1.2.0",
-        "universal-analytics": "^0.4.20",
-        "uuid": "^3.3.2"
-      },
-      "dependencies": {
-        "ansi-colors": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
-          "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA=="
         },
-        "ansi-escapes": {
-          "version": "4.3.1",
-          "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz",
-          "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==",
+        "@babel/traverse": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
+          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
           "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
@@ -1798,28 +1853,28 @@
             "@babel/types": "^7.8.6"
           }
         },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
         "type-fest": {
           "version": "0.11.0",
           "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
-          "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
-          "dev": true
+          "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ=="
         }
       }
     },
-    "@angular/common": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz",
-      "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw=="
-    },
-    "@angular/compiler": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz",
-      "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ=="
-    },
-    "@angular/compiler-cli": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz",
-      "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==",
+    "@babel/helper-explode-assignable-expression": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
+      "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
       "dev": true,
       "requires": {
         "@babel/traverse": "^7.8.3",
@@ -1836,9 +1891,9 @@
           }
         },
         "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
+          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
           "dev": true,
           "requires": {
             "@babel/types": "^7.8.7",
@@ -1888,9 +1943,9 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -2001,7 +2056,6 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
       "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
-      "dev": true,
       "requires": {
         "@babel/types": "^7.8.3"
       },
@@ -2010,7 +2064,6 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2119,7 +2172,6 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
       "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
-      "dev": true,
       "requires": {
         "@babel/types": "^7.8.3"
       },
@@ -2128,7 +2180,6 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2298,7 +2349,6 @@
       "version": "7.8.6",
       "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz",
       "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==",
-      "dev": true,
       "requires": {
         "@babel/helper-member-expression-to-functions": "^7.8.3",
         "@babel/helper-optimise-call-expression": "^7.8.3",
@@ -2310,7 +2360,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
           "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
           "requires": {
             "@babel/highlight": "^7.8.3"
           }
@@ -2319,7 +2368,6 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
           "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.7",
             "jsesc": "^2.5.1",
@@ -2331,7 +2379,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
           "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
           "requires": {
             "@babel/helper-get-function-arity": "^7.8.3",
             "@babel/template": "^7.8.3",
@@ -2342,7 +2389,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
           "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -2351,7 +2397,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
           "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -2360,7 +2405,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
           "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -2370,14 +2414,12 @@
         "@babel/parser": {
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
-          "dev": true
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
         },
         "@babel/template": {
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
           "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/parser": "^7.8.6",
@@ -2388,7 +2430,6 @@
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
           "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/generator": "^7.8.6",
@@ -2405,7 +2446,6 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2416,7 +2456,6 @@
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -2424,14 +2463,12 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
         },
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
         }
       }
     },
@@ -2439,7 +2476,6 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
       "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
-      "dev": true,
       "requires": {
         "@babel/template": "^7.8.3",
         "@babel/types": "^7.8.3"
@@ -2449,7 +2485,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
           "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
           "requires": {
             "@babel/highlight": "^7.8.3"
           }
@@ -2458,7 +2493,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
           "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -2468,14 +2502,12 @@
         "@babel/parser": {
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
-          "dev": true
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
         },
         "@babel/template": {
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
           "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/parser": "^7.8.6",
@@ -2486,7 +2518,6 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -3029,22 +3060,10 @@
             "js-tokens": "^4.0.0"
           }
         },
-        "is-number": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-          "dev": true
-        },
-        "minimist": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz",
-          "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==",
-          "dev": true
-        },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+        "@babel/parser": {
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -3068,6 +3087,21 @@
             "lodash": "^4.17.13",
             "to-fast-properties": "^2.0.0"
           }
+        },
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+        },
+        "minimist": {
+          "version": "1.2.4",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz",
+          "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg=="
+        },
+        "normalize-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
         }
       }
     },
@@ -3207,46 +3241,77 @@
         }
       }
     },
-    "@angular/core": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.6.tgz",
-      "integrity": "sha512-egpVGqqI+L1QQFn9ziHIElXb0bCzY1l8vzyQGfm2KnxHpmx2TJp2uaaHh5LRcqYR7TLeGMpqmzhRxir6Up7AAQ=="
-    },
-    "@angular/flex-layout": {
-      "version": "9.0.0-beta.29",
-      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.29.tgz",
-      "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA=="
-    },
-    "@angular/forms": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.6.tgz",
-      "integrity": "sha512-mxUEqQny3scxQM/21QLKgtq5EcOm1Tn5cU3rStY1L8J6Mg+Rd2Rz4SY0WXQpaRKPj+WNd+PDgdGiRs3cAjfLFQ=="
+    "@babel/plugin-transform-literals": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
+      "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
     },
-    "@angular/language-service": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.6.tgz",
-      "integrity": "sha512-lyEYYsBXFhXKu3aT6XkKBmmf4c59lb/C6C15q4Dl8BW/wIuA/mNLosDKLnd/jCS0VpcY4v0HJRKg9SCopa8BhQ==",
-      "dev": true
+    "@babel/plugin-transform-member-expression-literals": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
+      "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
     },
-    "@angular/material": {
-      "version": "9.1.2",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.2.tgz",
-      "integrity": "sha512-8uwwkSnsg/YlhqxD/+0Cj+1S97Xf5WUcgxSEXmC1r0/AD+o6PGL5ImIk4n+3tdgYqm7MoJZQthlIB2J0EVLjVw=="
+    "@babel/plugin-transform-modules-amd": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz",
+      "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-transforms": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "babel-plugin-dynamic-import-node": "^2.3.0"
+      }
     },
-    "@angular/platform-browser": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.6.tgz",
-      "integrity": "sha512-CA7dW+j1mVh3OUo3C2vIn05NxNgrDPK4vpfRIwBIn1gErpnIXCa2vgnRzn3H9zKizKt0iuwSIukEnWG280Q0xg=="
+    "@babel/plugin-transform-modules-commonjs": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz",
+      "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-transforms": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-simple-access": "^7.8.3",
+        "babel-plugin-dynamic-import-node": "^2.3.0"
+      }
     },
-    "@angular/platform-browser-dynamic": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.6.tgz",
-      "integrity": "sha512-Z0/qHciqbR+c2fwGxrkr77tQkEKhZpAPljGva/VNoS3Ms1OikqZB9Ev7xmZOM9656khPBU38m3aLsTXAAnQ4YA=="
+    "@babel/plugin-transform-modules-systemjs": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz",
+      "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-hoist-variables": "^7.8.3",
+        "@babel/helper-module-transforms": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "babel-plugin-dynamic-import-node": "^2.3.0"
+      }
     },
-    "@angular/router": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.6.tgz",
-      "integrity": "sha512-Ki1uk3jWPsoFh27SnyXatPSFK3ghF25pjiwWw9/inPvlS/HshSWgS2FbYf49LD5xVFF3Ni2Z5GRKxSEqxL8vQw=="
+    "@babel/plugin-transform-modules-umd": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz",
+      "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-transforms": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3"
+      }
+    },
+    "@babel/plugin-transform-named-capturing-groups-regex": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
+      "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.8.3"
+      }
     },
     "@babel/plugin-transform-new-target": {
       "version": "7.8.3",
@@ -3301,14 +3366,12 @@
         "jsesc": {
           "version": "0.5.0",
           "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
+          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
         },
         "regenerate-unicode-properties": {
           "version": "8.2.0",
           "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
           "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
-          "dev": true,
           "requires": {
             "regenerate": "^1.4.0"
           }
@@ -3317,7 +3380,6 @@
           "version": "4.7.0",
           "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
           "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
-          "dev": true,
           "requires": {
             "regenerate": "^1.4.0",
             "regenerate-unicode-properties": "^8.2.0",
@@ -3330,14 +3392,12 @@
         "regjsgen": {
           "version": "0.5.1",
           "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
-          "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
-          "dev": true
+          "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg=="
         },
         "regjsparser": {
           "version": "0.6.4",
           "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
           "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
-          "dev": true,
           "requires": {
             "jsesc": "~0.5.0"
           }
@@ -3345,8 +3405,7 @@
         "unicode-match-property-value-ecmascript": {
           "version": "1.2.0",
           "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
-          "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
-          "dev": true
+          "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ=="
         }
       }
     },
@@ -3510,7 +3569,6 @@
       "version": "7.8.4",
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz",
       "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==",
-      "dev": true,
       "requires": {
         "regenerator-runtime": "^0.13.2"
       },
@@ -3518,8 +3576,7 @@
         "regenerator-runtime": {
           "version": "0.13.3",
           "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
-          "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
-          "dev": true
+          "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
         }
       }
     },
@@ -4683,7 +4740,6 @@
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
       "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
       "requires": {
         "color-convert": "^1.9.0"
       },
@@ -4692,7 +4748,6 @@
           "version": "1.9.3",
           "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
           "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-          "dev": true,
           "requires": {
             "color-name": "1.1.3"
           }
@@ -4700,8 +4755,7 @@
         "color-name": {
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-          "dev": true
+          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
         }
       }
     },
@@ -4715,7 +4769,6 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
       "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
       "requires": {
         "micromatch": "^3.1.4",
         "normalize-path": "^2.1.1"
@@ -4868,20 +4921,17 @@
     "arr-diff": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
     },
     "arr-flatten": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
     },
     "arr-union": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
     },
     "array-differ": {
       "version": "1.0.0",
@@ -4930,8 +4980,7 @@
     "array-unique": {
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
     },
     "arraybuffer.slice": {
       "version": "0.0.7",
@@ -5007,8 +5056,7 @@
     "assign-symbols": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
     },
     "ast-transform": {
       "version": "0.0.0",
@@ -5087,8 +5135,7 @@
     "async-each": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
-      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
-      "dev": true
+      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
     },
     "async-exit-hook": {
       "version": "2.0.1",
@@ -5111,8 +5158,7 @@
     "atob": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
     },
     "autoprefixer": {
       "version": "9.7.1",
@@ -5279,7 +5325,6 @@
       "version": "0.11.2",
       "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
       "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
       "requires": {
         "cache-base": "^1.0.1",
         "class-utils": "^0.3.5",
@@ -5294,7 +5339,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -5303,7 +5347,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -5312,7 +5355,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -5321,7 +5363,6 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -5400,8 +5441,7 @@
     "binary-extensions": {
       "version": "1.13.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
-      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
-      "dev": true
+      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw=="
     },
     "blob": {
       "version": "0.0.5",
@@ -5661,7 +5701,6 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
       "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
       "requires": {
         "arr-flatten": "^1.1.0",
         "array-unique": "^0.3.2",
@@ -5679,7 +5718,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -6114,7 +6152,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
       "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
       "requires": {
         "collection-visit": "^1.0.0",
         "component-emitter": "^1.2.1",
@@ -6273,7 +6310,6 @@
       "version": "2.4.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
       "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dev": true,
       "requires": {
         "ansi-styles": "^3.2.1",
         "escape-string-regexp": "^1.0.5",
@@ -6284,7 +6320,6 @@
           "version": "5.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
           "requires": {
             "has-flag": "^3.0.0"
           }
@@ -6424,7 +6459,6 @@
       "version": "0.3.6",
       "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
       "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "define-property": "^0.2.5",
@@ -6436,7 +6470,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -6654,7 +6687,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
       "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
       "requires": {
         "map-visit": "^1.0.0",
         "object-visit": "^1.0.0"
@@ -6773,8 +6805,7 @@
     "component-emitter": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
-      "dev": true
+      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
     },
     "component-inherit": {
       "version": "0.0.3",
@@ -6975,8 +7006,7 @@
     "copy-descriptor": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
     },
     "copy-webpack-plugin": {
       "version": "5.1.1",
@@ -7658,8 +7688,7 @@
     "core-util-is": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
     },
     "cors": {
       "version": "2.8.5",
@@ -8402,7 +8431,6 @@
       "version": "2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
       "requires": {
         "ms": "2.0.0"
       }
@@ -8431,8 +8459,7 @@
     "decode-uri-component": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
     },
     "decompress-response": {
       "version": "3.3.0",
@@ -8519,7 +8546,6 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
       "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
       "requires": {
         "is-descriptor": "^1.0.2",
         "isobject": "^3.0.1"
@@ -8529,7 +8555,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8538,7 +8563,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8547,7 +8571,6 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -9562,8 +9585,7 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
     },
     "escaper": {
       "version": "2.5.3",
@@ -9632,8 +9654,7 @@
     "esutils": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
-      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
-      "dev": true
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
     },
     "etag": {
       "version": "1.8.1",
@@ -9738,7 +9759,6 @@
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
       "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
       "requires": {
         "debug": "^2.3.3",
         "define-property": "^0.2.5",
@@ -9753,7 +9773,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -9762,7 +9781,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -9977,7 +9995,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
       "requires": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -9987,7 +10004,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -10009,7 +10025,6 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
       "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
       "requires": {
         "array-unique": "^0.3.2",
         "define-property": "^1.0.0",
@@ -10025,7 +10040,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -10034,7 +10048,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -10043,7 +10056,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -10052,7 +10064,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -10061,7 +10072,6 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -10129,8 +10139,7 @@
     "fast-deep-equal": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
-      "dev": true
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
     },
     "fast-glob": {
       "version": "2.2.7",
@@ -10154,8 +10163,7 @@
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
     },
     "fast-levenshtein": {
       "version": "2.0.6",
@@ -10261,7 +10269,6 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
       "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-number": "^3.0.0",
@@ -10273,7 +10280,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -10534,8 +10540,7 @@
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
     },
     "foreach": {
       "version": "2.0.5",
@@ -10575,7 +10580,6 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
       "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
       "requires": {
         "map-cache": "^0.2.2"
       }
@@ -10649,7 +10653,6 @@
       "version": "1.2.7",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
       "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
-      "dev": true,
       "optional": true,
       "requires": {
         "nan": "^2.9.2",
@@ -10659,25 +10662,21 @@
         "abbrev": {
           "version": "1.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "aproba": {
           "version": "1.2.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "are-we-there-yet": {
           "version": "1.1.5",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "delegates": "^1.0.0",
@@ -10687,13 +10686,11 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
@@ -10703,37 +10700,31 @@
         "chownr": {
           "version": "1.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "debug": {
           "version": "2.6.9",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "ms": "2.0.0"
@@ -10742,25 +10733,21 @@
         "deep-extend": {
           "version": "0.6.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "delegates": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "detect-libc": {
           "version": "1.0.3",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "fs-minipass": {
           "version": "1.2.5",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -10769,13 +10756,11 @@
         "fs.realpath": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "gauge": {
           "version": "2.7.4",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "aproba": "^1.0.3",
@@ -10791,7 +10776,6 @@
         "glob": {
           "version": "7.1.3",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "fs.realpath": "^1.0.0",
@@ -10805,13 +10789,11 @@
         "has-unicode": {
           "version": "2.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "iconv-lite": {
           "version": "0.4.24",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "safer-buffer": ">= 2.1.2 < 3"
@@ -10820,7 +10802,6 @@
         "ignore-walk": {
           "version": "3.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "minimatch": "^3.0.4"
@@ -10829,7 +10810,6 @@
         "inflight": {
           "version": "1.0.6",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "once": "^1.3.0",
@@ -10839,19 +10819,16 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "ini": {
           "version": "1.3.5",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "is-fullwidth-code-point": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
@@ -10860,13 +10837,11 @@
         "isarray": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "minimatch": {
           "version": "3.0.4",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
@@ -10875,13 +10850,11 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
@@ -10891,7 +10864,6 @@
         "minizlib": {
           "version": "1.2.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -10900,7 +10872,6 @@
         "mkdirp": {
           "version": "0.5.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "minimist": "0.0.8"
@@ -10909,13 +10880,11 @@
         "ms": {
           "version": "2.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "needle": {
           "version": "2.2.4",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "debug": "^2.1.2",
@@ -10926,7 +10895,6 @@
         "node-pre-gyp": {
           "version": "0.10.3",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "detect-libc": "^1.0.2",
@@ -10944,7 +10912,6 @@
         "nopt": {
           "version": "4.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "abbrev": "1",
@@ -10954,13 +10921,11 @@
         "npm-bundled": {
           "version": "1.0.5",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "npm-packlist": {
           "version": "1.2.0",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "ignore-walk": "^3.0.1",
@@ -10970,7 +10935,6 @@
         "npmlog": {
           "version": "4.1.2",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "are-we-there-yet": "~1.1.2",
@@ -10982,19 +10946,16 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "once": {
           "version": "1.4.0",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "wrappy": "1"
@@ -11003,19 +10964,16 @@
         "os-homedir": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "os-tmpdir": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "osenv": {
           "version": "0.1.5",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "os-homedir": "^1.0.0",
@@ -11025,19 +10983,16 @@
         "path-is-absolute": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "process-nextick-args": {
           "version": "2.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "rc": {
           "version": "1.2.8",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "deep-extend": "^0.6.0",
@@ -11049,7 +11004,6 @@
             "minimist": {
               "version": "1.2.0",
               "bundled": true,
-              "dev": true,
               "optional": true
             }
           }
@@ -11057,7 +11011,6 @@
         "readable-stream": {
           "version": "2.3.6",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "core-util-is": "~1.0.0",
@@ -11072,7 +11025,6 @@
         "rimraf": {
           "version": "2.6.3",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "glob": "^7.1.3"
@@ -11081,43 +11033,36 @@
         "safe-buffer": {
           "version": "5.1.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "sax": {
           "version": "1.2.4",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "semver": {
           "version": "5.6.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "set-blocking": {
           "version": "2.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "signal-exit": {
           "version": "3.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "string-width": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
@@ -11128,7 +11073,6 @@
         "string_decoder": {
           "version": "1.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "~5.1.0"
@@ -11137,7 +11081,6 @@
         "strip-ansi": {
           "version": "3.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
@@ -11146,13 +11089,11 @@
         "strip-json-comments": {
           "version": "2.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "tar": {
           "version": "4.4.8",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "chownr": "^1.1.1",
@@ -11167,13 +11108,11 @@
         "util-deprecate": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "wide-align": {
           "version": "1.1.3",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "string-width": "^1.0.2 || 2"
@@ -11182,13 +11121,11 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "yallist": {
           "version": "3.0.3",
           "bundled": true,
-          "dev": true,
           "optional": true
         }
       }
@@ -11204,6 +11141,12 @@
       "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
       "dev": true
     },
+    "gensync": {
+      "version": "1.0.0-beta.1",
+      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+      "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+      "dev": true
+    },
     "get-assigned-identifiers": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
@@ -11225,8 +11168,7 @@
     "get-value": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
     },
     "getpass": {
       "version": "0.1.7",
@@ -11254,7 +11196,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
       "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
       "requires": {
         "is-glob": "^3.1.0",
         "path-dirname": "^1.0.0"
@@ -11264,7 +11205,6 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
           "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-          "dev": true,
           "requires": {
             "is-extglob": "^2.1.0"
           }
@@ -11327,8 +11267,7 @@
     "globals": {
       "version": "11.12.0",
       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
     },
     "globalthis": {
       "version": "1.0.1",
@@ -11496,8 +11435,7 @@
     "has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
     },
     "has-symbols": {
       "version": "1.0.0",
@@ -11508,7 +11446,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
       "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
       "requires": {
         "get-value": "^2.0.6",
         "has-values": "^1.0.0",
@@ -11519,7 +11456,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
       "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "kind-of": "^4.0.0"
@@ -11529,7 +11465,6 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
           "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12160,7 +12095,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -12169,7 +12103,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12186,7 +12119,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
       "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
       "requires": {
         "binary-extensions": "^1.0.0"
       }
@@ -12194,8 +12126,7 @@
     "is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
     },
     "is-callable": {
       "version": "1.1.4",
@@ -12229,7 +12160,6 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -12238,7 +12168,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12254,7 +12183,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
       "requires": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -12264,8 +12192,7 @@
         "kind-of": {
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
+          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
         }
       }
     },
@@ -12278,14 +12205,12 @@
     "is-extendable": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
     },
     "is-extglob": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
     },
     "is-fullwidth-code-point": {
       "version": "2.0.0",
@@ -12297,7 +12222,6 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
       "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
-      "dev": true,
       "requires": {
         "is-extglob": "^2.1.1"
       }
@@ -12334,7 +12258,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
       "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -12343,7 +12266,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12389,7 +12311,6 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -12487,8 +12408,7 @@
     "is-windows": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
     },
     "is-wsl": {
       "version": "1.1.0",
@@ -12505,8 +12425,7 @@
     "isarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
     },
     "isbinaryfile": {
       "version": "4.0.4",
@@ -12522,8 +12441,7 @@
     "isobject": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
     },
     "isstream": {
       "version": "0.1.2",
@@ -12772,6 +12690,15 @@
             "to-fast-properties": "^2.0.0"
           }
         },
+        "convert-source-map": {
+          "version": "1.7.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+          "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.1"
+          }
+        },
         "debug": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -13022,8 +12949,7 @@
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
     },
     "js-yaml": {
       "version": "3.13.1",
@@ -13052,8 +12978,7 @@
     "jsesc": {
       "version": "2.5.2",
       "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "dev": true
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
     },
     "json-buffer": {
       "version": "3.0.0",
@@ -13076,8 +13001,7 @@
     "json-schema-traverse": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
     },
     "json-stringify-safe": {
       "version": "5.0.1",
@@ -13406,8 +13330,7 @@
     "kind-of": {
       "version": "6.0.2",
       "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
-      "dev": true
+      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
     },
     "latest-version": {
       "version": "5.1.0",
@@ -13910,8 +13833,7 @@
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
     },
     "map-stream": {
       "version": "0.1.0",
@@ -13923,7 +13845,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
       "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
       "requires": {
         "object-visit": "^1.0.0"
       }
@@ -14076,7 +13997,6 @@
       "version": "3.1.10",
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
       "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -14310,7 +14230,6 @@
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
       "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
       "requires": {
         "for-in": "^1.0.2",
         "is-extendable": "^1.0.1"
@@ -14320,7 +14239,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -14381,8 +14299,7 @@
     "ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
     },
     "multicast-dns": {
       "version": "6.2.3",
@@ -14422,14 +14339,12 @@
       "version": "2.12.1",
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
       "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
-      "dev": true,
       "optional": true
     },
     "nanomatch": {
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
       "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -14617,7 +14532,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
       "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
       "requires": {
         "remove-trailing-separator": "^1.0.1"
       }
@@ -14784,7 +14698,6 @@
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
       "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
       "requires": {
         "copy-descriptor": "^0.1.0",
         "define-property": "^0.2.5",
@@ -14795,7 +14708,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -14804,7 +14716,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -14826,7 +14737,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
       "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
       "requires": {
         "isobject": "^3.0.0"
       }
@@ -14922,7 +14832,6 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
       "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -15550,8 +15459,7 @@
     "pascalcase": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
     },
     "path-browserify": {
       "version": "0.0.1",
@@ -15562,8 +15470,7 @@
     "path-dirname": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
     },
     "path-exists": {
       "version": "3.0.0",
@@ -15813,8 +15720,7 @@
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
     },
     "postcss": {
       "version": "7.0.21",
@@ -16458,8 +16364,7 @@
     "private": {
       "version": "0.1.8",
       "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
-      "dev": true
+      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
     },
     "process": {
       "version": "0.11.10",
@@ -16470,8 +16375,7 @@
     "process-nextick-args": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
-      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
-      "dev": true
+      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
     },
     "progress": {
       "version": "2.0.3",
@@ -16755,17 +16659,7 @@
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true
-    },
-    "pupa": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
-      "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
-      "dev": true,
-      "requires": {
-        "escape-goat": "^2.0.0"
-      }
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
     },
     "pupa": {
       "version": "2.0.1",
@@ -17074,7 +16968,6 @@
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
       "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-      "dev": true,
       "requires": {
         "core-util-is": "~1.0.0",
         "inherits": "~2.0.3",
@@ -17101,7 +16994,6 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
       "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.11",
         "micromatch": "^3.1.10",
@@ -17117,8 +17009,7 @@
     "regenerate": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
-      "dev": true
+      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
     },
     "regenerate-unicode-properties": {
       "version": "8.1.0",
@@ -17149,7 +17040,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
       "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.2",
         "safe-regex": "^1.1.0"
@@ -17216,20 +17106,17 @@
     "remove-trailing-separator": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
     },
     "repeat-element": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
-      "dev": true
+      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
     },
     "repeat-string": {
       "version": "1.6.1",
       "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
     },
     "request": {
       "version": "2.88.0",
@@ -17304,8 +17191,7 @@
     "resolve-url": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
     },
     "responselike": {
       "version": "1.0.2",
@@ -17346,8 +17232,7 @@
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
+      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
     },
     "retry": {
       "version": "0.12.0",
@@ -17466,14 +17351,12 @@
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
     },
     "safe-regex": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
       "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
       "requires": {
         "ret": "~0.1.10"
       }
@@ -17827,7 +17710,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
       "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-extendable": "^0.1.1",
@@ -17839,7 +17721,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -17945,7 +17826,6 @@
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
       "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
       "requires": {
         "base": "^0.11.1",
         "debug": "^2.2.0",
@@ -17961,7 +17841,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -17970,7 +17849,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -17978,8 +17856,7 @@
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
         }
       }
     },
@@ -17987,7 +17864,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
       "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
       "requires": {
         "define-property": "^1.0.0",
         "isobject": "^3.0.0",
@@ -17998,7 +17874,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -18007,7 +17882,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -18016,7 +17890,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -18025,7 +17898,6 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -18038,7 +17910,6 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
       "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
       "requires": {
         "kind-of": "^3.2.0"
       },
@@ -18047,7 +17918,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -18262,7 +18132,6 @@
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
       "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
-      "dev": true,
       "requires": {
         "atob": "^2.1.1",
         "decode-uri-component": "^0.2.0",
@@ -18292,8 +18161,7 @@
     "source-map-url": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
-      "dev": true
+      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
     },
     "sourcemap-codec": {
       "version": "1.4.8",
@@ -18427,7 +18295,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
       "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.0"
       }
@@ -18526,7 +18393,6 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
       "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
       "requires": {
         "define-property": "^0.2.5",
         "object-copy": "^0.1.0"
@@ -18536,7 +18402,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -18743,7 +18608,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
       "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
       "requires": {
         "safe-buffer": "~5.1.0"
       }
@@ -19446,14 +19310,12 @@
     "to-fast-properties": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true
+      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
     },
     "to-object-path": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
       "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -19462,7 +19324,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -19479,7 +19340,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
       "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
       "requires": {
         "define-property": "^2.0.2",
         "extend-shallow": "^3.0.2",
@@ -19491,7 +19351,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
       "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "repeat-string": "^1.6.1"
@@ -19806,14 +19665,12 @@
     "unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
-      "dev": true
+      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="
     },
     "unicode-match-property-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
       "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
-      "dev": true,
       "requires": {
         "unicode-canonical-property-names-ecmascript": "^1.0.4",
         "unicode-property-aliases-ecmascript": "^1.0.4"
@@ -19856,8 +19713,7 @@
     "unicode-property-aliases-ecmascript": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
-      "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw==",
-      "dev": true
+      "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw=="
     },
     "unicode-trie": {
       "version": "1.0.0",
@@ -19881,7 +19737,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
       "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "get-value": "^2.0.6",
@@ -19983,7 +19838,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
       "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
       "requires": {
         "has-value": "^0.3.1",
         "isobject": "^3.0.0"
@@ -19993,7 +19847,6 @@
           "version": "0.3.1",
           "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
           "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
           "requires": {
             "get-value": "^2.0.3",
             "has-values": "^0.1.4",
@@ -20004,7 +19857,6 @@
               "version": "2.1.0",
               "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
               "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
               "requires": {
                 "isarray": "1.0.0"
               }
@@ -20014,8 +19866,7 @@
         "has-values": {
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
+          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
         }
       }
     },
@@ -20218,7 +20069,6 @@
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       }
@@ -20226,8 +20076,7 @@
     "urix": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
     },
     "url": {
       "version": "0.11.0",
@@ -20277,8 +20126,7 @@
     "use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
+      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
     },
     "useragent": {
       "version": "2.3.0",
@@ -20308,8 +20156,7 @@
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
     },
     "util-promisify": {
       "version": "2.1.0",
-- 
GitLab


From e66350231b069fdc310d556073e9a46c2e02f8c4 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 20 Mar 2020 10:40:15 +0100
Subject: [PATCH 010/117] Update dependencies

---
 package-lock.json | 1619 +++++++++++++++++++++------------------------
 package.json      |   42 +-
 2 files changed, 771 insertions(+), 890 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 9cfb0cb06..739043b2d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,12 +11,12 @@
       "dev": true
     },
     "@angular-devkit/architect": {
-      "version": "0.900.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.900.6.tgz",
-      "integrity": "sha512-WK8e09DgNP1NHP1gqVQ9w+9rlRMVDJxAh4qZGJRjZBXd3LY7y84WWRmTpfuhOSu+82fR3/n76+urxraU3ZVphw==",
+      "version": "0.900.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.900.7.tgz",
+      "integrity": "sha512-hfiTVYc72kzbXrzK4tea6jnTDnSKpE1D+vEptBXN2tdXEVNEAQI5Qm5L1zVDtt16UdqoUTUypIgUc9jcNH1mUQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.6",
+        "@angular-devkit/core": "9.0.7",
         "rxjs": "6.5.3"
       },
       "dependencies": {
@@ -32,19 +32,19 @@
       }
     },
     "@angular-devkit/build-angular": {
-      "version": "0.900.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.900.6.tgz",
-      "integrity": "sha512-EQ4K4i7FBQyy+qY+kTBxJkxaHzYAf+qSC5ktK1rzXCe17+FK/sf2k4YtHwxB9mbBLB1ZXj0JnysssgzeoG0s+w==",
+      "version": "0.900.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.900.7.tgz",
+      "integrity": "sha512-Yv2y3OEaYEd0fE0pKvtqBpmkQYs9xJws7thHnJYCwIfYO55RfolYsXkJgAXke/4NPLrD3EsIDqoPxF7l+uw2/Q==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.900.6",
-        "@angular-devkit/build-optimizer": "0.900.6",
-        "@angular-devkit/build-webpack": "0.900.6",
-        "@angular-devkit/core": "9.0.6",
+        "@angular-devkit/architect": "0.900.7",
+        "@angular-devkit/build-optimizer": "0.900.7",
+        "@angular-devkit/build-webpack": "0.900.7",
+        "@angular-devkit/core": "9.0.7",
         "@babel/core": "7.7.7",
         "@babel/generator": "7.7.7",
         "@babel/preset-env": "7.7.7",
-        "@ngtools/webpack": "9.0.6",
+        "@ngtools/webpack": "9.0.7",
         "ajv": "6.10.2",
         "autoprefixer": "9.7.1",
         "babel-loader": "8.0.6",
@@ -120,112 +120,11 @@
             }
           }
         },
-        "@babel/helper-annotate-as-pure": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
-          "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-builder-binary-assignment-operator-visitor": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
-          "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
-          "requires": {
-            "@babel/helper-explode-assignable-expression": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-call-delegate": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz",
-          "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==",
-          "requires": {
-            "@babel/helper-hoist-variables": "^7.8.3",
-            "@babel/types": "^7.8.7"
-          }
-        },
-        "@babel/helper-define-map": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
-          "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
-          "requires": {
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/types": "^7.8.3",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/helper-explode-assignable-expression": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
-          "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-hoist-variables": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
-          "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-member-expression-to-functions": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
-          "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-module-imports": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
-          "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-module-transforms": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz",
-          "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==",
-          "requires": {
-            "@babel/helper-module-imports": "^7.8.3",
-            "@babel/helper-replace-supers": "^7.8.6",
-            "@babel/helper-simple-access": "^7.8.3",
-            "@babel/types": "^7.8.6",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
-        },
         "@babel/types": {
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -244,23 +143,6 @@
             "uri-js": "^4.2.2"
           }
         },
-        "browserslist": {
-          "version": "4.9.1",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz",
-          "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==",
-          "dev": true,
-          "requires": {
-            "caniuse-lite": "^1.0.30001030",
-            "electron-to-chromium": "^1.3.363",
-            "node-releases": "^1.1.50"
-          }
-        },
-        "caniuse-lite": {
-          "version": "1.0.30001035",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
-          "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
-          "dev": true
-        },
         "chokidar": {
           "version": "2.1.8",
           "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
@@ -442,9 +324,9 @@
       }
     },
     "@angular-devkit/build-optimizer": {
-      "version": "0.900.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.6.tgz",
-      "integrity": "sha512-K8BDga/E1tUCuUnpnCCAR5yh8lfJqHSBvk1K9P5LgqQNxPvSedghyQ4LYNaeRRVIVmsh4RdsJ7hvmquFrFnTZg==",
+      "version": "0.900.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.7.tgz",
+      "integrity": "sha512-gxin2oPNMN+PYo82At2JP1Q+uxnvwyDFWA1Wl+Ufuc5zHGhjKqxdQjkdMF7OT0ihtmkllN+t/NTB7rcx/Sx9Wg==",
       "dev": true,
       "requires": {
         "loader-utils": "1.2.3",
@@ -469,13 +351,13 @@
       }
     },
     "@angular-devkit/build-webpack": {
-      "version": "0.900.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.6.tgz",
-      "integrity": "sha512-45YiOhR425599Ln4xLr8F+T0QJUEo8TeJMnq30J+2hux+XdklN2P4+0Ju0902IL0r4xD57Hibmi+fQEbDDe5sQ==",
+      "version": "0.900.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.7.tgz",
+      "integrity": "sha512-Nwwqjo1ZpHFLavN+nXOmuBgGjhoMBZGelDCvHtiQlQ9N6i7k9cKnP7eU5pY7jbalBguS+gWg5wJIGnbqk1K9Rg==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.900.6",
-        "@angular-devkit/core": "9.0.6",
+        "@angular-devkit/architect": "0.900.7",
+        "@angular-devkit/core": "9.0.7",
         "rxjs": "6.5.3"
       },
       "dependencies": {
@@ -491,9 +373,9 @@
       }
     },
     "@angular-devkit/core": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.6.tgz",
-      "integrity": "sha512-hCZJbnqLEm1F5Bx+ILcdd3LPgQTn4WFWpfUqMEGGj7UirRInWcz+6UpYotKGTJw85/mV01LrIbtWIkAUXbkkhg==",
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.7.tgz",
+      "integrity": "sha512-tMrz36sM1xrwvFf9Qm59GwALscVlMP7rQBjtd0fIR/QbsiOAIX4AQbV+vN6Vtwnzo5NIRZY1IXJUhesWms+h5w==",
       "dev": true,
       "requires": {
         "ajv": "6.10.2",
@@ -503,16 +385,6 @@
         "source-map": "0.7.3"
       },
       "dependencies": {
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
         "ajv": {
           "version": "6.10.2",
           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
@@ -537,12 +409,12 @@
       }
     },
     "@angular-devkit/schematics": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.6.tgz",
-      "integrity": "sha512-X7qZDJVrFcPUn+jNUeOH7Bx1D7YTpTFr0d3DBIsQzseReSGu7ugWziQPS4gc5Xm5K0nb8vx6DYtyW0FaIvX0ZA==",
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.7.tgz",
+      "integrity": "sha512-ryPC+l24f3gX5DFMTLkDM/q2Kp6LPzBn6400k7j4qVdb1cIrZx+JUQd7F4iAksTTkX15EQPanptQXeztUrl9Ng==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.6",
+        "@angular-devkit/core": "9.0.7",
         "ora": "4.0.2",
         "rxjs": "6.5.3"
       },
@@ -559,14 +431,14 @@
       }
     },
     "@angular/animations": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.6.tgz",
-      "integrity": "sha512-LNtzUrrjqLTlZyhuAEV0sdEV0yi52Ih/p+ozCr/ivhTSSemcPbniTBbJlFZO4NJ2BuS2iEXkXwZs3mm8Fvx5Sg=="
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.7.tgz",
+      "integrity": "sha512-74gY7onajmmnksy5E0/32bFv3B9NuWxV64kqD15YjGrh8AWe1BHt5enQI+rJ2tO8m2DKnwZsctis6k0Kcy+YKQ=="
     },
     "@angular/cdk": {
-      "version": "9.1.2",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.2.tgz",
-      "integrity": "sha512-x5niyE0iYrbVtLYjJFw2MoS+OoSbJn6y/G2pNScviDwyjBBgqRh4YgUox2kMhdPumkvuh+eA6blZoE9qpvSo2w==",
+      "version": "9.1.3",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.3.tgz",
+      "integrity": "sha512-K6XJzfqP+PE0ahyBUYrnoW+3ocwDpPN3dE9a+XRtZ0vM4P/FElweWj5zjNwWktb+uF9yal6oMPWXJNOAfonpPw==",
       "requires": {
         "parse5": "^5.0.0"
       },
@@ -580,16 +452,16 @@
       }
     },
     "@angular/cli": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.6.tgz",
-      "integrity": "sha512-uDXhkPcHhE4G4FlY7+LJWhXErHnkn63V8lqkKD7juivs+Epmx8oXCOVObEQTbbtw7sF6s0dM8uTzHKgoefTlaA==",
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.7.tgz",
+      "integrity": "sha512-/9CUNSSVyTtTNUADZ/VXJDEdhineMN/rfd35w6VsHiob49tKkeOTggaoiSne3RY4VCTqlo7GGf4KhhVXEMGnDQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.900.6",
-        "@angular-devkit/core": "9.0.6",
-        "@angular-devkit/schematics": "9.0.6",
-        "@schematics/angular": "9.0.6",
-        "@schematics/update": "0.900.6",
+        "@angular-devkit/architect": "0.900.7",
+        "@angular-devkit/core": "9.0.7",
+        "@angular-devkit/schematics": "9.0.7",
+        "@schematics/angular": "9.0.7",
+        "@schematics/update": "0.900.7",
         "@yarnpkg/lockfile": "1.1.0",
         "ansi-colors": "4.1.1",
         "debug": "^4.1.1",
@@ -607,16 +479,6 @@
         "uuid": "^3.3.2"
       },
       "dependencies": {
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
         "ansi-colors": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -684,14 +546,6 @@
             "string-width": "^4.1.0",
             "strip-ansi": "^5.1.0",
             "through": "^2.3.6"
-          },
-          "dependencies": {
-            "lodash": {
-              "version": "4.17.15",
-              "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
-              "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
-              "dev": true
-            }
           }
         },
         "is-fullwidth-code-point": {
@@ -700,6 +554,12 @@
           "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
           "dev": true
         },
+        "lodash": {
+          "version": "4.17.15",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+          "dev": true
+        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -766,11 +626,6 @@
           "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
           "dev": true
         },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
-        },
         "string-width": {
           "version": "4.2.0",
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
@@ -819,19 +674,19 @@
       }
     },
     "@angular/common": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.6.tgz",
-      "integrity": "sha512-z+c+zmoZTOQ2fT2sFQpHhpUbIYtjerxYmdOVpukprZCuv9WT2SGJfu4QVGSkeqejYnMp6VtXMdQ1CeAQojj0sw=="
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.7.tgz",
+      "integrity": "sha512-B58YgxZva1DBaeayOBsaUOOkoyR+GRibuNC3gfOMm2vXeW9eCNX+jvDtw767GnKm2yGzIq8wB3x6GHojN00dPw=="
     },
     "@angular/compiler": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.6.tgz",
-      "integrity": "sha512-jGTGNs8l3zwTnVEQH2v3HwWVvpz0bQY7B6rPkfHNP2bVwrhz7L6fYyJY1HtWM0S95b09NuSwianhabnEzQeTfQ=="
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.7.tgz",
+      "integrity": "sha512-hFpkuGpzxpK5h59LHHAjTFWsY6DCXZwgJFqvCuTPxWi/srvLGZRXrpC6Z1SlgHI9xxXaPfoa4uWw2VfA3BnqEg=="
     },
     "@angular/compiler-cli": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.6.tgz",
-      "integrity": "sha512-chzlImvinNigQ9JzehC7BRxct62OGkkru6jIMg3J2gr1r+sQlOn2ybvADloYkKnEP5hu2Izr2aSmEfMm4xobvg==",
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.7.tgz",
+      "integrity": "sha512-+RXghex63v0Vi8vpQtDpWiqpAAnrTaN3bHT5fntRenq5+Ok5vL1MJ1mzbTmBXs2tuwTqNlwMm2AlZB7G/xcDMQ==",
       "dev": true,
       "requires": {
         "canonical-path": "1.0.0",
@@ -848,101 +703,6 @@
         "yargs": "13.1.0"
       },
       "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
         "ansi-regex": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
@@ -990,14 +750,6 @@
             "readdirp": "~3.3.0"
           }
         },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
         "emoji-regex": {
           "version": "7.0.3",
           "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -1076,11 +828,6 @@
           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-        },
         "normalize-path": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -1175,9 +922,9 @@
       }
     },
     "@angular/core": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.6.tgz",
-      "integrity": "sha512-egpVGqqI+L1QQFn9ziHIElXb0bCzY1l8vzyQGfm2KnxHpmx2TJp2uaaHh5LRcqYR7TLeGMpqmzhRxir6Up7AAQ=="
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.7.tgz",
+      "integrity": "sha512-E9XZH5Dl+9MWG3MDC6wrKllhA8Rljpz66HOIeqKv2fHPed8kzuJZU3WJWLtbhDAXFwtGTyTZ4c82ZLSmqwTorg=="
     },
     "@angular/flex-layout": {
       "version": "9.0.0-beta.29",
@@ -1185,35 +932,35 @@
       "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA=="
     },
     "@angular/forms": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.6.tgz",
-      "integrity": "sha512-mxUEqQny3scxQM/21QLKgtq5EcOm1Tn5cU3rStY1L8J6Mg+Rd2Rz4SY0WXQpaRKPj+WNd+PDgdGiRs3cAjfLFQ=="
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.7.tgz",
+      "integrity": "sha512-PaHAmjMJDtg/3aGCPuq5BCRC1eZ/DBCpva9f7NrA1kqk0LcLdebm0v2uHwTOBtiz/VEgPvxiS4tXC4rjvUtfEg=="
     },
     "@angular/language-service": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.6.tgz",
-      "integrity": "sha512-lyEYYsBXFhXKu3aT6XkKBmmf4c59lb/C6C15q4Dl8BW/wIuA/mNLosDKLnd/jCS0VpcY4v0HJRKg9SCopa8BhQ==",
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.7.tgz",
+      "integrity": "sha512-IZG1kvw48JyFRy7bfMHqBixWrEHZmXmkP5DWsi5Tw6KusaczkMghI20BevCkodPcajXWHAUHNKyp1tlE3OnH0w==",
       "dev": true
     },
     "@angular/material": {
-      "version": "9.1.2",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.2.tgz",
-      "integrity": "sha512-8uwwkSnsg/YlhqxD/+0Cj+1S97Xf5WUcgxSEXmC1r0/AD+o6PGL5ImIk4n+3tdgYqm7MoJZQthlIB2J0EVLjVw=="
+      "version": "9.1.3",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.3.tgz",
+      "integrity": "sha512-tRdd5+z9XwsbN+4WCuH3goyEjqw1Q6vKeURCdas8bh5AVOrCt8pcFlj3yA3P/u4fdhfTeFc67PJRz8Zm0n3moQ=="
     },
     "@angular/platform-browser": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.6.tgz",
-      "integrity": "sha512-CA7dW+j1mVh3OUo3C2vIn05NxNgrDPK4vpfRIwBIn1gErpnIXCa2vgnRzn3H9zKizKt0iuwSIukEnWG280Q0xg=="
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.7.tgz",
+      "integrity": "sha512-Por8omrEiSV2U/K2mm/Kuv+2R2rJkbAZ3ctEM6CWj9Y4Gz2akjOCxmEgWhhBeqdigcC3T1v707f52osf9jWBkg=="
     },
     "@angular/platform-browser-dynamic": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.6.tgz",
-      "integrity": "sha512-Z0/qHciqbR+c2fwGxrkr77tQkEKhZpAPljGva/VNoS3Ms1OikqZB9Ev7xmZOM9656khPBU38m3aLsTXAAnQ4YA=="
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.7.tgz",
+      "integrity": "sha512-jwpyd93ofcRtchbayKD5v4GN4Lc7vbPe6dMUiwfnVnVAql0bOD/3YRI7w5qJ0Xx0sgQT+9Xo6jTXYnyUsZpEww=="
     },
     "@angular/router": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.6.tgz",
-      "integrity": "sha512-Ki1uk3jWPsoFh27SnyXatPSFK3ghF25pjiwWw9/inPvlS/HshSWgS2FbYf49LD5xVFF3Ni2Z5GRKxSEqxL8vQw=="
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.7.tgz",
+      "integrity": "sha512-uKru9F/Zju//gg6INl54abnlpLdEUUO/GpCfMk4zqu8LCZGNFta6OY7VT+9DK9Vdrh/XUD70oE9WoelcRwwTYA=="
     },
     "@babel/code-frame": {
       "version": "7.5.5",
@@ -1247,9 +994,9 @@
       },
       "dependencies": {
         "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
+          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
           "dev": true,
           "requires": {
             "@babel/types": "^7.8.7",
@@ -1299,9 +1046,9 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -1351,24 +1098,6 @@
               "requires": {
                 "@babel/highlight": "^7.8.3"
               }
-            },
-            "@babel/generator": {
-              "version": "7.8.7",
-              "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-              "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
-              "dev": true,
-              "requires": {
-                "@babel/types": "^7.8.7",
-                "jsesc": "^2.5.1",
-                "lodash": "^4.17.13",
-                "source-map": "^0.5.0"
-              }
-            },
-            "source-map": {
-              "version": "0.5.7",
-              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-              "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-              "dev": true
             }
           }
         },
@@ -1383,50 +1112,6 @@
             "to-fast-properties": "^2.0.0"
           }
         },
-        "ajv": {
-          "version": "6.10.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
-          "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
-          "requires": {
-            "fast-deep-equal": "^2.0.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "browserslist": {
-          "version": "4.9.1",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz",
-          "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==",
-          "requires": {
-            "caniuse-lite": "^1.0.30001030",
-            "electron-to-chromium": "^1.3.363",
-            "node-releases": "^1.1.50"
-          }
-        },
-        "caniuse-lite": {
-          "version": "1.0.30001035",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
-          "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ=="
-        },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1"
-          }
-        },
         "convert-source-map": {
           "version": "1.7.0",
           "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
@@ -1445,43 +1130,19 @@
             "ms": "^2.1.1"
           }
         },
-        "electron-to-chromium": {
-          "version": "1.3.376",
-          "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz",
-          "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw=="
-        },
-        "glob": {
-          "version": "7.1.5",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz",
-          "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==",
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.4",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "js-tokens": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-          "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-          "dev": true
-        },
         "json5": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
-          "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz",
+          "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==",
           "dev": true,
           "requires": {
-            "minimist": "^1.2.0"
+            "minimist": "^1.2.5"
           }
         },
         "minimist": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz",
-          "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
         "ms": {
@@ -1490,16 +1151,6 @@
           "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
           "dev": true
         },
-        "node-releases": {
-          "version": "1.1.51",
-          "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz",
-          "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw=="
-        },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
-        },
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -1618,9 +1269,9 @@
           }
         },
         "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
+          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
           "dev": true,
           "requires": {
             "@babel/types": "^7.8.7",
@@ -1738,14 +1389,14 @@
       }
     },
     "@babel/helper-create-regexp-features-plugin": {
-      "version": "7.8.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.6.tgz",
-      "integrity": "sha512-bPyujWfsHhV/ztUkwGHz/RPV1T1TDEsSZDsN42JPehndA+p1KKTh3npvTadux0ZhCrytx9tvjpWNowKby3tM6A==",
+      "version": "7.8.8",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
+      "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
       "dev": true,
       "requires": {
         "@babel/helper-annotate-as-pure": "^7.8.3",
         "@babel/helper-regex": "^7.8.3",
-        "regexpu-core": "^4.6.0"
+        "regexpu-core": "^4.7.0"
       },
       "dependencies": {
         "jsesc": {
@@ -1755,17 +1406,17 @@
           "dev": true
         },
         "regexpu-core": {
-          "version": "4.6.0",
-          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.6.0.tgz",
-          "integrity": "sha512-YlVaefl8P5BnFYOITTNzDvan1ulLOiXJzCNZxduTIosN17b87h3bvG9yHMoHaRuo88H4mQ06Aodj5VtYGGGiTg==",
+          "version": "4.7.0",
+          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
+          "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
           "dev": true,
           "requires": {
             "regenerate": "^1.4.0",
-            "regenerate-unicode-properties": "^8.1.0",
-            "regjsgen": "^0.5.0",
-            "regjsparser": "^0.6.0",
+            "regenerate-unicode-properties": "^8.2.0",
+            "regjsgen": "^0.5.1",
+            "regjsparser": "^0.6.4",
             "unicode-match-property-ecmascript": "^1.0.4",
-            "unicode-match-property-value-ecmascript": "^1.1.0"
+            "unicode-match-property-value-ecmascript": "^1.2.0"
           }
         },
         "regjsgen": {
@@ -1775,9 +1426,9 @@
           "dev": true
         },
         "regjsparser": {
-          "version": "0.6.3",
-          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.3.tgz",
-          "integrity": "sha512-8uZvYbnfAtEm9Ab8NTb3hdLwL4g/LQzEYP7Xs27T96abJCCE2d6r3cPZPQEsLKy0vRSGVNG+/zVGtLr86HQduA==",
+          "version": "0.6.4",
+          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+          "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
           "dev": true,
           "requires": {
             "jsesc": "~0.5.0"
@@ -1837,9 +1488,9 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -1863,11 +1514,6 @@
             "lodash": "^4.17.13",
             "to-fast-properties": "^2.0.0"
           }
-        },
-        "type-fest": {
-          "version": "0.11.0",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
-          "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ=="
         }
       }
     },
@@ -2056,6 +1702,7 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
       "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+      "dev": true,
       "requires": {
         "@babel/types": "^7.8.3"
       },
@@ -2064,6 +1711,7 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2139,9 +1787,9 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -2172,6 +1820,7 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
       "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+      "dev": true,
       "requires": {
         "@babel/types": "^7.8.3"
       },
@@ -2180,6 +1829,7 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2226,9 +1876,9 @@
           }
         },
         "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
+          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
           "dev": true,
           "requires": {
             "@babel/types": "^7.8.7",
@@ -2278,9 +1928,9 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -2349,6 +1999,7 @@
       "version": "7.8.6",
       "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz",
       "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==",
+      "dev": true,
       "requires": {
         "@babel/helper-member-expression-to-functions": "^7.8.3",
         "@babel/helper-optimise-call-expression": "^7.8.3",
@@ -2360,14 +2011,16 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
           "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
           "requires": {
             "@babel/highlight": "^7.8.3"
           }
         },
         "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
+          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
+          "dev": true,
           "requires": {
             "@babel/types": "^7.8.7",
             "jsesc": "^2.5.1",
@@ -2379,6 +2032,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
           "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "dev": true,
           "requires": {
             "@babel/helper-get-function-arity": "^7.8.3",
             "@babel/template": "^7.8.3",
@@ -2389,6 +2043,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
           "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -2397,6 +2052,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
           "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -2405,6 +2061,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
           "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -2412,14 +2069,16 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
+          "dev": true
         },
         "@babel/template": {
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
           "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/parser": "^7.8.6",
@@ -2430,6 +2089,7 @@
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
           "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/generator": "^7.8.6",
@@ -2446,6 +2106,7 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2456,6 +2117,7 @@
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -2463,12 +2125,14 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         },
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
         }
       }
     },
@@ -2476,6 +2140,7 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
       "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+      "dev": true,
       "requires": {
         "@babel/template": "^7.8.3",
         "@babel/types": "^7.8.3"
@@ -2485,6 +2150,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
           "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
           "requires": {
             "@babel/highlight": "^7.8.3"
           }
@@ -2493,6 +2159,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
           "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -2500,14 +2167,16 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
+          "dev": true
         },
         "@babel/template": {
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
           "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/parser": "^7.8.6",
@@ -2518,6 +2187,7 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2557,9 +2227,9 @@
           }
         },
         "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
+          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
           "dev": true,
           "requires": {
             "@babel/types": "^7.8.7",
@@ -2609,9 +2279,9 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -2697,9 +2367,9 @@
           }
         },
         "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
+          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
           "dev": true,
           "requires": {
             "@babel/types": "^7.8.7",
@@ -2749,9 +2419,9 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -2893,12 +2563,12 @@
       }
     },
     "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.3.tgz",
-      "integrity": "sha512-1/1/rEZv2XGweRwwSkLpY+s60za9OZ1hJs4YDqFHCw0kYWYwL5IFljVY1MYBL+weT1l9pokDO2uhSTLVxzoHkQ==",
+      "version": "7.8.8",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
+      "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
+        "@babel/helper-create-regexp-features-plugin": "^7.8.8",
         "@babel/helper-plugin-utils": "^7.8.3"
       }
     },
@@ -3087,21 +2757,6 @@
             "lodash": "^4.17.13",
             "to-fast-properties": "^2.0.0"
           }
-        },
-        "is-number": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
-        },
-        "minimist": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz",
-          "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg=="
-        },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
         }
       }
     },
@@ -3115,9 +2770,9 @@
       }
     },
     "@babel/plugin-transform-destructuring": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.3.tgz",
-      "integrity": "sha512-H4X646nCkiEcHZUZaRkhE2XVsoz0J/1x3VVujnn96pSoGCtKPA99ZZA+va+gK+92Zycd6OBKCD8tDb/731bhgQ==",
+      "version": "7.8.8",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz",
+      "integrity": "sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==",
       "dev": true,
       "requires": {
         "@babel/helper-plugin-utils": "^7.8.3"
@@ -3212,9 +2867,9 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -3333,9 +2988,9 @@
       }
     },
     "@babel/plugin-transform-parameters": {
-      "version": "7.8.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.7.tgz",
-      "integrity": "sha512-brYWaEPTRimOctz2NDA3jnBbDi7SVN2T4wYuu0aqSzxC3nozFZngGaw29CJ9ZPweB7k+iFmZuoG3IVPIcXmD2g==",
+      "version": "7.8.8",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz",
+      "integrity": "sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==",
       "dev": true,
       "requires": {
         "@babel/helper-call-delegate": "^7.8.7",
@@ -3362,50 +3017,6 @@
             "lodash": "^4.17.13",
             "to-fast-properties": "^2.0.0"
           }
-        },
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0="
-        },
-        "regenerate-unicode-properties": {
-          "version": "8.2.0",
-          "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
-          "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
-          "requires": {
-            "regenerate": "^1.4.0"
-          }
-        },
-        "regexpu-core": {
-          "version": "4.7.0",
-          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
-          "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
-          "requires": {
-            "regenerate": "^1.4.0",
-            "regenerate-unicode-properties": "^8.2.0",
-            "regjsgen": "^0.5.1",
-            "regjsparser": "^0.6.4",
-            "unicode-match-property-ecmascript": "^1.0.4",
-            "unicode-match-property-value-ecmascript": "^1.2.0"
-          }
-        },
-        "regjsgen": {
-          "version": "0.5.1",
-          "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
-          "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg=="
-        },
-        "regjsparser": {
-          "version": "0.6.4",
-          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
-          "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
-          "requires": {
-            "jsesc": "~0.5.0"
-          }
-        },
-        "unicode-match-property-value-ecmascript": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
-          "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ=="
         }
       }
     },
@@ -3841,9 +3452,9 @@
           "dev": true
         },
         "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
         "normalize-path": {
@@ -4014,12 +3625,12 @@
       }
     },
     "@ngtools/webpack": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.0.6.tgz",
-      "integrity": "sha512-1R6xuQKBlVdf1lPsjN9S/BRCxPTRPPDN3E3unX2Nw4wK8XBWwm5CuSeEgp33PCwMpyWPaa7bg25Nz3Zt+DIlSQ==",
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.0.7.tgz",
+      "integrity": "sha512-MvoMaErkjESefoIrbt8F2RpKDr9KavwvH4v3hwSAKooVNFdFKNsjJ7m3gCQehumEfsYFq2mrEK2sTW4/CpFlMQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.6",
+        "@angular-devkit/core": "9.0.7",
         "enhanced-resolve": "4.1.1",
         "rxjs": "6.5.3",
         "webpack-sources": "1.4.3"
@@ -4043,23 +3654,23 @@
       "dev": true
     },
     "@schematics/angular": {
-      "version": "9.0.6",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.0.6.tgz",
-      "integrity": "sha512-oYIfSJF9ISAJWJjIiUnj8Rp1m4t9T3oqKl1FzkMWXvUmR1BfkO2S2/Moi2RQ0aHG6D9Oz4CJjrsQRmjaqBpEZw==",
+      "version": "9.0.7",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.0.7.tgz",
+      "integrity": "sha512-3UCeexYx/YVo3kboyPZ8KgqBTduMA18AAm3s2yrC0qj41fBFVVZAZLa74uouTf4RYVgy9kR7J3uv6VLxrJPOnQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.6",
-        "@angular-devkit/schematics": "9.0.6"
+        "@angular-devkit/core": "9.0.7",
+        "@angular-devkit/schematics": "9.0.7"
       }
     },
     "@schematics/update": {
-      "version": "0.900.6",
-      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.900.6.tgz",
-      "integrity": "sha512-54Xi3FIJQWFBM91vxD9ciKkTlNWaIV7wsjKSImg53h2m2/l2VPPHyIZWI4j79dWXlfJVTNeaqPNYGzJlRvaEmA==",
+      "version": "0.900.7",
+      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.900.7.tgz",
+      "integrity": "sha512-e9tX2DGNYfj/k9mVICpQt2bWIYyD92dlsip7LzPeZGt+R9zCp5w19uBLa8Z00OgEGzFR1krhRvkQE5OxkkAnVw==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.6",
-        "@angular-devkit/schematics": "9.0.6",
+        "@angular-devkit/core": "9.0.7",
+        "@angular-devkit/schematics": "9.0.7",
         "@yarnpkg/lockfile": "1.1.0",
         "ini": "1.3.5",
         "npm-package-arg": "^7.0.0",
@@ -4158,9 +3769,9 @@
       "dev": true
     },
     "@types/estree": {
-      "version": "0.0.42",
-      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.42.tgz",
-      "integrity": "sha512-K1DPVvnBCPxzD+G51/cxVIoc2X8uUVl1zpJeE6iKcgHMj4+tbat5Xu4TjV7v2QSDbIeAfLi2hIk+u2+s0MlpUQ==",
+      "version": "0.0.43",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.43.tgz",
+      "integrity": "sha512-WfOySUnBpyKXbkC9QuZguwOGhGnugDXT2f2P6X8EIis7qlnd5NI1Nr4kRi357NtguxezyizIcaFlQe0wx23XnA==",
       "dev": true
     },
     "@types/events": {
@@ -4227,9 +3838,9 @@
       "integrity": "sha512-13gmo3M2qVvjQrWNseqM3+cR6S2Ss3grbR2NZltgMq94wOwqJYQdgn8qzwDshzgXqMlSUtyPZjysImmktu22ew=="
     },
     "@types/node": {
-      "version": "13.9.0",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.0.tgz",
-      "integrity": "sha512-0ARSQootUG1RljH2HncpsY2TJBfGQIKOOi7kxzUY6z54ePu/ZD+wJA8zI2Q6v8rol2qpG/rvqsReco8zNMPvhQ==",
+      "version": "13.9.2",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz",
+      "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==",
       "dev": true
     },
     "@types/pako": {
@@ -4531,9 +4142,9 @@
       },
       "dependencies": {
         "acorn": {
-          "version": "7.1.0",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz",
-          "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==",
+          "version": "7.1.1",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz",
+          "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==",
           "dev": true
         }
       }
@@ -4740,6 +4351,7 @@
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
       "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
       "requires": {
         "color-convert": "^1.9.0"
       },
@@ -4748,6 +4360,7 @@
           "version": "1.9.3",
           "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
           "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+          "dev": true,
           "requires": {
             "color-name": "1.1.3"
           }
@@ -4755,7 +4368,8 @@
         "color-name": {
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+          "dev": true
         }
       }
     },
@@ -4769,6 +4383,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
       "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+      "dev": true,
       "requires": {
         "micromatch": "^3.1.4",
         "normalize-path": "^2.1.1"
@@ -4921,17 +4536,20 @@
     "arr-diff": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+      "dev": true
     },
     "arr-flatten": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+      "dev": true
     },
     "arr-union": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+      "dev": true
     },
     "array-differ": {
       "version": "1.0.0",
@@ -4980,7 +4598,8 @@
     "array-unique": {
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+      "dev": true
     },
     "arraybuffer.slice": {
       "version": "0.0.7",
@@ -5056,7 +4675,8 @@
     "assign-symbols": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+      "dev": true
     },
     "ast-transform": {
       "version": "0.0.0",
@@ -5135,7 +4755,8 @@
     "async-each": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
-      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
+      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+      "dev": true
     },
     "async-exit-hook": {
       "version": "2.0.1",
@@ -5158,7 +4779,8 @@
     "atob": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+      "dev": true
     },
     "autoprefixer": {
       "version": "9.7.1",
@@ -5173,46 +4795,6 @@
         "num2fraction": "^1.2.2",
         "postcss": "^7.0.21",
         "postcss-value-parser": "^4.0.2"
-      },
-      "dependencies": {
-        "browserslist": {
-          "version": "4.9.1",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz",
-          "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==",
-          "dev": true,
-          "requires": {
-            "caniuse-lite": "^1.0.30001030",
-            "electron-to-chromium": "^1.3.363",
-            "node-releases": "^1.1.50"
-          }
-        },
-        "caniuse-lite": {
-          "version": "1.0.30001035",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
-          "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
-          "dev": true
-        },
-        "electron-to-chromium": {
-          "version": "1.3.376",
-          "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.376.tgz",
-          "integrity": "sha512-cv/PYVz5szeMz192ngilmezyPNFkUjuynuL2vNdiqIrio440nfTDdc0JJU0TS2KHLSVCs9gBbt4CFqM+HcBnjw==",
-          "dev": true
-        },
-        "node-releases": {
-          "version": "1.1.51",
-          "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.51.tgz",
-          "integrity": "sha512-1eQEs6HFYY1kMXQPOLzCf7HdjReErmvn85tZESMczdCNVWP3Y7URYLBAyYynuI7yef1zj4HN5q+oB2x67QU0lw==",
-          "dev": true,
-          "requires": {
-            "semver": "^6.3.0"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
       }
     },
     "aws-sign2": {
@@ -5325,6 +4907,7 @@
       "version": "0.11.2",
       "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
       "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+      "dev": true,
       "requires": {
         "cache-base": "^1.0.1",
         "class-utils": "^0.3.5",
@@ -5339,6 +4922,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -5347,6 +4931,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -5355,6 +4940,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -5363,6 +4949,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -5441,7 +5028,8 @@
     "binary-extensions": {
       "version": "1.13.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
-      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw=="
+      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
+      "dev": true
     },
     "blob": {
       "version": "0.0.5",
@@ -5459,9 +5047,9 @@
       },
       "dependencies": {
         "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         }
       }
@@ -5701,6 +5289,7 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
       "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
       "requires": {
         "arr-flatten": "^1.1.0",
         "array-unique": "^0.3.2",
@@ -5718,6 +5307,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -5851,14 +5441,26 @@
       }
     },
     "browserslist": {
-      "version": "4.8.3",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.8.3.tgz",
-      "integrity": "sha512-iU43cMMknxG1ClEZ2MDKeonKE1CCrFVkQK2AqO2YWFmvIrx4JWrvQ4w4hQez6EpVI8rHTtqh/ruHHDHSOKxvUg==",
+      "version": "4.10.0",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz",
+      "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==",
       "dev": true,
       "requires": {
-        "caniuse-lite": "^1.0.30001017",
-        "electron-to-chromium": "^1.3.322",
-        "node-releases": "^1.1.44"
+        "caniuse-lite": "^1.0.30001035",
+        "electron-to-chromium": "^1.3.378",
+        "node-releases": "^1.1.52",
+        "pkg-up": "^3.1.0"
+      },
+      "dependencies": {
+        "pkg-up": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
+          "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
+          "dev": true,
+          "requires": {
+            "find-up": "^3.0.0"
+          }
+        }
       }
     },
     "browserstack": {
@@ -6152,6 +5754,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
       "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+      "dev": true,
       "requires": {
         "collection-visit": "^1.0.0",
         "component-emitter": "^1.2.1",
@@ -6272,9 +5875,9 @@
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30001020",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001020.tgz",
-      "integrity": "sha512-yWIvwA68wRHKanAVS1GjN8vajAv7MBFshullKCeq/eKpK7pJBVDgFFEqvgWTkcP2+wIDeQGYFRXECjKZnLkUjA==",
+      "version": "1.0.30001035",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
+      "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
       "dev": true
     },
     "canonical-path": {
@@ -6296,9 +5899,9 @@
       "dev": true
     },
     "cfb": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.1.3.tgz",
-      "integrity": "sha512-joXBW0nMuwV9no7UTMiyVJnQL6XIU3ThXVjFUDHgl9MpILPOomyfaGqC290VELZ48bbQKZXnQ81UT5HouTxHsw==",
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/cfb/-/cfb-1.1.4.tgz",
+      "integrity": "sha512-rwFkl3aFO3f+ljR27YINwC0x8vPjyiEVbYbrTCKzspEf7Q++3THdfHVgJYNUbxNcupJECrLX+L40Mjm9hm/Bgw==",
       "requires": {
         "adler-32": "~1.2.0",
         "commander": "^2.16.0",
@@ -6310,6 +5913,7 @@
       "version": "2.4.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
       "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
       "requires": {
         "ansi-styles": "^3.2.1",
         "escape-string-regexp": "^1.0.5",
@@ -6320,6 +5924,7 @@
           "version": "5.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+          "dev": true,
           "requires": {
             "has-flag": "^3.0.0"
           }
@@ -6392,24 +5997,119 @@
       }
     },
     "chokidar": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
-      "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
+      "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
       "dev": true,
       "requires": {
-        "anymatch": "^2.0.0",
-        "async-each": "^1.0.0",
-        "braces": "^2.3.0",
-        "fsevents": "^1.2.2",
-        "glob-parent": "^3.1.0",
-        "inherits": "^2.0.1",
-        "is-binary-path": "^1.0.0",
-        "is-glob": "^4.0.0",
-        "lodash.debounce": "^4.0.8",
-        "normalize-path": "^2.1.1",
-        "path-is-absolute": "^1.0.0",
-        "readdirp": "^2.0.0",
-        "upath": "^1.0.5"
+        "anymatch": "~3.1.1",
+        "braces": "~3.0.2",
+        "fsevents": "~2.1.2",
+        "glob-parent": "~5.1.0",
+        "is-binary-path": "~2.1.0",
+        "is-glob": "~4.0.1",
+        "normalize-path": "~3.0.0",
+        "readdirp": "~3.3.0"
+      },
+      "dependencies": {
+        "anymatch": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+          "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+          "dev": true,
+          "requires": {
+            "normalize-path": "^3.0.0",
+            "picomatch": "^2.0.4"
+          }
+        },
+        "binary-extensions": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+          "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
+          "dev": true
+        },
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+          "dev": true,
+          "requires": {
+            "fill-range": "^7.0.1"
+          }
+        },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+          "dev": true,
+          "requires": {
+            "to-regex-range": "^5.0.1"
+          }
+        },
+        "fsevents": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
+          "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
+          "dev": true,
+          "optional": true
+        },
+        "glob-parent": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
+          "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "is-binary-path": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+          "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+          "dev": true,
+          "requires": {
+            "binary-extensions": "^2.0.0"
+          }
+        },
+        "is-glob": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+          "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+          "dev": true,
+          "requires": {
+            "is-extglob": "^2.1.1"
+          }
+        },
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+          "dev": true
+        },
+        "normalize-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+          "dev": true
+        },
+        "readdirp": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
+          "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
+          "dev": true,
+          "requires": {
+            "picomatch": "^2.0.7"
+          }
+        },
+        "to-regex-range": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+          "dev": true,
+          "requires": {
+            "is-number": "^7.0.0"
+          }
+        }
       }
     },
     "chownr": {
@@ -6459,6 +6159,7 @@
       "version": "0.3.6",
       "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
       "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "define-property": "^0.2.5",
@@ -6470,6 +6171,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -6687,6 +6389,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
       "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+      "dev": true,
       "requires": {
         "map-visit": "^1.0.0",
         "object-visit": "^1.0.0"
@@ -6805,7 +6508,8 @@
     "component-emitter": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+      "dev": true
     },
     "component-inherit": {
       "version": "0.0.3",
@@ -7006,7 +6710,8 @@
     "copy-descriptor": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+      "dev": true
     },
     "copy-webpack-plugin": {
       "version": "5.1.1",
@@ -7688,7 +7393,8 @@
     "core-util-is": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
     },
     "cors": {
       "version": "2.8.5",
@@ -8431,6 +8137,7 @@
       "version": "2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
       "requires": {
         "ms": "2.0.0"
       }
@@ -8459,7 +8166,8 @@
     "decode-uri-component": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+      "dev": true
     },
     "decompress-response": {
       "version": "3.3.0",
@@ -8546,6 +8254,7 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
       "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+      "dev": true,
       "requires": {
         "is-descriptor": "^1.0.2",
         "isobject": "^3.0.1"
@@ -8555,6 +8264,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8563,6 +8273,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8571,6 +8282,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -9240,9 +8952,9 @@
       }
     },
     "electron-to-chromium": {
-      "version": "1.3.368",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.368.tgz",
-      "integrity": "sha512-fqzDipW3p+uDkHUHFPrdW3wINRKcJsbnJwBD7hgaQEQwcuLSvNLw6SeUp5gKDpTbmTl7zri7IZfhsdTUTnygJg==",
+      "version": "1.3.379",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.379.tgz",
+      "integrity": "sha512-NK9DBBYEBb5f9D7zXI0hiE941gq3wkBeQmXs1ingigA/jnTg5mhwY2Z5egwA+ZI8OLGKCx0h1Cl8/xeuIBuLlg==",
       "dev": true
     },
     "elementtree": {
@@ -9585,7 +9297,8 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
     },
     "escaper": {
       "version": "2.5.3",
@@ -9654,7 +9367,8 @@
     "esutils": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
-      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+      "dev": true
     },
     "etag": {
       "version": "1.8.1",
@@ -9759,6 +9473,7 @@
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
       "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+      "dev": true,
       "requires": {
         "debug": "^2.3.3",
         "define-property": "^0.2.5",
@@ -9773,6 +9488,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -9781,6 +9497,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -9995,6 +9712,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+      "dev": true,
       "requires": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -10004,6 +9722,7 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -10025,6 +9744,7 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
       "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+      "dev": true,
       "requires": {
         "array-unique": "^0.3.2",
         "define-property": "^1.0.0",
@@ -10040,6 +9760,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -10048,6 +9769,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -10056,6 +9778,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -10064,6 +9787,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -10072,6 +9796,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -10100,12 +9825,10 @@
     },
     "falafel": {
       "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz",
-      "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
+      "resolved": "",
       "dev": true,
       "requires": {
         "acorn": "^5.0.0",
-        "foreach": "^2.0.5",
         "isarray": "0.0.1",
         "object-keys": "^1.0.6"
       },
@@ -10139,7 +9862,8 @@
     "fast-deep-equal": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+      "dev": true
     },
     "fast-glob": {
       "version": "2.2.7",
@@ -10163,7 +9887,8 @@
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+      "dev": true
     },
     "fast-levenshtein": {
       "version": "2.0.6",
@@ -10269,6 +9994,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
       "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-number": "^3.0.0",
@@ -10280,6 +10006,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -10540,12 +10267,7 @@
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
-    },
-    "foreach": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
-      "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
       "dev": true
     },
     "forever-agent": {
@@ -10580,6 +10302,7 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
       "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+      "dev": true,
       "requires": {
         "map-cache": "^0.2.2"
       }
@@ -10653,6 +10376,7 @@
       "version": "1.2.7",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
       "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
+      "dev": true,
       "optional": true,
       "requires": {
         "nan": "^2.9.2",
@@ -10662,21 +10386,25 @@
         "abbrev": {
           "version": "1.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "aproba": {
           "version": "1.2.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "are-we-there-yet": {
           "version": "1.1.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "delegates": "^1.0.0",
@@ -10686,11 +10414,13 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
@@ -10700,31 +10430,37 @@
         "chownr": {
           "version": "1.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "debug": {
           "version": "2.6.9",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "ms": "2.0.0"
@@ -10733,21 +10469,25 @@
         "deep-extend": {
           "version": "0.6.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "delegates": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "detect-libc": {
           "version": "1.0.3",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "fs-minipass": {
           "version": "1.2.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -10756,11 +10496,13 @@
         "fs.realpath": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "gauge": {
           "version": "2.7.4",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "aproba": "^1.0.3",
@@ -10776,6 +10518,7 @@
         "glob": {
           "version": "7.1.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "fs.realpath": "^1.0.0",
@@ -10789,11 +10532,13 @@
         "has-unicode": {
           "version": "2.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "iconv-lite": {
           "version": "0.4.24",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "safer-buffer": ">= 2.1.2 < 3"
@@ -10802,6 +10547,7 @@
         "ignore-walk": {
           "version": "3.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minimatch": "^3.0.4"
@@ -10810,6 +10556,7 @@
         "inflight": {
           "version": "1.0.6",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "once": "^1.3.0",
@@ -10819,16 +10566,19 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "ini": {
           "version": "1.3.5",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "is-fullwidth-code-point": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
@@ -10837,11 +10587,13 @@
         "isarray": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "minimatch": {
           "version": "3.0.4",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
@@ -10850,11 +10602,13 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
@@ -10864,6 +10618,7 @@
         "minizlib": {
           "version": "1.2.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -10872,6 +10627,7 @@
         "mkdirp": {
           "version": "0.5.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minimist": "0.0.8"
@@ -10880,11 +10636,13 @@
         "ms": {
           "version": "2.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "needle": {
           "version": "2.2.4",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "debug": "^2.1.2",
@@ -10895,6 +10653,7 @@
         "node-pre-gyp": {
           "version": "0.10.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "detect-libc": "^1.0.2",
@@ -10912,6 +10671,7 @@
         "nopt": {
           "version": "4.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "abbrev": "1",
@@ -10921,11 +10681,13 @@
         "npm-bundled": {
           "version": "1.0.5",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "npm-packlist": {
           "version": "1.2.0",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "ignore-walk": "^3.0.1",
@@ -10935,6 +10697,7 @@
         "npmlog": {
           "version": "4.1.2",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "are-we-there-yet": "~1.1.2",
@@ -10946,16 +10709,19 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "once": {
           "version": "1.4.0",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "wrappy": "1"
@@ -10964,16 +10730,19 @@
         "os-homedir": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "os-tmpdir": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "osenv": {
           "version": "0.1.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "os-homedir": "^1.0.0",
@@ -10983,16 +10752,19 @@
         "path-is-absolute": {
           "version": "1.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "process-nextick-args": {
           "version": "2.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "rc": {
           "version": "1.2.8",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "deep-extend": "^0.6.0",
@@ -11004,6 +10776,7 @@
             "minimist": {
               "version": "1.2.0",
               "bundled": true,
+              "dev": true,
               "optional": true
             }
           }
@@ -11011,6 +10784,7 @@
         "readable-stream": {
           "version": "2.3.6",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "core-util-is": "~1.0.0",
@@ -11025,6 +10799,7 @@
         "rimraf": {
           "version": "2.6.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "glob": "^7.1.3"
@@ -11033,36 +10808,43 @@
         "safe-buffer": {
           "version": "5.1.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "sax": {
           "version": "1.2.4",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "semver": {
           "version": "5.6.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "set-blocking": {
           "version": "2.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "signal-exit": {
           "version": "3.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "string-width": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
@@ -11073,6 +10855,7 @@
         "string_decoder": {
           "version": "1.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "~5.1.0"
@@ -11081,6 +10864,7 @@
         "strip-ansi": {
           "version": "3.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
@@ -11089,11 +10873,13 @@
         "strip-json-comments": {
           "version": "2.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "tar": {
           "version": "4.4.8",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "chownr": "^1.1.1",
@@ -11108,11 +10894,13 @@
         "util-deprecate": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "wide-align": {
           "version": "1.1.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "string-width": "^1.0.2 || 2"
@@ -11121,11 +10909,13 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "yallist": {
           "version": "3.0.3",
           "bundled": true,
+          "dev": true,
           "optional": true
         }
       }
@@ -11138,13 +10928,7 @@
     "genfun": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
-      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
-      "dev": true
-    },
-    "gensync": {
-      "version": "1.0.0-beta.1",
-      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
-      "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
       "dev": true
     },
     "get-assigned-identifiers": {
@@ -11168,7 +10952,8 @@
     "get-value": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+      "dev": true
     },
     "getpass": {
       "version": "0.1.7",
@@ -11196,6 +10981,7 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
       "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+      "dev": true,
       "requires": {
         "is-glob": "^3.1.0",
         "path-dirname": "^1.0.0"
@@ -11205,6 +10991,7 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
           "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+          "dev": true,
           "requires": {
             "is-extglob": "^2.1.0"
           }
@@ -11267,7 +11054,8 @@
     "globals": {
       "version": "11.12.0",
       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+      "dev": true
     },
     "globalthis": {
       "version": "1.0.1",
@@ -11435,7 +11223,8 @@
     "has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+      "dev": true
     },
     "has-symbols": {
       "version": "1.0.0",
@@ -11446,6 +11235,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
       "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+      "dev": true,
       "requires": {
         "get-value": "^2.0.6",
         "has-values": "^1.0.0",
@@ -11456,6 +11246,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
       "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "kind-of": "^4.0.0"
@@ -11465,6 +11256,7 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
           "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12095,6 +11887,7 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -12103,6 +11896,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12119,6 +11913,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
       "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+      "dev": true,
       "requires": {
         "binary-extensions": "^1.0.0"
       }
@@ -12126,7 +11921,8 @@
     "is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+      "dev": true
     },
     "is-callable": {
       "version": "1.1.4",
@@ -12160,6 +11956,7 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -12168,6 +11965,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12183,6 +11981,7 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+      "dev": true,
       "requires": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -12192,7 +11991,8 @@
         "kind-of": {
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+          "dev": true
         }
       }
     },
@@ -12205,12 +12005,14 @@
     "is-extendable": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true
     },
     "is-extglob": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+      "dev": true
     },
     "is-fullwidth-code-point": {
       "version": "2.0.0",
@@ -12222,6 +12024,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
       "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+      "dev": true,
       "requires": {
         "is-extglob": "^2.1.1"
       }
@@ -12258,6 +12061,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
       "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -12266,6 +12070,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -12311,6 +12116,7 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -12408,7 +12214,8 @@
     "is-windows": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+      "dev": true
     },
     "is-wsl": {
       "version": "1.1.0",
@@ -12425,7 +12232,8 @@
     "isarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
     },
     "isbinaryfile": {
       "version": "4.0.4",
@@ -12441,7 +12249,8 @@
     "isobject": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true
     },
     "isstream": {
       "version": "0.1.2",
@@ -12562,41 +12371,10 @@
             "@babel/highlight": "^7.8.3"
           }
         },
-        "@babel/core": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.7.tgz",
-          "integrity": "sha512-rBlqF3Yko9cynC5CCFy6+K/w2N+Sq/ff2BPy+Krp7rHlABIr5epbA7OxVeKoMHB39LZOp1UY5SuLjy6uWi35yA==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.7",
-            "@babel/helpers": "^7.8.4",
-            "@babel/parser": "^7.8.7",
-            "@babel/template": "^7.8.6",
-            "@babel/traverse": "^7.8.6",
-            "@babel/types": "^7.8.7",
-            "convert-source-map": "^1.7.0",
-            "debug": "^4.1.0",
-            "gensync": "^1.0.0-beta.1",
-            "json5": "^2.1.0",
-            "lodash": "^4.17.13",
-            "resolve": "^1.3.2",
-            "semver": "^5.4.1",
-            "source-map": "^0.5.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "5.7.1",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
-            }
-          }
-        },
         "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
+          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
           "dev": true,
           "requires": {
             "@babel/types": "^7.8.7",
@@ -12646,9 +12424,9 @@
           }
         },
         "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A==",
+          "version": "7.8.8",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
+          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
           "dev": true
         },
         "@babel/template": {
@@ -12690,15 +12468,6 @@
             "to-fast-properties": "^2.0.0"
           }
         },
-        "convert-source-map": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
-          "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.1"
-          }
-        },
         "debug": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -12708,27 +12477,6 @@
             "ms": "^2.1.1"
           }
         },
-        "js-tokens": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-          "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-          "dev": true
-        },
-        "json5": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
-          "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "minimist": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz",
-          "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==",
-          "dev": true
-        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -12949,7 +12697,8 @@
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+      "dev": true
     },
     "js-yaml": {
       "version": "3.13.1",
@@ -12978,7 +12727,8 @@
     "jsesc": {
       "version": "2.5.2",
       "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+      "dev": true
     },
     "json-buffer": {
       "version": "3.0.0",
@@ -13001,7 +12751,8 @@
     "json-schema-traverse": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
     },
     "json-stringify-safe": {
       "version": "5.0.1",
@@ -13025,9 +12776,9 @@
       },
       "dependencies": {
         "minimist": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz",
-          "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         }
       }
@@ -13328,9 +13079,10 @@
       "dev": true
     },
     "kind-of": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
-      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+      "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+      "dev": true
     },
     "latest-version": {
       "version": "5.1.0",
@@ -13470,6 +13222,26 @@
         "serve-index": "^1.9.1"
       },
       "dependencies": {
+        "chokidar": {
+          "version": "2.1.8",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+          "dev": true,
+          "requires": {
+            "anymatch": "^2.0.0",
+            "async-each": "^1.0.1",
+            "braces": "^2.3.2",
+            "fsevents": "^1.2.7",
+            "glob-parent": "^3.1.0",
+            "inherits": "^2.0.3",
+            "is-binary-path": "^1.0.0",
+            "is-glob": "^4.0.0",
+            "normalize-path": "^3.0.0",
+            "path-is-absolute": "^1.0.0",
+            "readdirp": "^2.2.1",
+            "upath": "^1.1.1"
+          }
+        },
         "colors": {
           "version": "1.4.0",
           "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
@@ -13510,6 +13282,12 @@
           "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
           "dev": true
         },
+        "normalize-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+          "dev": true
+        },
         "object-assign": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
@@ -13557,6 +13335,12 @@
           "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
           "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
           "dev": true
+        },
+        "upath": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+          "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+          "dev": true
         }
       }
     },
@@ -13728,9 +13512,9 @@
       }
     },
     "make-error": {
-      "version": "1.3.5",
-      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz",
-      "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==",
+      "version": "1.3.6",
+      "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+      "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
       "dev": true
     },
     "make-fetch-happen": {
@@ -13833,7 +13617,8 @@
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+      "dev": true
     },
     "map-stream": {
       "version": "0.1.0",
@@ -13845,6 +13630,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
       "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+      "dev": true,
       "requires": {
         "object-visit": "^1.0.0"
       }
@@ -13997,6 +13783,7 @@
       "version": "3.1.10",
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
       "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -14230,6 +14017,7 @@
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
       "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+      "dev": true,
       "requires": {
         "for-in": "^1.0.2",
         "is-extendable": "^1.0.1"
@@ -14239,6 +14027,7 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -14299,7 +14088,8 @@
     "ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
     },
     "multicast-dns": {
       "version": "6.2.3",
@@ -14339,12 +14129,14 @@
       "version": "2.12.1",
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
       "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
+      "dev": true,
       "optional": true
     },
     "nanomatch": {
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
       "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -14401,12 +14193,9 @@
       }
     },
     "ngx-material-file-input": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/ngx-material-file-input/-/ngx-material-file-input-2.1.0.tgz",
-      "integrity": "sha512-rMCuiOFg/X0yRobAUiCWzQIjZRF8SDr5cC0mZu3beD6Pyx76rFWCFJmZU+6oIzrxkLAGbXn3TPv5x1gyijuOFw==",
-      "requires": {
-        "tslib": "^1.9.0"
-      }
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/ngx-material-file-input/-/ngx-material-file-input-2.1.1.tgz",
+      "integrity": "sha512-FbaIjiJnL6BZtZYWLvMSn9aSaM62AZaJegloTUphmLz5jopXPzE5W+3aC+dsf9h1IIqHSCLcyv0w+qH0ypBhMA=="
     },
     "ngx-matomo": {
       "version": "0.1.4",
@@ -14491,9 +14280,9 @@
       }
     },
     "node-releases": {
-      "version": "1.1.50",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.50.tgz",
-      "integrity": "sha512-lgAmPv9eYZ0bGwUYAKlr8MG6K4CvWliWqnkcT2P8mMAgVrH3lqfBPorFlxiG1pHQnqmavJZ9vbMXUTNyMLbrgQ==",
+      "version": "1.1.52",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz",
+      "integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==",
       "dev": true,
       "requires": {
         "semver": "^6.3.0"
@@ -14532,6 +14321,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
       "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+      "dev": true,
       "requires": {
         "remove-trailing-separator": "^1.0.1"
       }
@@ -14698,6 +14488,7 @@
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
       "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+      "dev": true,
       "requires": {
         "copy-descriptor": "^0.1.0",
         "define-property": "^0.2.5",
@@ -14708,6 +14499,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -14716,6 +14508,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -14737,6 +14530,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
       "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.0"
       }
@@ -14832,6 +14626,7 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
       "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -15459,7 +15254,8 @@
     "pascalcase": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+      "dev": true
     },
     "path-browserify": {
       "version": "0.0.1",
@@ -15470,7 +15266,8 @@
     "path-dirname": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+      "dev": true
     },
     "path-exists": {
       "version": "3.0.0",
@@ -15720,7 +15517,8 @@
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+      "dev": true
     },
     "postcss": {
       "version": "7.0.21",
@@ -16344,9 +16142,9 @@
       "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew=="
     },
     "primeng": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.0.0.tgz",
-      "integrity": "sha512-gR9uvEc9/1BXV9tfMt9dggvCAlNZjhrlarbfLPViY6Hqqr588WhOOvU40Gm8rh3sbXkfisuc6Rvhu7ePQXscHA=="
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.0.1.tgz",
+      "integrity": "sha512-BmIq5F3+xUQ96G4fD4K2uR3azGitWCum++SVCXEgzzHI4zp55Xzyd96H8vHQg/IQxdT8ftlr/OpOHKACAFNgow=="
     },
     "printj": {
       "version": "1.1.2",
@@ -16375,7 +16173,8 @@
     "process-nextick-args": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
-      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+      "dev": true
     },
     "progress": {
       "version": "2.0.3",
@@ -16522,9 +16321,9 @@
           }
         },
         "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
         "pify": {
@@ -16659,7 +16458,8 @@
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true
     },
     "pupa": {
       "version": "2.0.1",
@@ -16728,9 +16528,9 @@
       },
       "dependencies": {
         "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         }
       }
@@ -16858,9 +16658,9 @@
       },
       "dependencies": {
         "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         }
       }
@@ -16968,6 +16768,7 @@
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
       "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+      "dev": true,
       "requires": {
         "core-util-is": "~1.0.0",
         "inherits": "~2.0.3",
@@ -16994,6 +16795,7 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
       "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.11",
         "micromatch": "^3.1.10",
@@ -17009,12 +16811,13 @@
     "regenerate": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
+      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+      "dev": true
     },
     "regenerate-unicode-properties": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz",
-      "integrity": "sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA==",
+      "version": "8.2.0",
+      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz",
+      "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==",
       "dev": true,
       "requires": {
         "regenerate": "^1.4.0"
@@ -17027,9 +16830,9 @@
       "dev": true
     },
     "regenerator-transform": {
-      "version": "0.14.2",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz",
-      "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==",
+      "version": "0.14.4",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
+      "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
       "dev": true,
       "requires": {
         "@babel/runtime": "^7.8.4",
@@ -17040,6 +16843,7 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
       "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.2",
         "safe-regex": "^1.1.0"
@@ -17106,17 +16910,20 @@
     "remove-trailing-separator": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+      "dev": true
     },
     "repeat-element": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
+      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+      "dev": true
     },
     "repeat-string": {
       "version": "1.6.1",
       "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+      "dev": true
     },
     "request": {
       "version": "2.88.0",
@@ -17191,7 +16998,8 @@
     "resolve-url": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+      "dev": true
     },
     "responselike": {
       "version": "1.0.2",
@@ -17232,7 +17040,8 @@
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
+      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+      "dev": true
     },
     "retry": {
       "version": "0.12.0",
@@ -17351,12 +17160,14 @@
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
     },
     "safe-regex": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
       "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+      "dev": true,
       "requires": {
         "ret": "~0.1.10"
       }
@@ -17710,6 +17521,7 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
       "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-extendable": "^0.1.1",
@@ -17721,6 +17533,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -17826,6 +17639,7 @@
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
       "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+      "dev": true,
       "requires": {
         "base": "^0.11.1",
         "debug": "^2.2.0",
@@ -17841,6 +17655,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -17849,6 +17664,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -17856,7 +17672,8 @@
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
         }
       }
     },
@@ -17864,6 +17681,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
       "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+      "dev": true,
       "requires": {
         "define-property": "^1.0.0",
         "isobject": "^3.0.0",
@@ -17874,6 +17692,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -17882,6 +17701,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -17890,6 +17710,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -17898,6 +17719,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -17910,6 +17732,7 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
       "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+      "dev": true,
       "requires": {
         "kind-of": "^3.2.0"
       },
@@ -17918,6 +17741,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -18132,6 +17956,7 @@
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
       "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+      "dev": true,
       "requires": {
         "atob": "^2.1.1",
         "decode-uri-component": "^0.2.0",
@@ -18161,7 +17986,8 @@
     "source-map-url": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
+      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+      "dev": true
     },
     "sourcemap-codec": {
       "version": "1.4.8",
@@ -18295,6 +18121,7 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
       "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.0"
       }
@@ -18306,9 +18133,9 @@
       "dev": true
     },
     "ssf": {
-      "version": "0.10.2",
-      "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.2.tgz",
-      "integrity": "sha512-rDhAPm9WyIsY8eZEKyE8Qsotb3j/wBdvMWBUsOhJdfhKGLfQidRjiBUV0y/MkyCLiXQ38FG6LWW/VYUtqlIDZQ==",
+      "version": "0.10.3",
+      "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz",
+      "integrity": "sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==",
       "requires": {
         "frac": "~1.1.2"
       }
@@ -18393,6 +18220,7 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
       "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+      "dev": true,
       "requires": {
         "define-property": "^0.2.5",
         "object-copy": "^0.1.0"
@@ -18402,6 +18230,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -18608,6 +18437,7 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
       "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
       "requires": {
         "safe-buffer": "~5.1.0"
       }
@@ -18915,9 +18745,9 @@
           }
         },
         "minimist": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
-          "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
         },
         "object-inspect": {
           "version": "1.6.0",
@@ -19214,9 +19044,9 @@
           }
         },
         "terser": {
-          "version": "4.6.6",
-          "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.6.tgz",
-          "integrity": "sha512-4lYPyeNmstjIIESr/ysHg2vUPRGf2tzF9z2yYwnowXVuVzLEamPN1Gfrz7f8I9uEPuHcbFlW4PLIAsJoxXyJ1g==",
+          "version": "4.6.7",
+          "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz",
+          "integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==",
           "dev": true,
           "requires": {
             "commander": "^2.20.0",
@@ -19310,12 +19140,14 @@
     "to-fast-properties": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+      "dev": true
     },
     "to-object-path": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
       "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -19324,6 +19156,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -19340,6 +19173,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
       "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+      "dev": true,
       "requires": {
         "define-property": "^2.0.2",
         "extend-shallow": "^3.0.2",
@@ -19351,6 +19185,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
       "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "repeat-string": "^1.6.1"
@@ -19418,9 +19253,9 @@
       "integrity": "sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA=="
     },
     "ts-node": {
-      "version": "8.6.2",
-      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.6.2.tgz",
-      "integrity": "sha512-4mZEbofxGqLL2RImpe3zMJukvEvcO1XP8bj8ozBPySdCUXEcU5cIRwR0aM3R+VoZq7iXc8N86NC0FspGRqP4gg==",
+      "version": "8.7.0",
+      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.7.0.tgz",
+      "integrity": "sha512-s659CsHrsxaRVDEleuOkGvbsA0rWHtszUNEt1r0CgAFN5ZZTQtDzpsluS7W5pOGJIa1xZE8R/zK4dEs+ldFezg==",
       "dev": true,
       "requires": {
         "arg": "^4.1.0",
@@ -19665,21 +19500,23 @@
     "unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="
+      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+      "dev": true
     },
     "unicode-match-property-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
       "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+      "dev": true,
       "requires": {
         "unicode-canonical-property-names-ecmascript": "^1.0.4",
         "unicode-property-aliases-ecmascript": "^1.0.4"
       }
     },
     "unicode-match-property-value-ecmascript": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz",
-      "integrity": "sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g==",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz",
+      "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==",
       "dev": true
     },
     "unicode-properties": {
@@ -19711,9 +19548,10 @@
       }
     },
     "unicode-property-aliases-ecmascript": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz",
-      "integrity": "sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw=="
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz",
+      "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==",
+      "dev": true
     },
     "unicode-trie": {
       "version": "1.0.0",
@@ -19737,6 +19575,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
       "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "get-value": "^2.0.6",
@@ -19838,6 +19677,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
       "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+      "dev": true,
       "requires": {
         "has-value": "^0.3.1",
         "isobject": "^3.0.0"
@@ -19847,6 +19687,7 @@
           "version": "0.3.1",
           "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
           "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+          "dev": true,
           "requires": {
             "get-value": "^2.0.3",
             "has-values": "^0.1.4",
@@ -19857,6 +19698,7 @@
               "version": "2.1.0",
               "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
               "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+              "dev": true,
               "requires": {
                 "isarray": "1.0.0"
               }
@@ -19866,7 +19708,8 @@
         "has-values": {
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+          "dev": true
         }
       }
     },
@@ -19877,9 +19720,9 @@
       "dev": true
     },
     "upath": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
-      "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
+      "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
       "dev": true
     },
     "update-notifier": {
@@ -20069,6 +19912,7 @@
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       }
@@ -20076,7 +19920,8 @@
     "urix": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+      "dev": true
     },
     "url": {
       "version": "0.11.0",
@@ -20126,7 +19971,8 @@
     "use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
+      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+      "dev": true
     },
     "useragent": {
       "version": "2.3.0",
@@ -20156,7 +20002,8 @@
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
     },
     "util-promisify": {
       "version": "2.1.0",
@@ -20337,6 +20184,34 @@
         "chokidar": "^2.0.2",
         "graceful-fs": "^4.1.2",
         "neo-async": "^2.5.0"
+      },
+      "dependencies": {
+        "chokidar": {
+          "version": "2.1.8",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
+          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+          "dev": true,
+          "requires": {
+            "anymatch": "^2.0.0",
+            "async-each": "^1.0.1",
+            "braces": "^2.3.2",
+            "fsevents": "^1.2.7",
+            "glob-parent": "^3.1.0",
+            "inherits": "^2.0.3",
+            "is-binary-path": "^1.0.0",
+            "is-glob": "^4.0.0",
+            "normalize-path": "^3.0.0",
+            "path-is-absolute": "^1.0.0",
+            "readdirp": "^2.2.1",
+            "upath": "^1.1.1"
+          }
+        },
+        "normalize-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+          "dev": true
+        }
       }
     },
     "wbuf": {
@@ -20979,6 +20854,11 @@
         }
       }
     },
+    "wmf": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz",
+      "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
+    },
     "word-wrap": {
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
@@ -21069,17 +20949,18 @@
       "dev": true
     },
     "xlsx": {
-      "version": "0.15.5",
-      "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.5.tgz",
-      "integrity": "sha512-iWyTqe6UGTkp3XQOeeKPEBcZvmBfzIo3hDIVDfhGIEoTGVIq2JWEk6tIx0F+oKUje3pfZUx4V1W+P6892AB8kQ==",
+      "version": "0.15.6",
+      "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.6.tgz",
+      "integrity": "sha512-7vD9eutyLs65iDjNFimVN+gk/oDkfkCgpQUjdE82QgzJCrBHC4bGPH7fzKVyy0UPp3gyFVQTQEFJaWaAvZCShQ==",
       "requires": {
         "adler-32": "~1.2.0",
-        "cfb": "^1.1.3",
+        "cfb": "^1.1.4",
         "codepage": "~1.14.0",
         "commander": "~2.17.1",
         "crc-32": "~1.2.0",
         "exit-on-epipe": "~1.0.1",
-        "ssf": "~0.10.2"
+        "ssf": "~0.10.3",
+        "wmf": "~1.0.1"
       },
       "dependencies": {
         "commander": {
@@ -21199,9 +21080,9 @@
       "dev": true
     },
     "zone.js": {
-      "version": "0.10.2",
-      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.2.tgz",
-      "integrity": "sha512-UAYfiuvxLN4oyuqhJwd21Uxb4CNawrq6fPS/05Su5L4G+1TN+HVDJMUHNMobVQDFJRir2cLAODXwluaOKB7HFg=="
+      "version": "0.10.3",
+      "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz",
+      "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg=="
     }
   }
 }
diff --git a/package.json b/package.json
index b4feb7909..f8c463cac 100644
--- a/package.json
+++ b/package.json
@@ -35,17 +35,17 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/animations": "^9.0.6",
-    "@angular/cdk": "^9.1.2",
-    "@angular/common": "^9.0.6",
-    "@angular/compiler": "^9.0.6",
-    "@angular/core": "^9.0.6",
+    "@angular/animations": "^9.0.7",
+    "@angular/cdk": "^9.1.3",
+    "@angular/common": "^9.0.7",
+    "@angular/compiler": "^9.0.7",
+    "@angular/core": "^9.0.7",
     "@angular/flex-layout": "^9.0.0-beta.29",
-    "@angular/forms": "^9.0.6",
-    "@angular/material": "^9.1.2",
-    "@angular/platform-browser": "^9.0.6",
-    "@angular/platform-browser-dynamic": "^9.0.6",
-    "@angular/router": "^9.0.6",
+    "@angular/forms": "^9.0.7",
+    "@angular/material": "^9.1.3",
+    "@angular/platform-browser": "^9.0.7",
+    "@angular/platform-browser-dynamic": "^9.0.7",
+    "@angular/router": "^9.0.7",
     "@types/pako": "^1.0.1",
     "@types/sprintf-js": "^1.1.2",
     "angular2-chartjs": "^0.5.1",
@@ -62,32 +62,32 @@
     "jalhyd": "file:../jalhyd",
     "material-design-icons": "^3.0.1",
     "mathjax": "^2.7.7",
-    "mermaid": "^8.3.1",
+    "mermaid": "~8.3.1",
     "ngx-konami": "^1.7.1",
     "ngx-markdown": "^9.0.0",
-    "ngx-material-file-input": "^2.1.0",
+    "ngx-material-file-input": "^2.1.1",
     "ngx-matomo": "^0.1.4",
     "ngx-webstorage-service": "^4.1.0",
     "pako": "^1.0.11",
-    "primeng": "^9.0.0",
+    "primeng": "^9.0.1",
     "roboto-fontface": "^0.10.0",
     "rxjs": "^6.5.4",
     "screenfull": "^5.0.2",
     "svg-pan-zoom": "^3.6.1",
     "tslib": "^1.11.1",
-    "xlsx": "^0.15.5",
-    "zone.js": "~0.10.2"
+    "xlsx": "^0.15.6",
+    "zone.js": "^0.10.3"
   },
   "devDependencies": {
-    "@angular-devkit/build-angular": "^0.900.6",
-    "@angular/cli": "^9.0.6",
-    "@angular/compiler-cli": "^9.0.6",
-    "@angular/language-service": "^9.0.6",
+    "@angular-devkit/build-angular": "^0.900.7",
+    "@angular/cli": "^9.0.7",
+    "@angular/compiler-cli": "^9.0.7",
+    "@angular/language-service": "^9.0.7",
     "@compodoc/compodoc": "^1.1.11",
     "@types/file-saver": "^2.0.1",
     "@types/jasmine": "^3.5.9",
     "@types/jasminewd2": "^2.0.8",
-    "@types/node": "^13.9.0",
+    "@types/node": "^13.9.2",
     "codelyzer": "^5.1.2",
     "cordova": "^9.0.0",
     "electron": "^8.1.1",
@@ -102,7 +102,7 @@
     "karma-jasmine": "^3.1.1",
     "karma-jasmine-html-reporter": "^1.5.2",
     "protractor": "^5.4.3",
-    "ts-node": "^8.6.2",
+    "ts-node": "^8.7.0",
     "tslint": "^6.1.0",
     "typescript": "~3.7.5",
     "webpack-dev-server": "^3.10.3"
-- 
GitLab


From bfd253eb6b4a2f2c5d9c992f619d587d289b04f5 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 20 Mar 2020 15:24:48 +0100
Subject: [PATCH 011/117] Fix #382 - PAR: add button to generate ParSimulation

---
 .../calculator.component.html                 |   5 +
 .../calculator.component.ts                   | 106 ++++++++++++++++--
 src/locale/messages.en.json                   |   8 +-
 src/locale/messages.fr.json                   |   5 +-
 4 files changed, 108 insertions(+), 16 deletions(-)

diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html
index aacbb2d19..b1b3ec2b0 100644
--- a/src/app/components/generic-calculator/calculator.component.html
+++ b/src/app/components/generic-calculator/calculator.component.html
@@ -120,6 +120,11 @@
                         {{ uitextGenerateRuSp }}
                     </button>
 
+                    <button mat-raised-button color="accent" id="generate-par-simulation" *ngIf="isPAR" (click)="generatePARSimulation()"
+                        [disabled]="! generatePARSimulationEnabled" [title]="uitextGenerateParSimulationTitle">
+                        {{ uitextGeneratePARSimulation }}
+                    </button>
+
                     <mat-card-content>
                         <calc-results id="resultsComp" (afterViewChecked)="onCalcResultsViewChecked()"></calc-results>
                     </mat-card-content>
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index a4873f788..77ffd421e 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -16,6 +16,9 @@ import {
     round,
     Nub,
     RegimeUniforme
+    Par,
+    ParSimulationParams,
+    ParSimulation
 } from "jalhyd";
 
 import { generateValuesCombination } from "../../util";
@@ -216,6 +219,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         return this.intlService.localizeText("INFO_CALCULATOR_RESULTS_GENERATE_RU_SP");
     }
 
+    public get uitextGeneratePARSimulation() {
+        return this.intlService.localizeText("INFO_CALCULATOR_RESULTS_GENERATE_PAR_SIMULATION");
+    }
+
     public get uitextOpenHelp() {
         return this.intlService.localizeText("INFO_CALCULATOR_OPEN_HELP");
     }
@@ -594,19 +601,27 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         return this.is(CalculatorType.RegimeUniforme);
     }
 
+    // true if current Nub is PAR
+    public get isPAR() {
+        return this.is(CalculatorType.Par);
+    }
+
     /**
-     * Returns true if no parameter is varying
+     * Returns true if no parameter is varying; ignores parameters having
+     * one of the given {except} symbols, if any
      */
-    private allParamsAreFixed() {
+    private allParamsAreFixed(except: string[] = []) {
         let ret = true;
         for (const p of this._formulaire.currentNub.parameterIterator) {
-            if (p.valueMode === ParamValueMode.LINK) {
-                ret = ret && (! p.hasMultipleValues);
-            } else {
-                // avoid calling hasMultipleValues here, because changing parameter mode in GUI
-                // switches valueMode before setting min/max/step or valuesList, and iterator
-                // checker fails to count values that do not exist yet
-                ret = ret && (! [ ParamValueMode.LISTE, ParamValueMode.MINMAX ].includes(p.valueMode));
+            if (! except.includes(p.symbol)) {
+                if (p.valueMode === ParamValueMode.LINK) {
+                    ret = ret && (! p.hasMultipleValues);
+                } else {
+                    // avoid calling hasMultipleValues here, because changing parameter mode in GUI
+                    // switches valueMode before setting min/max/step or valuesList, and iterator
+                    // checker fails to count values that do not exist yet
+                    ret = ret && (! [ ParamValueMode.LISTE, ParamValueMode.MINMAX ].includes(p.valueMode));
+                }
             }
         }
         return ret;
@@ -621,7 +636,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
 
     public get uitextGeneratePabTitle() {
         if (! this.hasResults) {
-            return this.intlService.localizeText("INFO_CALCULER_D_ABORD");
+            return this.intlService.localizeText("INFO_CALCULATE_FIRST");
         }
         if (! this.allParamsAreFixed()) {
             return this.intlService.localizeText("INFO_PARAMETRES_FIXES");
@@ -687,7 +702,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
 
     public get uitextGenerateSPAmontTitle(): string {
         if (! this.generateSPAmontEnabled) {
-            return this.intlService.localizeText("INFO_CALCULER_D_ABORD");
+            return this.intlService.localizeText("INFO_CALCULATE_FIRST");
         } else {
             return "";
         }
@@ -695,7 +710,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
 
     public get uitextGenerateSPAvalTitle(): string {
         if (! this.generateSPAvalEnabled) {
-            return this.intlService.localizeText("INFO_CALCULER_D_ABORD");
+            return this.intlService.localizeText("INFO_CALCULATE_FIRST");
         } else {
             return "";
         }
@@ -825,6 +840,73 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
                 // calculate
                 f.doCompute();
                 // go to new SP
+            }
+        );
+    }
+
+    public get generatePARSimulationEnabled(): boolean {
+        const parCalage = (this._formulaire.currentNub as Par);
+        return (
+            this.hasResults
+            && ! parCalage.result.hasErrorMessages()
+            && this.allParamsAreFixed([ "Z1", "Q" ]) // only Z1 and Q may vary
+        );
+    }
+
+    public get uitextGenerateParSimulationTitle(): string {
+        if (! this.allParamsAreFixed([ "Z1", "Q" ])) {
+            return this.intlService.localizeText("INFO_ONLY_Z1_Q_MAY_VARY");
+        }
+        const parCalage = (this._formulaire.currentNub as Par);
+        if (! this.hasResults || parCalage.result.hasErrorMessages()) {
+            return this.intlService.localizeText("INFO_CALCULATE_FIRST");
+        }
+        return "";
+    }
+
+    /**
+     * Génère une simulation de passe à ralentisseurs à partir du calage en cours
+     */
+    public generatePARSimulation() {
+        const parCalage = (this._formulaire.currentNub as Par);
+        const pcal = parCalage.prms;
+        // copy base params
+        const psim = new ParSimulationParams(
+            undefined, // Q
+            undefined, // Z1
+            pcal.Z2.singleValue, pcal.S.singleValue, pcal.P.singleValue,
+            undefined, // Nb
+            undefined, // ZR1
+            pcal.ZD1.singleValue,
+            undefined, // ZR2
+            undefined, // ZD2
+            pcal.L.singleValue, pcal.a.singleValue, pcal.N.singleValue, pcal.M.singleValue
+        );
+        const parSimulation = new ParSimulation(psim);
+        Session.getInstance().registerNub(parSimulation);
+
+        // copy other params
+        parSimulation.parType = parCalage.parType;
+        // Z1 and Q, that might be variating
+        psim.Z1.copyValuesFrom(pcal.Z1);
+        psim.Q.copyValuesFrom(pcal.Q);
+        // P, Nb, ZR1
+        if (pcal.P.singleValue === undefined) {
+            psim.P.singleValue = round(parCalage.result.values.P, 3);
+        }
+        psim.Nb.singleValue = parCalage.result.values.Nb;
+        psim.ZR1.singleValue = round(parCalage.result.values.ZR1, 3);
+        // ZR2, ZD2
+        if (pcal.Z2.singleValue !== undefined) {
+            psim.ZD2.singleValue = round(parCalage.result.values.ZD2, 3);
+            psim.ZR2.singleValue = round(parCalage.result.values.ZR2, 3);
+        }
+
+        this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation)
+            .then((f: FormulaireDefinition) => {
+                // calculate
+                f.doCompute();
+                // go to new ParSimulation
                 this.router.navigate(["/calculator", f.uid]).then();
             }
         );
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 7bd07e4c7..a06e55a73 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -74,6 +74,7 @@
     "INFO_CALCULATOR_PARAMFIXES": "Fixed parameters",
     "INFO_CALCULATOR_RESULTS_GENERATE_PAB": "Generate a fish ladder",
     "INFO_CALCULATOR_RESULTS_GENERATE_RU_SP": "Hydraulic details of section",
+    "INFO_CALCULATOR_RESULTS_GENERATE_PAR_SIMULATION": "Generation a humpback fishway simulation",
     "INFO_CALCULATOR_RESULTS_GENERATE_SP_AMONT": "Hydraulic details of upstream section",
     "INFO_CALCULATOR_RESULTS_GENERATE_SP_AVAL": "Hydraulic details of downstream section",
     "INFO_CALCULATOR_RESULTS_TITLE": "Results",
@@ -332,6 +333,7 @@
     "INFO_MACRORUGOCOMPOUND_TITRE": "Compound rock-ramp fishpasses",
     "INFO_MACRORUGOCOMPOUND_TITRE_COURT": "Compound RR",
     "INFO_MACRORUGOCOMPOUND_LINCL": "Lateral inclination (m/m): ",
+    "INFO_ONLY_Z1_Q_MAY_VARY": "Only upstream elevation and flow may vary",
     "INFO_PENTE_TITRE": "Slope",
     "INFO_PENTE_TITRE_COURT": "Slope",
     "INFO_MENU_EMPTY_SESSION_TITLE": "New session",
@@ -363,7 +365,7 @@
     "INFO_PAB_BASSINS": "Basins",
     "INFO_PAB_OUVRAGES": "Devices",
     "INFO_PAB_EDIT_VALUES": "Modify values",
-    "INFO_CALCULER_D_ABORD": "Calculate this module first",
+    "INFO_CALCULATE_FIRST": "Calculate this module first",
     "INFO_PAB_NUM_BASSIN": "Basin #",
     "INFO_PAB_HEADER_TYPE": "Type",
     "INFO_PAB_HEADER_PARAMETERS": "Parameters",
@@ -383,11 +385,11 @@
     "INFO_PABPUISSANCE_TITRE_COURT": "FL: diss. power",
     "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power",
     "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures",
-    "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation",
-    "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation",
     "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures",
     "INFO_PAR_TITRE": "Humpback fishway: setup",
     "INFO_PAR_TITRE_COURT": "HF: setup",
+    "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation",
+    "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation",
     "INFO_PARAMFIELD_AWAITING_CALCULATION": "Awaiting calculation",
     "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Boundary conditions",
     "INFO_PARAMFIELD_CALCULATED": "Calculated",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 24a05696c..5a7c91ce2 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -74,6 +74,7 @@
     "INFO_CALCULATOR_PARAMFIXES": "Paramètres fixés",
     "INFO_CALCULATOR_RESULTS_GENERATE_PAB": "Générer une passe à bassins",
     "INFO_CALCULATOR_RESULTS_GENERATE_RU_SP": "Détails hydrauliques de la section",
+    "INFO_CALCULATOR_RESULTS_GENERATE_PAR_SIMULATION": "Générer une simulation de passe à ralentisseurs",
     "INFO_CALCULATOR_RESULTS_GENERATE_SP_AMONT": "Détails hydrauliques de la section amont",
     "INFO_CALCULATOR_RESULTS_GENERATE_SP_AVAL": "Détails hydrauliques de la section aval",
     "INFO_CALCULATOR_RESULTS_TITLE": "Résultats",
@@ -218,6 +219,7 @@
     "INFO_LIB_BB": "Largeur du bassin",
     "INFO_LIB_BETA": "Coefficient béta",
     "INFO_LIB_BT": "Demi-ouverture du triangle",
+    "INFO_LIB_CD": "Coefficient de débit",
     "INFO_LIB_CDGR": "Coefficient de débit vanne",
     "INFO_LIB_CDWR": "Coefficient de débit seuil",
     "INFO_LIB_CDWSL": "Coefficient de débit fente",
@@ -331,6 +333,7 @@
     "INFO_MACRORUGOCOMPOUND_TITRE": "Passe à macro-rugosités complexe",
     "INFO_MACRORUGOCOMPOUND_TITRE_COURT": "M-Rugo complexe",
     "INFO_MACRORUGOCOMPOUND_LINCL": "Dévers latéral (m/m)&nbsp;:",
+    "INFO_ONLY_Z1_Q_MAY_VARY": "Seuls la cote amont et le débit peuvent varier",
     "INFO_PENTE_TITRE": "Pente",
     "INFO_PENTE_TITRE_COURT": "Pente",
     "INFO_MENU_EMPTY_SESSION_TITLE": "Nouvelle session",
@@ -362,7 +365,7 @@
     "INFO_PAB_BASSINS": "Bassins",
     "INFO_PAB_OUVRAGES": "Ouvrages",
     "INFO_PAB_EDIT_VALUES": "Modifier les valeurs",
-    "INFO_CALCULER_D_ABORD": "Calculer ce module d'abord",
+    "INFO_CALCULATE_FIRST": "Calculer ce module d'abord",
     "INFO_PAB_NUM_BASSIN": "N° de bassin",
     "INFO_PAB_HEADER_TYPE": "Type",
     "INFO_PAB_HEADER_PARAMETERS": "Paramètres",
-- 
GitLab


From fda2fddcaf41a5a19553e936c9d8bfe62b2736c5 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 23 Mar 2020 11:31:12 +0100
Subject: [PATCH 012/117] Fix bug in fieldsets refresh after compute

---
 src/app/formulaire/definition/form-fixedvar.ts           | 9 +++++----
 src/app/formulaire/definition/form-macrorugo-compound.ts | 6 ++----
 src/app/formulaire/definition/form-section.ts            | 2 ++
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts
index 72928a7b9..20314b520 100644
--- a/src/app/formulaire/definition/form-fixedvar.ts
+++ b/src/app/formulaire/definition/form-fixedvar.ts
@@ -89,8 +89,8 @@ export class FormulaireFixedVar extends FormulaireDefinition {
 
     protected compute() {
         this.runNubCalc(this.currentNub);
+        this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization
         this.reaffectResultComponents();
-        this.refreshFieldsets();
     }
 
     protected reaffectResultComponents() {
@@ -118,6 +118,9 @@ export class FormulaireFixedVar extends FormulaireDefinition {
         }
     }
 
+    /**
+     * Forces all fieldsets to update all their fields
+     */
     protected refreshFieldsets() {
         for (const fs of this.allFieldsets) {
             fs.updateFields();
@@ -132,9 +135,7 @@ export class FormulaireFixedVar extends FormulaireDefinition {
         if (data.action === "propertyChange") {
             this.reset();
             // reflect changes in GUI (who knows ?), for ex. show / hide dependent fields
-            for (const fs of this.allFieldsets) {
-                fs.updateFields();
-            }
+            this.refreshFieldsets();
         }
     }
 }
diff --git a/src/app/formulaire/definition/form-macrorugo-compound.ts b/src/app/formulaire/definition/form-macrorugo-compound.ts
index 663da1f96..c94dad30a 100644
--- a/src/app/formulaire/definition/form-macrorugo-compound.ts
+++ b/src/app/formulaire/definition/form-macrorugo-compound.ts
@@ -87,10 +87,8 @@ export class FormulaireMacrorugoCompound extends FormulaireRepeatableFieldset {
      * Reflect inclinedApron property state in GUI
      */
     public updateApronState(inclined: MRCInclination) {
-        for (const fs of this.allFieldsets) {
-            // show / hide dependent fields (read from model)
-            fs.updateFields();
-        }
+        // show / hide dependent fields (read from model)
+        this.refreshFieldsets();
         // show / hide children list (GUI only)
         for (const elt of this.allFormElements) {
             if (elt instanceof FieldsetContainer) {
diff --git a/src/app/formulaire/definition/form-section.ts b/src/app/formulaire/definition/form-section.ts
index db63b5a1d..77669213a 100644
--- a/src/app/formulaire/definition/form-section.ts
+++ b/src/app/formulaire/definition/form-section.ts
@@ -18,6 +18,8 @@ export class FormulaireSection extends FormulaireFixedVar {
                 // show / hide dependent fields
                 fs.updateFields();
             }
+            // show / hide dependent fields
+            this.refreshFieldsets();
             // empty fields ? only those belonging to the specific section type
             if (ServiceFactory.instance.applicationSetupService.enableEmptyFieldsOnFormInit) {
                 // "LargeurBerge" is hackily used as LargeurFond in Rectangular and Trapez sections, omit it here
-- 
GitLab


From 21f25f0f14d04a13f886dd5924d4d3814d430e86 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 23 Mar 2020 11:31:19 +0100
Subject: [PATCH 013/117] Cleaned code

---
 src/app/components/fixedvar-results/fixed-results.component.ts | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts
index 3c7c350be..afb476e03 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.ts
+++ b/src/app/components/fixedvar-results/fixed-results.component.ts
@@ -197,7 +197,6 @@ export class FixedResultsComponent extends ResultsComponentDirective {
             // add child type and position before label
             if (nub && nub.parent && nub.parent.childrenType) {
                 const pos = nub.findPositionInParent();
-                // label = this.intlService.localizeText("INFO_OUVRAGE") + " n°" + (pos + 1) + ": " + label;
                 const cn = capitalize(this.intlService.childName(nub.parent));
                 label = sprintf(this.intlService.localizeText("INFO_STUFF_N"), cn)
                     + (pos + 1) + ": " + label;
-- 
GitLab


From 402060c8c8a4a3884633768fcfb000396ad7174d Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 26 Mar 2020 15:23:31 +0100
Subject: [PATCH 014/117] Fix #383 - update Cordova config.xml

---
 config.xml                      | 8 ++++----
 package.json                    | 4 ++--
 scripts/bump-cordova-version.js | 9 +++++++++
 3 files changed, 15 insertions(+), 6 deletions(-)
 create mode 100644 scripts/bump-cordova-version.js

diff --git a/config.xml b/config.xml
index 7f07f6690..7e9e138ab 100644
--- a/config.xml
+++ b/config.xml
@@ -1,11 +1,11 @@
 <?xml version='1.0' encoding='utf-8'?>
-<widget id="fr.irstea.cassiopee" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+<widget id="fr.irstea.cassiopee" version="4.10.3" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
     <name>Cassiopée</name>
     <description>
-        A sample Apache Cordova application that responds to the deviceready event.
+        Hydraulic calculators / Modules de calcul d'hydraulique
     </description>
-    <author email="dev@cordova.apache.org" href="http://cordova.io">
-        Apache Cordova Team
+    <author email="bug@cassiopee.g-eau.fr" href="https://cassiopee.g-eau.fr">
+        UMR G-EAU
     </author>
     <content src="index.html" />
     <icon src="src/android-chrome-512x512.png" />
diff --git a/package.json b/package.json
index f8c463cac..c37b62214 100644
--- a/package.json
+++ b/package.json
@@ -21,7 +21,7 @@
     "build": "npm run preprocess && npm run mkdocs2pdf && npm run ng build -- --prod",
     "update-dist-index-mimetypes": "node scripts/update-dist-index-mimetypes.js",
     "build-cordova": "npm run build-no-pdf && npm run update-dist-index-mimetypes && node scripts/add-cordova-script.js",
-    "release-android": "npm run build-cordova && \"node_modules/.bin/cordova\" platform add android; node scripts/remove-duplicate-sitemap.js && \"node_modules/.bin/cordova\" build android && node scripts/move-cordova-release.js",
+    "release-android": "node scripts/bump-cordova-version.js && npm run build-cordova && \"node_modules/.bin/cordova\" platform add android; node scripts/remove-duplicate-sitemap.js && \"node_modules/.bin/cordova\" build android && node scripts/move-cordova-release.js",
     "electron": "npm run update-dist-index-mimetypes && \"node_modules/.bin/electron\" .",
     "release-linux-nocompile": "npm run update-dist-index-mimetypes && \"node_modules/.bin/electron-builder\"",
     "release-linux": "npm run build-no-pdf && npm run release-linux-nocompile",
@@ -120,4 +120,4 @@
       "android"
     ]
   }
-}
+}
\ No newline at end of file
diff --git a/scripts/bump-cordova-version.js b/scripts/bump-cordova-version.js
new file mode 100644
index 000000000..e54a3f038
--- /dev/null
+++ b/scripts/bump-cordova-version.js
@@ -0,0 +1,9 @@
+'use strict';
+
+const fs = require('fs');
+
+const path = "./config.xml";
+const version = require("../package.json").version;
+const contents = fs.readFileSync(path, "utf-8");
+
+fs.writeFileSync(path, contents.replace(/version="[0-9]+\.[0-9]+\.[0-9]+"/, 'version="' + version + '"'));
-- 
GitLab


From 1e160bbeb2fd8cfc6896437fe325b3b4600b1d91 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 27 Mar 2020 10:38:18 +0100
Subject: [PATCH 015/117] Typo

---
 main.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/main.js b/main.js
index 7bcc982e9..be62978db 100644
--- a/main.js
+++ b/main.js
@@ -140,7 +140,7 @@ const lookForUpdates = function() {
                     }
                 } // else you already have the latest version
                 
-            })
+            });
         } else {
             console.error("error fetching releases information");
         }
-- 
GitLab


From 8b5d90029b7fe43d7d649938acfad870f844ffc7 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 27 Mar 2020 10:38:55 +0100
Subject: [PATCH 016/117] Fix #384 - Cordova: updates notifications

---
 config.xml                                  |  17 +++-
 package-lock.json                           |  30 +++++-
 package.json                                |   9 +-
 src/assets/icons/android/ic_stat_notify.png | Bin 0 -> 14121 bytes
 src/assets/icons/android/icon.png           | Bin 0 -> 16420 bytes
 src/assets/icons/android/icon_96.png        | Bin 0 -> 3418 bytes
 src/assets/icons/ios/icon.png               | Bin 0 -> 16420 bytes
 src/index.html                              |  97 ++++++++++++++++++++
 8 files changed, 148 insertions(+), 5 deletions(-)
 create mode 100644 src/assets/icons/android/ic_stat_notify.png
 create mode 100644 src/assets/icons/android/icon.png
 create mode 100644 src/assets/icons/android/icon_96.png
 create mode 100644 src/assets/icons/ios/icon.png

diff --git a/config.xml b/config.xml
index 7e9e138ab..bc6c498dc 100644
--- a/config.xml
+++ b/config.xml
@@ -8,7 +8,7 @@
         UMR G-EAU
     </author>
     <content src="index.html" />
-    <icon src="src/android-chrome-512x512.png" />
+    <icon src="src/assets/icons/android/icon.png" />
     <plugin name="cordova-plugin-whitelist" spec="1" />
     <access origin="*" />
     <allow-intent href="http://*/*" />
@@ -19,11 +19,22 @@
     <allow-intent href="geo:*" />
     <platform name="android">
         <allow-intent href="market:*" />
-        <icon src="src/android-chrome-512x512.png" qualifier="ldpi" />
+        <icon src="src/assets/icons/android/icon.png" qualifier="ldpi" />
+        <!-- 2 following files are for notifications big icon: res://icon -->
+        <resource-file src="src/assets/icons/android/icon_96.png" target="app/src/main/res/icon.png" />
+        <resource-file src="src/assets/icons/android/icon_96.png" target="app/src/main/res/drawable/icon.png" />
+        <!-- all following files are for notifications small icon: res://ic_stat_notify -->
+        <resource-file src="src/assets/icons/android/ic_stat_notify.png" target="app/src/main/res/ic_stat_notify.png" />
+        <resource-file src="src/assets/icons/android/ic_stat_notify.png" target="app/src/main/res/drawable/ic_stat_notify.png" />
+        <!-- <resource-file src="src/assets/icons/android/ic_stat_notify_24.png" target="app/src/main/res/drawable-mdpi/ic_stat_notify.png" />
+        <resource-file src="src/assets/icons/android/ic_stat_notify_36.png" target="app/src/main/res/drawable-hdpi/ic_stat_notify.png" />
+        <resource-file src="src/assets/icons/android/ic_stat_notify_48.png" target="app/src/main/res/drawable-xhdpi/ic_stat_notify.png" />
+        <resource-file src="src/assets/icons/android/ic_stat_notify_72.png" target="app/src/main/res/drawable-xxhdpi/ic_stat_notify.png" />
+        <resource-file src="src/assets/icons/android/ic_stat_notify_96.png" target="app/src/main/res/drawable-xxxhdpi/ic_stat_notify.png" /> -->
     </platform>
     <platform name="ios">
         <allow-intent href="itms:*" />
         <allow-intent href="itms-apps:*" />
-        <icon src="src/android-chrome-512x512.png" qualifier="ldpi" />
+        <icon src="src/assets/icons/ios/icon.png" qualifier="ldpi" />
     </platform>
 </widget>
diff --git a/package-lock.json b/package-lock.json
index 739043b2d..e74b6047b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7334,6 +7334,21 @@
         }
       }
     },
+    "cordova-plugin-advanced-http": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/cordova-plugin-advanced-http/-/cordova-plugin-advanced-http-2.4.1.tgz",
+      "integrity": "sha512-6G8MTy/d02jE6n3Y9CVyCtD5hZGiBb+/dR2AIzhKN1RGGz38g1D2C8yE4MqHRvnmry6k/KHQWT1MsHNXrjouXQ=="
+    },
+    "cordova-plugin-app-version": {
+      "version": "0.1.9",
+      "resolved": "https://registry.npmjs.org/cordova-plugin-app-version/-/cordova-plugin-app-version-0.1.9.tgz",
+      "integrity": "sha1-nbBgeGMzenEEiTAuX1CpBPFEm9s="
+    },
+    "cordova-plugin-badge": {
+      "version": "0.8.8",
+      "resolved": "https://registry.npmjs.org/cordova-plugin-badge/-/cordova-plugin-badge-0.8.8.tgz",
+      "integrity": "sha512-RhIBtd5xhD/iLnxjt35jvOae28oNW/wtMZBOmQR3Rf0y4wirvA1bpAZEhBoFqL+rZGhsd6ddOdQXdex1T0DRyQ=="
+    },
     "cordova-plugin-device": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/cordova-plugin-device/-/cordova-plugin-device-2.0.3.tgz",
@@ -7349,6 +7364,11 @@
       "resolved": "https://registry.npmjs.org/cordova-plugin-file-opener2/-/cordova-plugin-file-opener2-3.0.0.tgz",
       "integrity": "sha512-yQcJ5coOlfkDcTfIhFJEL2A7SWtLhy50y51Cb+EEkI7Y0lP74Ec2tsMtIOhe9i8wPSoSfnDcN77Hj6CSeIjogA=="
     },
+    "cordova-plugin-local-notification": {
+      "version": "0.9.0-beta.2",
+      "resolved": "https://registry.npmjs.org/cordova-plugin-local-notification/-/cordova-plugin-local-notification-0.9.0-beta.2.tgz",
+      "integrity": "sha512-63n77K1pt8dnbWnNR8QWETi9Glezi1bvNHvHWmGNIOv0xCb0phZnm+Ku49BQ+omwe8Z5voMvrA4I03SYPpv38w=="
+    },
     "cordova-plugin-whitelist": {
       "version": "1.3.4",
       "resolved": "https://registry.npmjs.org/cordova-plugin-whitelist/-/cordova-plugin-whitelist-1.3.4.tgz",
@@ -9825,10 +9845,12 @@
     },
     "falafel": {
       "version": "2.1.0",
-      "resolved": "",
+      "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz",
+      "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
       "dev": true,
       "requires": {
         "acorn": "^5.0.0",
+        "foreach": "^2.0.5",
         "isarray": "0.0.1",
         "object-keys": "^1.0.6"
       },
@@ -10270,6 +10292,12 @@
       "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
       "dev": true
     },
+    "foreach": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+      "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+      "dev": true
+    },
     "forever-agent": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
diff --git a/package.json b/package.json
index c37b62214..04805cfd7 100644
--- a/package.json
+++ b/package.json
@@ -52,9 +52,13 @@
     "angular2-hotkeys": "^2.2.0",
     "chartjs-plugin-zoom": "^0.7.5",
     "cordova-android": "^8.1.0",
+    "cordova-plugin-advanced-http": "^2.4.1",
+    "cordova-plugin-app-version": "^0.1.9",
+    "cordova-plugin-badge": "^0.8.8",
     "cordova-plugin-device": "^2.0.3",
     "cordova-plugin-file": "^6.0.2",
     "cordova-plugin-file-opener2": "^3.0.0",
+    "cordova-plugin-local-notification": "^0.9.0-beta.2",
     "cordova-plugin-whitelist": "^1.3.4",
     "core-js": "^3.6.4",
     "file-saver": "^2.0.2",
@@ -114,7 +118,10 @@
       "cordova-plugin-file-opener2": {
         "ANDROID_SUPPORT_V4_VERSION": "27.+"
       },
-      "cordova-plugin-device": {}
+      "cordova-plugin-device": {},
+      "cordova-plugin-local-notification": {},
+      "cordova-plugin-app-version": {},
+      "cordova-plugin-advanced-http": {}
     },
     "platforms": [
       "android"
diff --git a/src/assets/icons/android/ic_stat_notify.png b/src/assets/icons/android/ic_stat_notify.png
new file mode 100644
index 0000000000000000000000000000000000000000..9b300d9301ed2a18c10f97b850842e50e871c323
GIT binary patch
literal 14121
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
Jil4vn|35JfsZ;;}

literal 0
HcmV?d00001

diff --git a/src/assets/icons/android/icon.png b/src/assets/icons/android/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..67c7918826dd586f53aab4da6d7dbfe3ea96937a
GIT binary patch
literal 16420
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

literal 0
HcmV?d00001

diff --git a/src/assets/icons/android/icon_96.png b/src/assets/icons/android/icon_96.png
new file mode 100644
index 0000000000000000000000000000000000000000..518dc99413c402fc7b20a45a44ea94c523ef1b4c
GIT binary patch
literal 3418
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

literal 0
HcmV?d00001

diff --git a/src/assets/icons/ios/icon.png b/src/assets/icons/ios/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..67c7918826dd586f53aab4da6d7dbfe3ea96937a
GIT binary patch
literal 16420
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

literal 0
HcmV?d00001

diff --git a/src/index.html b/src/index.html
index c129854a2..55f7c5833 100644
--- a/src/index.html
+++ b/src/index.html
@@ -182,6 +182,103 @@
 
       </script>
    </nghyd-app>
+
+   <script type="text/javascript">
+      /**
+       * Compares semver strings
+       * @see https://github.com/substack/semver-compare
+       */
+      function semverCompare(a, b) {
+         var pa = a.split('.');
+         var pb = b.split('.');
+         for (var i = 0; i < 3; i++) {
+            var na = Number(pa[i]);
+            var nb = Number(pb[i]);
+            if (na > nb) return 1;
+            if (nb > na) return -1;
+            if (!isNaN(na) && isNaN(nb)) return 1;
+            if (isNaN(na) && !isNaN(nb)) return -1;
+         }
+         return 0;
+      }
+      /**
+       * Calls the Cassiopee update server to check for available updates;
+       * if so, displays a desktop notification which, if clicked, will
+       * trigger the download of the latest version installer for the
+       * current platform
+       * 
+       * Web updates system prerequisites
+       * --------------------------------
+       * 
+       * ${URL} should point to an http-accessible directory containing:
+       * 
+       *  1. a file named "releases.json" with a contents of the form
+       *    {
+       *      "latest": "4.5.0",
+       *      "4.5.0": {
+       *        "darwin": "cassiopee-setup-4.5.0.dmg",
+       *        "linux": "fr.irstea.cassiopee_4.5.0_amd64.deb",
+       *        "win32": "Cassiopée Setup 4.5.0.exe"
+       *      },
+       *      "4.4.2": {
+       *        "darwin": "cassiopee-setup-4.4.2.dmg",
+       *        "linux": "fr.irstea.cassiopee_4.4.2_amd64.deb",
+       *        "win32": "Cassiopée Setup 4.4.2.exe"
+       *      }
+       *    }
+       * 
+       *  2. all platform-dependent installer files specified in "releases.json",
+       *     at the root of the directory (ex: "fr.irstea.cassiopee_4.5.0_amd64.deb")
+       */
+      const lookForUpdates = function() {
+         // Web update resources root directory
+         const URL = "https://cassiopee.g-eau.fr/cassiopee-releases/";
+
+         // detect current app version and platform
+         let version = "4.4.2"; // debug
+         cordova.getAppVersion.getVersionNumber((versionNumber) => {
+            version = versionNumber;
+            // fetch releases information
+            const options = {
+               method: 'get',
+               headers: { "Cache-Control": "no-cache" }
+            };
+            cordova.plugin.http.sendRequest(URL + "releases.json", options, (response) => {
+               var data = JSON.parse(response.data); // This is the resultant JSON in useful form
+               // alert(`Youpi ! ${response.status} version=${version}, latest=${data.latest}, comp=${semverCompare(data.latest, version)}`);
+               // compare current version to latest version
+               if (data.latest && semverCompare(data.latest, version) == 1) {
+                  // get download link for latest version, depending on platform
+                  if (data[data.latest] && data[data.latest]["android"]) {
+                     const latestVersionURL = URL + data[data.latest]["android"];
+                     // show notification
+                     cordova.plugins.notification.local.schedule({
+                        title: `Cassiopee version ${data.latest} is available`,
+                        text: "Download update installer",
+                        foreground: true,
+                        smallIcon: "res://ic_stat_notify",
+                        icon: "res://icon"
+                     });
+                     cordova.plugins.notification.local.on("click", () => {
+                        // ask system to open URL with default browser
+                        // @TODO find a way to get rid of "are you sure you want to leave this page ?" prompt
+                        window.open(latestVersionURL, "_system");
+                     });
+                  } // else could not find link, silent fail
+               } // else you already have the latest version
+            }, (response) => { /* silent fail */});
+         });
+      };
+
+      // execute on Cordova (mobile app) only
+      if (window.cordova && cordova.platformId !== "browser") {
+         document.addEventListener("deviceready", function () {
+            // check updates at app startup
+            lookForUpdates();
+         });
+      }
+   </script>
+
 </body>
 
 </html>
\ No newline at end of file
-- 
GitLab


From 246b2b3dcd3767ba5f9cd6a0de97d3595cfddf8f Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 27 Mar 2020 16:58:20 +0100
Subject: [PATCH 017/117] Fix #374 - add stale brancehs/tags removal

---
 .gitlab-ci.yml                   | 11 +++++++++
 scripts/release-version.sh       |  2 +-
 scripts/remove-stale-branches.sh | 38 ++++++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 1 deletion(-)
 create mode 100755 scripts/remove-stale-branches.sh

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f9ecf226c..5e534df64 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -76,6 +76,17 @@ build:
   script:
     - npm run build -- --base-href=/cassiopee/$CI_COMMIT_REF_NAME/
 
+clean-stale-branches:
+  stage:
+    - deploy
+    - deploy-stable
+  only:
+    - pushes
+    - tags
+    - web
+  script:
+    - nodejs scripts/remove-stale-branches.sh $DEPLOY_HOST_LOGIN $DEPLOY_URL
+
 deploy:
   stage: deploy
   only:
diff --git a/scripts/release-version.sh b/scripts/release-version.sh
index 128616f6f..9952d4134 100755
--- a/scripts/release-version.sh
+++ b/scripts/release-version.sh
@@ -51,7 +51,7 @@ rm "./$TMP_RELEASES_FILE"
 scp "release/Cassiopée Setup $VERSION.exe" "release/fr.irstea.cassiopee_${VERSION}_amd64.deb" "release/cassiopee-$VERSION.apk" "release/Cassiopée-${VERSION}-mac.zip" "$HOST_LOGIN:$RELEASES_DIR/"
 
 # symlink "latest" version for each platform
-ssh $HOST_LOGIN /bin/bash << "EOF"
+ssh $HOST_LOGIN /bin/bash << EOF
     cd "$RELEASES_DIR"
     ln -sf "Cassiopée Setup $VERSION.exe" "windows-latest.exe"
     ln -sf "fr.irstea.cassiopee_${VERSION}_amd64.deb" "linux-latest.deb"
diff --git a/scripts/remove-stale-branches.sh b/scripts/remove-stale-branches.sh
new file mode 100755
index 000000000..12d3562c5
--- /dev/null
+++ b/scripts/remove-stale-branches.sh
@@ -0,0 +1,38 @@
+#!/bin/bash
+
+# Supprime du serveur Web les "builds" de Cassiopée correspondant à des branches ou des
+# tags qui n'existent plus dans le dépôt.
+# Conçu pour être utilisé par Gitlab CI/CD
+
+if [ "$#" -lt 2 ]; then
+    echo "usage: $0 login@server /var/www/deploy_dir"
+    exit 1
+fi
+
+HOST_LOGIN="$1"
+DEPLOY_DIR="$2"
+# DEPLOY_DIR="/tmp/cassiopee" # debug
+
+echo "remove-stale-branches.sh: cleaning directory $DEPLOY_DIR on host $HOST_LOGIN"
+
+nghyd_branches=$(git ls-remote --heads origin|awk '{print $2}'|awk 'BEGIN{FS="/"} {print $3}')
+nghyd_tags=$(git tag)
+TNB="$nghyd_branches $nghyd_tags"
+
+ssh $HOST_LOGIN /bin/bash << EOF
+    cd $DEPLOY_DIR
+    LOCALTNB="$TNB"
+    for d in \$(ls -d *); do
+        found=0
+        for tag_or_branch in \$LOCALTNB; do
+            if [[ \$d == \$tag_or_branch ]]; then
+                found=1
+                break
+            fi
+        done
+        if (( \$found == 0 )); then
+            echo "suppression de branche/tag obsolète \$d"
+            rm -rf \$d
+        fi
+    done
+EOF
-- 
GitLab


From fafd7e721908209dab31af57c63db6d9dde7a87c Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 27 Mar 2020 17:07:30 +0100
Subject: [PATCH 018/117] Typo on #374

---
 .gitlab-ci.yml | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 5e534df64..b8ea6b89f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,6 +3,7 @@ stages:
   - install
   - test
   - build
+  - clean-stale-branches
   - deploy
   - deploy-stable
   - releases-nightly
@@ -77,9 +78,7 @@ build:
     - npm run build -- --base-href=/cassiopee/$CI_COMMIT_REF_NAME/
 
 clean-stale-branches:
-  stage:
-    - deploy
-    - deploy-stable
+  stage: clean-stale-branches
   only:
     - pushes
     - tags
-- 
GitLab


From 67ecfe1c5a621ec11f6c051733e1efacb441d86f Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 27 Mar 2020 17:32:00 +0100
Subject: [PATCH 019/117] Shameful typo on CI/CD config

---
 .gitlab-ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b8ea6b89f..1bd7a5da5 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -84,7 +84,7 @@ clean-stale-branches:
     - tags
     - web
   script:
-    - nodejs scripts/remove-stale-branches.sh $DEPLOY_HOST_LOGIN $DEPLOY_URL
+    - ./scripts/remove-stale-branches.sh $DEPLOY_HOST_LOGIN $DEPLOY_URL
 
 deploy:
   stage: deploy
-- 
GitLab


From b399a3945d98f87b4290259d67afecc801d354eb Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Wed, 15 Apr 2020 15:17:38 +0200
Subject: [PATCH 020/117] Oops

---
 src/app/components/generic-calculator/calculator.component.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 77ffd421e..6e9adab42 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -15,7 +15,7 @@ import {
     ParamDefinition,
     round,
     Nub,
-    RegimeUniforme
+    RegimeUniforme,
     Par,
     ParSimulationParams,
     ParSimulation
-- 
GitLab


From f4d5e37aabd06c4389dd4ba1d6a17d97a8ba71f7 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 27 Apr 2020 11:25:01 +0200
Subject: [PATCH 021/117] "graphe" => "graphique"

---
 .../jet-trajectory-chart.component.ts                     | 4 ++--
 .../pab-profile-chart/pab-profile-chart.component.ts      | 4 ++--
 src/app/components/remous-results/line-and-chart-data.ts  | 6 +++---
 .../components/remous-results/remous-results.component.ts | 4 ++--
 .../components/results-chart/results-chart.component.ts   | 8 ++++----
 src/app/formulaire/definition/form-courbe-remous.ts       | 2 +-
 src/app/results/chart-type.ts                             | 6 +++---
 src/app/results/remous-results.ts                         | 2 +-
 src/app/results/var-results.ts                            | 4 ++--
 src/locale/messages.fr.json                               | 2 +-
 10 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
index d04c5a3d2..960cda6bd 100644
--- a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
+++ b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
@@ -34,7 +34,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective {
     public displayChart = true;
 
     /*
-     * config du graphe
+     * config du graphique
      */
     public graph_data: { datasets: any[] };
     public graph_options: any = {
@@ -175,7 +175,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective {
     }
 
     /**
-     * génère les données d'un graphe de type "scatter"
+     * génère les données d'un graphique de type "scatter"
      */
     private generateScatterChart() {
         const ySeries = this.getYSeries();
diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
index b54fe19b1..4b47585b7 100644
--- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
+++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
@@ -36,7 +36,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective {
     private _zoomWasChanged = false;
 
     /*
-     * config du graphe
+     * config du graphique
      */
     public graph_data: { datasets: any[] };
     public graph_options = {
@@ -161,7 +161,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective {
     }
 
     /**
-     * génère les données d'un graphe de type "scatter"
+     * génère les données d'un graphique de type "scatter"
      */
     private generateScatterChart() {
         const ySeries = this.getYSeries();
diff --git a/src/app/components/remous-results/line-and-chart-data.ts b/src/app/components/remous-results/line-and-chart-data.ts
index d59b2bf70..c0c7b1d17 100644
--- a/src/app/components/remous-results/line-and-chart-data.ts
+++ b/src/app/components/remous-results/line-and-chart-data.ts
@@ -1,5 +1,5 @@
 /**
- * données pour une ligne dans le graphe
+ * données pour une ligne dans le graphique
  */
 export class LineData {
     /**
@@ -13,7 +13,7 @@ export class LineData {
     private _ty: any[] = [];
 
     /**
-     * graphe auquel aapartient la ligne
+     * graphique auquel appartient la ligne
      */
     private _parentChart: ChartData;
 
@@ -140,7 +140,7 @@ export class ChartData {
     }
 
     /**
-     * crée une ligne dans le graphe
+     * crée une ligne dans le graphique
      * @param z profondeur de la lign
      */
     public newLine(z: number): LineData {
diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts
index 78a522357..1e2f8d7b3 100644
--- a/src/app/components/remous-results/remous-results.component.ts
+++ b/src/app/components/remous-results/remous-results.component.ts
@@ -25,14 +25,14 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
     private _remousResults: RemousResults;
 
     /*
-    * config du graphe principal
+    * config du graphique principal
     */
     public graph1_type = "scatter";
     public graph1_data = {};
     public graph1_options = {};
 
     /*
-    * config du graphe secondaire (paramètre supplémentaire sauf Hs, Hsc, Ycor, Ycon)
+    * config du graphique secondaire (paramètre supplémentaire sauf Hs, Hsc, Ycor, Ycon)
     */
     public graph2_type = "line";
     public graph2_data = {};
diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts
index 6a94fc5c6..05247e41c 100644
--- a/src/app/components/results-chart/results-chart.component.ts
+++ b/src/app/components/results-chart/results-chart.component.ts
@@ -37,7 +37,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
     private _graphTypeComponent: ChartTypeSelectComponent;
 
     /*
-     * config du graphe
+     * config du graphique
      */
     public graph_type: string;
     public graph_data: any = {};
@@ -222,7 +222,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
     }
 
     /**
-     * génère les données d'un graphe de type "bar"
+     * génère les données d'un graphique de type "bar"
      */
     private generateBarChart() {
         const labs = [];
@@ -299,7 +299,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
     }
 
     /**
-     * génère les données d'un graphe de type "line"
+     * génère les données d'un graphique de type "line"
      */
     private generateLineChart() {
         // same as bar chart (histogram)
@@ -311,7 +311,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
     }
 
     /**
-     * génère les données d'un graphe de type "scatter"
+     * génère les données d'un graphique de type "scatter"
      */
     private generateScatterChart() {
         this.graph_data = {
diff --git a/src/app/formulaire/definition/form-courbe-remous.ts b/src/app/formulaire/definition/form-courbe-remous.ts
index 11c22edd0..844a2c2c8 100644
--- a/src/app/formulaire/definition/form-courbe-remous.ts
+++ b/src/app/formulaire/definition/form-courbe-remous.ts
@@ -39,7 +39,7 @@ export class FormulaireCourbeRemous extends FormulaireSection {
         this.resultYn = sect.CalcSection("Yn"); // hauteur normale
         this.resultYc = sect.CalcSection("Yc"); // hauteur critique
 
-        // données du graphe
+        // données du graphique
         this.remousResults.hauteurNormale = this.resultYn.resultElement;
         this.remousResults.hauteurCritique = this.resultYc.resultElement;
         if (this.remousResults.extraParamSymbol) {
diff --git a/src/app/results/chart-type.ts b/src/app/results/chart-type.ts
index b36c9c180..f29e3d1ba 100644
--- a/src/app/results/chart-type.ts
+++ b/src/app/results/chart-type.ts
@@ -1,5 +1,5 @@
 /**
- * type de graphe
+ * type de graphique
  */
 export enum ChartType {
     /**
@@ -8,12 +8,12 @@ export enum ChartType {
     Histogram,
 
     /**
-     * points indépendants
+     * points indépendants, X non triés
      */
     Dots,
 
     /**
-     * graphe XY classique
+     * graphique XY classique, avec X triés par ordre croissant
      */
     Scatter,
 }
diff --git a/src/app/results/remous-results.ts b/src/app/results/remous-results.ts
index a499c8355..a96934ca7 100644
--- a/src/app/results/remous-results.ts
+++ b/src/app/results/remous-results.ts
@@ -42,7 +42,7 @@ export class RemousResults extends CalculatorResults {
     /** résultats variables pour l'affichage d'une table de résultats numériques */
     private _varResults: VarResults;
 
-    /** le paramètre supplémentaire est affiché dans un graphe séparé */
+    /** le paramètre supplémentaire est affiché dans un graphique séparé */
     private _extraChart: boolean;
 
     /** titre de la colonne du paramètre supplémentaire */
diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts
index 66642d8f8..a6322e0f6 100644
--- a/src/app/results/var-results.ts
+++ b/src/app/results/var-results.ts
@@ -32,7 +32,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData
     private _resultHeaders: string[];
 
     /**
-     * type de graphe
+     * type de graphique
      */
     protected _graphType: ChartType = ChartType.Scatter;
 
@@ -52,7 +52,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData
     public longest: number;
 
     /**
-     * tableau des ordonnées du graphe des résultats variés
+     * tableau des ordonnées du graphique des résultats variés
      */
     private _yValues: number[] = [];
 
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 5a7c91ce2..838d81582 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -398,7 +398,7 @@
     "INFO_PARAMFIELD_CHART_SELECT_Y_AXIS": "Variable en ordonnée",
     "INFO_PARAMFIELD_CHART_TYPE_HISTOGRAM": "Histogramme",
     "INFO_PARAMFIELD_CHART_TYPE_DOTS": "Points",
-    "INFO_PARAMFIELD_CHART_TYPE": "Type de graphe",
+    "INFO_PARAMFIELD_CHART_TYPE": "Type de graphique",
     "INFO_PARAMFIELD_IN_CALCULATION_INITIAL_VALUE": "valeur initiale",
     "INFO_PARAMFIELD_IN_CALCULATION": "En calcul",
     "INFO_PARAMFIELD_PARAMCALCULER": "calculer",
-- 
GitLab


From 8652313897e515d0f9a4426b463049906d8b8ff2 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 15 May 2020 13:30:11 +0200
Subject: [PATCH 022/117] Fix #405 - variable descriptions in PAR

---
 src/app/calculators/par/en.json           | 14 +++++++-------
 src/app/calculators/par/fr.json           | 16 ++++++++--------
 src/app/calculators/parsimulation/en.json | 14 +++++++-------
 src/app/calculators/parsimulation/fr.json | 16 ++++++++--------
 src/locale/messages.en.json               |  4 ++--
 src/locale/messages.fr.json               |  4 ++--
 6 files changed, 34 insertions(+), 34 deletions(-)

diff --git a/src/app/calculators/par/en.json b/src/app/calculators/par/en.json
index 112496a3e..6274ab345 100644
--- a/src/app/calculators/par/en.json
+++ b/src/app/calculators/par/en.json
@@ -10,8 +10,8 @@
     "ZD1": "Upstream spilling elevation",
     "S": "Slope",
     "P": "Space between baffles",
-    "L": "Pass width",
-    "a": "Baffle / chevron height",
+    "L": "Total width of baffle / pattern (superactive)",
+    "a": "Height of the pattern / height and thickness of the chevron (chevrons)",
     "N": "Number of patterns",
     "M": "Number of longitudinal strips",
 
@@ -27,12 +27,12 @@
     "LPI": "Pass length following the slope",
     "LPH": "Pass length in horizontal projection",
     "A": "A",
-    "B": "B",
-    "C": "C",
-    "D": "D",
+    "B": "Internal width of the baffle / channel (chevrons)",
+    "C": "Height from the base of the baffle to the base of the triangle",
+    "D": "Height from the base of the baffle to its tipping point",
     "H": "Baffle height",
-    "Hmin": "Hmin",
-    "Hmax": "Hmax",
+    "Hmin": "Minimal baffle height",
+    "Hmax": "Maximal baffle height",
 
     "select_par_type": "Type de passe",
     "select_par_type_0": "Plane baffles",
diff --git a/src/app/calculators/par/fr.json b/src/app/calculators/par/fr.json
index 2fc234d84..027b8097a 100644
--- a/src/app/calculators/par/fr.json
+++ b/src/app/calculators/par/fr.json
@@ -10,8 +10,8 @@
     "ZD1": "Cote de déversement à l'amont",
     "S": "Pente",
     "P": "Espacement entre les ralentisseurs",
-    "L": "Largeur de la passe",
-    "a": "Hauteur des ralentisseurs / des chevrons",
+    "L": "Largeur totale du ralentisseur  / du motif (suractifs)",
+    "a": "Hauteur du motif / hauteur et épaisseur du chevron (chevrons)",
     "N": "Nombre de motifs",
     "M": "Nombre de bandes longitudinales",
 
@@ -27,12 +27,12 @@
     "LPI": "Longueur de la passe en suivant la pente",
     "LPH": "Longueur de la passe en projection horizontale",
     "A": "A",
-    "B": "B",
-    "C": "C",
-    "D": "D",
-    "H": "Hauteur d'un ralentisseur",
-    "Hmin": "Hmin",
-    "Hmax": "Hmax",
+    "B": "Largeur interne du ralentisseur / du chenal (chevrons)",
+    "C": "Hauteur de la base du ralentisseur jusqu’à la base du triangle",
+    "D": "Hauteur de la base du ralentisseur jusqu’à sa pointe déversante",
+    "H": "Hauteur du ralentisseur",
+    "Hmin": "Hauteur minimale du ralentisseur",
+    "Hmax": "Hauteur maximale du ralentisseur",
 
     "select_par_type": "Type de passe",
     "select_par_type_0": "Ralentisseurs plans",
diff --git a/src/app/calculators/parsimulation/en.json b/src/app/calculators/parsimulation/en.json
index 3ff2bc405..1872b2949 100644
--- a/src/app/calculators/parsimulation/en.json
+++ b/src/app/calculators/parsimulation/en.json
@@ -14,8 +14,8 @@
     "S": "Slope",
     "P": "Space between baffles",
     "Nb": "Number of baffles",
-    "L": "Pass width",
-    "a": "Baffle / chevron height",
+    "L": "Total width of baffle / pattern (superactive)",
+    "a": "Height of the pattern / height and thickness of the chevron (chevrons)",
     "N": "Number of patterns",
     "M": "Number of longitudinal strips",
 
@@ -27,12 +27,12 @@
     "LPI": "Pass length following the slope",
     "LPH": "Pass length in horizontal projection",
     "A": "A",
-    "B": "B",
-    "C": "C",
-    "D": "D",
+    "B": "Internal width of the baffle / channel (chevrons)",
+    "C": "Height from the base of the baffle to the base of the triangle",
+    "D": "Height from the base of the baffle to its tipping point",
     "H": "Baffle height",
-    "Hmin": "Hmin",
-    "Hmax": "Hmax",
+    "Hmin": "Minimal baffle height",
+    "Hmax": "Maximal baffle height",
 
     "select_par_type": "Type de passe",
     "select_par_type_0": "Plane baffles",
diff --git a/src/app/calculators/parsimulation/fr.json b/src/app/calculators/parsimulation/fr.json
index 5748df1e6..0b6c772b6 100644
--- a/src/app/calculators/parsimulation/fr.json
+++ b/src/app/calculators/parsimulation/fr.json
@@ -14,8 +14,8 @@
     "S": "Pente",
     "P": "Espacement entre les ralentisseurs",
     "Nb": "Nombre de ralentisseurs",
-    "L": "Largeur de la passe",
-    "a": "Hauteur des ralentisseurs / des chevrons",
+    "L": "Largeur totale du ralentisseur  / du motif (suractifs)",
+    "a": "Hauteur du motif / hauteur et épaisseur du chevron (chevrons)",
     "N": "Nombre de motifs",
     "M": "Nombre de bandes longitudinales",
 
@@ -27,12 +27,12 @@
     "LPI": "Longueur de la passe en suivant la pente",
     "LPH": "Longueur de la passe en projection horizontale",
     "A": "A",
-    "B": "B",
-    "C": "C",
-    "D": "D",
-    "H": "Hauteur d'un ralentisseur",
-    "Hmin": "Hmin",
-    "Hmax": "Hmax",
+    "B": "Largeur interne du ralentisseur / du chenal (chevrons)",
+    "C": "Hauteur de la base du ralentisseur jusqu’à la base du triangle",
+    "D": "Hauteur de la base du ralentisseur jusqu’à sa pointe déversante",
+    "H": "Hauteur du ralentisseur",
+    "Hmin": "Hauteur minimale du ralentisseur",
+    "Hmax": "Hauteur maximale du ralentisseur",
 
     "select_par_type": "Type de passe",
     "select_par_type_0": "Ralentisseurs plans",
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index a06e55a73..31b17ed80 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -535,8 +535,8 @@
     "WARNING_SESSION_LOAD_NOTES_MERGED": "Notes have been merged",
     "WARNING_VALUE_ROUNDED_TO_INTEGER": "Value of %symbol% was rounded to %rounded%",
     "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%",
-    "WARNING_PAR_P_WAS_IGNORED": "Given P value was ignored",
-    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "Given P value is more than 10% lower or more than 5% greater than standard value %stdP%",
+    "WARNING_PAR_P_WAS_IGNORED": "Given spacing value was ignored",
+    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "Given spacing value is more than 10% lower or more than 5% greater than standard value %stdP%",
     "ERROR_PAR_QSTAR_OUT_OF_RANGE": "qStar value %val% is outside of validity interval [ %min%, %max% ] given by abacuses",
     "ERROR_PAR_HA_OUT_OF_RANGE": "ha value %val% is outside of validity interval [ %min%, %max% ] given by abacuses",
     "WARNING_PAR_L": "A witdh greater than %max% is discouraged",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 838d81582..c0c908e86 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -535,8 +535,8 @@
     "WARNING_SESSION_LOAD_NOTES_MERGED": "Les notes ont été fusionnées",
     "WARNING_VALUE_ROUNDED_TO_INTEGER": "La valeur de %symbol% a été arrondie à %rounded%",
     "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%",
-    "WARNING_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée",
-    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "La valeur de P fournie est plus de 10% plus petite ou plus de 5% plus grande que la valeur standard %stdP%",
+    "WARNING_PAR_P_WAS_IGNORED": "La valeur d'espacement fournie a été ignorée",
+    "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "La valeur d'espacement fournie est plus de 10% plus petite ou plus de 5% plus grande que la valeur standard %stdP%",
     "ERROR_PAR_QSTAR_OUT_OF_RANGE": "La valeur %val% de qStar sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques",
     "ERROR_PAR_HA_OUT_OF_RANGE": "La valeur %val% de ha sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques",
     "WARNING_PAR_L": "Une largeur supérieure à %max% est déconseillée",
-- 
GitLab


From de29e5eeade6bc8cf05dad85984f3637cd12cdfb Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Tue, 19 May 2020 14:48:58 +0200
Subject: [PATCH 023/117] Update jalhyd_branch

---
 jalhyd_branch | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/jalhyd_branch b/jalhyd_branch
index 989a06763..1e054d20c 100644
--- a/jalhyd_branch
+++ b/jalhyd_branch
@@ -1,2 +1 @@
-214-regime-uniforme-conduite-circulaire-provoquer-une-erreur-fatale-si-la-conduite-est-en-charge
-
+223-calage-d-une-par-remplacer-la-cote-de-deversement-par-la-charge
-- 
GitLab


From 05ca5e4464d4c9dc648806759ed08390bccbac36 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Tue, 19 May 2020 17:06:14 +0200
Subject: [PATCH 024/117] Par: replace ZD1 with ha (see jalhyd#223)

---
 src/app/calculators/par/config.json | 2 +-
 src/app/calculators/par/en.json     | 4 ++--
 src/app/calculators/par/fr.json     | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/app/calculators/par/config.json b/src/app/calculators/par/config.json
index 21944de32..7834b616e 100644
--- a/src/app/calculators/par/config.json
+++ b/src/app/calculators/par/config.json
@@ -21,7 +21,7 @@
                 "property": "parType",
                 "default": "PLANE"
             },
-            "ZD1",
+            "ha",
             "S",
             {
                 "id": "P",
diff --git a/src/app/calculators/par/en.json b/src/app/calculators/par/en.json
index 6274ab345..dea01abe1 100644
--- a/src/app/calculators/par/en.json
+++ b/src/app/calculators/par/en.json
@@ -7,7 +7,7 @@
 
     "fs_geometry": "Pass geometry",
 
-    "ZD1": "Upstream spilling elevation",
+    "ha": "Upstream head",
     "S": "Slope",
     "P": "Space between baffles",
     "L": "Total width of baffle / pattern (superactive)",
@@ -16,7 +16,7 @@
     "M": "Number of longitudinal strips",
 
     "h": "Water level in the pass",
-    "ha": "Upstream head",
+    "ZD1": "Upstream spilling elevation",
     "qStar": "Dimensionless flow",
     "V": "Flow velocity",
     "Nb": "Number of baffles",
diff --git a/src/app/calculators/par/fr.json b/src/app/calculators/par/fr.json
index 027b8097a..120e429b1 100644
--- a/src/app/calculators/par/fr.json
+++ b/src/app/calculators/par/fr.json
@@ -7,7 +7,7 @@
 
     "fs_geometry": "Géométrie de la passe",
 
-    "ZD1": "Cote de déversement à l'amont",
+    "ha": "Charge amont",
     "S": "Pente",
     "P": "Espacement entre les ralentisseurs",
     "L": "Largeur totale du ralentisseur  / du motif (suractifs)",
@@ -16,7 +16,7 @@
     "M": "Nombre de bandes longitudinales",
 
     "h": "Hauteur d'eau dans la passe",
-    "ha": "Charge amont",
+    "ZD1": "Cote de déversement à l'amont",
     "qStar": "Débit adimensionnel",
     "V": "Vitesse débitante",
     "Nb": "Nombre de ralentisseurs",
-- 
GitLab


From e9b04ea1ad0a060268789c4a9dfeddadb5353982 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Wed, 20 May 2020 14:34:39 +0200
Subject: [PATCH 025/117] Generate PAR Sim from PAR: popup for variating values

---
 src/app/app.module.ts                         |   3 +
 src/app/calculators/par/config.json           |   5 +-
 ...log-generate-par-simulation.component.html |  28 +++++
 ...log-generate-par-simulation.component.scss |  11 ++
 ...ialog-generate-par-simulation.component.ts | 109 ++++++++++++++++
 .../calculator.component.ts                   | 119 +++++++++++++-----
 .../formulaire/definition/form-definition.ts  |   2 +-
 src/locale/messages.en.json                   |   3 +
 src/locale/messages.fr.json                   |   3 +
 9 files changed, 249 insertions(+), 34 deletions(-)
 create mode 100644 src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.html
 create mode 100644 src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.scss
 create mode 100644 src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts

diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 8509d10d6..15ede0e09 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -100,6 +100,7 @@ import { DialogEditPabComponent } from "./components/dialog-edit-pab/dialog-edit
 import { DialogEditParamComputedComponent } from "./components/dialog-edit-param-computed/dialog-edit-param-computed.component";
 import { DialogEditParamValuesComponent } from "./components/dialog-edit-param-values/dialog-edit-param-values.component";
 import { DialogGeneratePABComponent } from "./components/dialog-generate-pab/dialog-generate-pab.component";
+import { DialogGeneratePARSimulationComponent } from "./components/dialog-generate-par-simulation/dialog-generate-par-simulation.component";
 import { DialogLoadSessionComponent } from "./components/dialog-load-session/dialog-load-session.component";
 import { DialogLogEntriesDetailsComponent } from "./components/dialog-log-entries-details/dialog-log-entries-details.component";
 import { DialogSaveSessionComponent } from "./components/dialog-save-session/dialog-save-session.component";
@@ -189,6 +190,7 @@ const appRoutes: Routes = [
     DialogEditParamComputedComponent,
     DialogEditParamValuesComponent,
     DialogGeneratePABComponent,
+    DialogGeneratePARSimulationComponent,
     DialogLoadSessionComponent,
     DialogLogEntriesDetailsComponent,
     DialogSaveSessionComponent,
@@ -240,6 +242,7 @@ const appRoutes: Routes = [
     DialogEditParamComputedComponent,
     DialogEditParamValuesComponent,
     DialogGeneratePABComponent,
+    DialogGeneratePARSimulationComponent,
     DialogSaveSessionComponent,
     DialogLoadSessionComponent,
     DialogLogEntriesDetailsComponent
diff --git a/src/app/calculators/par/config.json b/src/app/calculators/par/config.json
index 7834b616e..3d592b2bd 100644
--- a/src/app/calculators/par/config.json
+++ b/src/app/calculators/par/config.json
@@ -4,7 +4,10 @@
         "type": "fieldset",
         "fields": [
             "Q",
-            "Z1",
+            {
+                "id": "Z1",
+                "allowEmpty": true
+            },
             {
                 "id": "Z2",
                 "allowEmpty": true
diff --git a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.html b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.html
new file mode 100644
index 000000000..3f42734c8
--- /dev/null
+++ b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.html
@@ -0,0 +1,28 @@
+<h1 mat-dialog-title [innerHTML]="uitextGeneratePARSimulation"></h1>
+
+<form id="form-generate-par-simulation">
+
+  <div mat-dialog-content>
+    <div id="generate-par-sim-desc">
+      {{ uitextDescription }}
+    </div>
+    <mat-form-field>
+        <mat-select id="select-combination" [placeholder]="label" [(value)]="selectedValue">
+            <mat-option *ngFor="let e of entries" [value]="e" [title]="entryLabel(e)">
+                {{ entryLabel(e) }}
+            </mat-option>
+        </mat-select>
+    </mat-form-field>
+  </div>
+
+  <div mat-dialog-actions [attr.align]="'end'">
+    <button mat-raised-button color="primary" [mat-dialog-close]="false" cdkFocusInitial>
+      {{ uitextCancel }}
+    </button>
+    <button mat-raised-button type="submit" color="warn" (click)="generatePARSimulation()" id="do-generate"
+      [disabled]="">
+      {{ uitextGenerate }}
+    </button>
+  </div>
+
+</form>
diff --git a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.scss b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.scss
new file mode 100644
index 000000000..6fc610865
--- /dev/null
+++ b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.scss
@@ -0,0 +1,11 @@
+#form-generate-par-simulation {
+    max-width: 500px;
+}
+
+mat-form-field {
+    width: 100%;
+}
+
+#generate-par-sim-desc {
+    margin-bottom: 1em;
+}
diff --git a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts
new file mode 100644
index 000000000..dcb956902
--- /dev/null
+++ b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts
@@ -0,0 +1,109 @@
+import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
+import { Inject, Component } from "@angular/core";
+
+import { I18nService } from "../../services/internationalisation.service";
+import { MultiDimensionResults } from "../../results/multidimension-results";
+
+import { fv, longestVarNgParam } from "../../util";
+
+@Component({
+    selector: "dialog-generate-par-simulation",
+    templateUrl: "dialog-generate-par-simulation.component.html",
+    styleUrls: ["dialog-generate-par-simulation.component.scss"]
+})
+export class DialogGeneratePARSimulationComponent {
+
+  public selectedValue: number;
+
+  /** résultats de la ParCalage */
+  private _results: MultiDimensionResults;
+
+  /** size of the longest variable value */
+  private size = 0;
+
+  /** inferred extended values list for each variating parameter */
+  private varValues = [];
+
+  constructor(
+      public dialogRef: MatDialogRef<DialogGeneratePARSimulationComponent>,
+      private intlService: I18nService,
+      @Inject(MAT_DIALOG_DATA) public data: any
+  ) {
+      this._results = data.results;
+      this.selectedValue = 0;
+
+      if (this._results) {
+          // pre-extract variable parameters values
+          this.varValues = [];
+          // find longest list
+          const lvp = longestVarNgParam(this._results.variatedParameters);
+          this.size = lvp.size;
+          // get extended values lists for each variable parameter
+          for (const v of this._results.variatedParameters) {
+              const vv = [];
+              const iter = v.getExtendedValuesIterator(this.size);
+              while (iter.hasNext) {
+                  const nv = iter.next();
+                  vv.push(fv(nv.value));
+              }
+              this.varValues.push(vv);
+          }
+      }
+  }
+
+  public generatePARSimulation() {
+      this.dialogRef.close({
+          generate: true,
+          selected: this.selectedValue,
+          size: this.size
+      });
+  }
+
+  public get uitextDescription() {
+    return this.intlService.localizeText("INFO_DIALOG_PARSIM_DESC");
+  }
+
+  public get uitextGeneratePARSimulation() {
+      return this.intlService.localizeText("INFO_CALCULATOR_RESULTS_GENERATE_PAR_SIMULATION");
+  }
+
+  public get uitextGenerate() {
+      return this.intlService.localizeText("INFO_OPTION_GENERATE");
+  }
+
+  public get uitextCancel() {
+      return this.intlService.localizeText("INFO_OPTION_CANCEL");
+  }
+
+  public get entries(): number[] {
+      const ret: number[] = [];
+      for (let i = 0; i < this.size; i++) {
+          ret.push(i);
+      }
+      return ret;
+  }
+
+  protected entryLabel(index: number): string {
+      const kv = [];
+      for (let i = 0; i < this.varValues.length; i++) {
+          const vv = this.varValues[i];
+          const vp = this._results.variatedParameters[i];
+          let symbol = vp.symbol;
+          // is vp a parameter of a child Nub ?
+          if (
+              vp.paramDefinition.parentNub
+              && vp.paramDefinition.parentNub !== vp.paramDefinition.originNub
+          ) {
+              const pos = vp.paramDefinition.parentNub.findPositionInParent() + 1;
+              symbol = this.intlService.localizeText("INFO_LIB_RADIER_N_COURT") + pos + "_" + symbol;
+          }
+          kv.push(`${symbol} = ${vv[index]}`);
+      }
+      return kv.join(", ");
+  }
+
+  public get label() {
+      return this.intlService.localizeText("INFO_PARAMFIELD_BOUNDARY_CONDITIONS");
+  }
+
+}
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 6e9adab42..53894e408 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -40,7 +40,10 @@ import { PabTableComponent } from "../pab-table/pab-table.component";
 import { MatDialog } from "@angular/material/dialog";
 import { DialogConfirmCloseCalcComponent } from "../dialog-confirm-close-calc/dialog-confirm-close-calc.component";
 import { DialogGeneratePABComponent } from "../dialog-generate-pab/dialog-generate-pab.component";
+import { DialogGeneratePARSimulationComponent } from "../dialog-generate-par-simulation/dialog-generate-par-simulation.component";
 import { PabTable } from "../../formulaire/elements/pab-table";
+import { MultiDimensionResults } from "../../results/multidimension-results";
+import { NgParameter } from "../../formulaire/elements/ngparam";
 
 import { HotkeysService, Hotkey } from "angular2-hotkeys";
 
@@ -124,6 +127,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         private router: Router,
         private confirmCloseCalcDialog: MatDialog,
         private generatePABDialog: MatDialog,
+        private generatePARSimulationDialog: MatDialog,
         private _elementRef: ElementRef,
         private hotkeysService: HotkeysService,
         private appSetupService: ApplicationSetupService,
@@ -849,58 +853,109 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         return (
             this.hasResults
             && ! parCalage.result.hasErrorMessages()
-            && this.allParamsAreFixed([ "Z1", "Q" ]) // only Z1 and Q may vary
+            && parCalage.prms.Z1.isDefined
+            && parCalage.prms.Z2.isDefined
         );
     }
 
     public get uitextGenerateParSimulationTitle(): string {
-        if (! this.allParamsAreFixed([ "Z1", "Q" ])) {
-            return this.intlService.localizeText("INFO_ONLY_Z1_Q_MAY_VARY");
-        }
         const parCalage = (this._formulaire.currentNub as Par);
         if (! this.hasResults || parCalage.result.hasErrorMessages()) {
             return this.intlService.localizeText("INFO_CALCULATE_FIRST");
         }
+        if (
+            parCalage.prms.Z1.isDefined
+            ||  parCalage.prms.Z2.isDefined
+        ) {
+            return this.intlService.localizeText("INFO_Z1_Z2_MUST_BE_DEFINED");
+        }
         return "";
     }
 
     /**
-     * Génère une simulation de passe à ralentisseurs à partir du calage en cours
+     * Génère une simulation de passe à ralentisseurs à partir du calage en cours; si
+     * au moins un paramètre varie, propose de choisir parmi les combinaisons de valeurs
      */
     public generatePARSimulation() {
         const parCalage = (this._formulaire.currentNub as Par);
         const pcal = parCalage.prms;
-        // copy base params
+        let pres: { [key: string]: number } = parCalage.result.values;
+
+        const varParams: NgParameter[] = this._formulaire.getVariatedParameters();
+        if (varParams.length > 0) {
+            // open popup to choose combination of varying parameters
+            const mdParResults = new MultiDimensionResults();
+            mdParResults.variatedParameters = varParams;
+            const dialogRef = this.generatePARSimulationDialog.open(
+                DialogGeneratePARSimulationComponent,
+                {
+                    data: {
+                        results: mdParResults
+                    },
+                    disableClose: false
+                }
+            );
+            dialogRef.afterClosed().subscribe(result => {
+                if (result && result.generate) {
+                    const i = result.selected;
+                    const s = result.size; // longest variating series, ie. number of iterations
+                    pres = parCalage.result.resultElements[i].values;
+                    // generate set of fixed values from chosen iteration i
+                    this.doGenerateParSimWithValues({
+                        Q: pcal.Q.isCalculated ? pres.Q : (pcal.Q.hasMultipleValues ? pcal.Q.getInferredValuesList(s)[i] : pcal.Q.V),
+                        Z1: pcal.Z1.hasMultipleValues ? pcal.Z1.getInferredValuesList(s)[i] : pcal.Z1.V,
+                        Z2: pcal.Z2.hasMultipleValues ? pcal.Z2.getInferredValuesList(s)[i] : pcal.Z2.V,
+                        S: pcal.S.hasMultipleValues ? pcal.S.getInferredValuesList(s)[i] : pcal.S.V,
+                        P: pcal.P.hasMultipleValues ? pcal.P.getInferredValuesList(s)[i] : pcal.P.V,
+                        L: pcal.L.isCalculated ? pres.L : (pcal.L.hasMultipleValues ? pcal.L.getInferredValuesList(s)[i] : pcal.L.V),
+                        N: pcal.N.hasMultipleValues ? pcal.N.getInferredValuesList(s)[i] : pcal.N.V,
+                        M: pcal.M.hasMultipleValues ? pcal.M.getInferredValuesList(s)[i] : pcal.M.V,
+                        Nb: pres.Nb,
+                        ZR1: pres.ZR1,
+                        ZD1: pres.ZD1,
+                        ZR2: pres.ZR2,
+                        ZD2: pres.ZD2,
+                        a: pres.a
+                    });
+                }
+            });
+        } else {
+            // no parameter is varyng, generate directly
+            this.doGenerateParSimWithValues({
+                Q: pcal.Q.V,
+                Z1: pcal.Z1.singleValue,
+                Z2: pcal.Z2.singleValue,
+                S: pcal.S.singleValue,
+                P: pcal.P.singleValue,
+                L: pcal.L.V,
+                N: pcal.Q.singleValue,
+                M: pcal.Q.singleValue,
+                Nb: pres.Nb,
+                ZR1: pres.ZR1,
+                ZD1: pres.ZD1,
+                ZR2: pres.ZR2,
+                ZD2: pres.ZD2,
+                a: pres.a
+            });
+        }
+    }
+
+    /**
+     * Creates a new Formulaire with a ParSimulation Nub, using given
+     * values as parameters
+     */
+    protected doGenerateParSimWithValues(v: any) {
+        const parCalage = (this._formulaire.currentNub as Par);
         const psim = new ParSimulationParams(
-            undefined, // Q
-            undefined, // Z1
-            pcal.Z2.singleValue, pcal.S.singleValue, pcal.P.singleValue,
-            undefined, // Nb
-            undefined, // ZR1
-            pcal.ZD1.singleValue,
-            undefined, // ZR2
-            undefined, // ZD2
-            pcal.L.singleValue, pcal.a.singleValue, pcal.N.singleValue, pcal.M.singleValue
+            round(v.Q, 3),      round(v.Z1, 3),     round(v.Z2, 3),
+            round(v.S, 3),      round(v.P, 3),      round(v.Nb, 3),
+            round(v.ZR1, 3),    round(v.ZD1, 3),    round(v.ZR2, 3),
+            round(v.ZD2, 3),    round(v.L, 3),      round(v.a, 3),
+            round(v.N, 3),      round(v.M, 3)
         );
         const parSimulation = new ParSimulation(psim);
-        Session.getInstance().registerNub(parSimulation);
-
-        // copy other params
         parSimulation.parType = parCalage.parType;
-        // Z1 and Q, that might be variating
-        psim.Z1.copyValuesFrom(pcal.Z1);
-        psim.Q.copyValuesFrom(pcal.Q);
-        // P, Nb, ZR1
-        if (pcal.P.singleValue === undefined) {
-            psim.P.singleValue = round(parCalage.result.values.P, 3);
-        }
-        psim.Nb.singleValue = parCalage.result.values.Nb;
-        psim.ZR1.singleValue = round(parCalage.result.values.ZR1, 3);
-        // ZR2, ZD2
-        if (pcal.Z2.singleValue !== undefined) {
-            psim.ZD2.singleValue = round(parCalage.result.values.ZD2, 3);
-            psim.ZR2.singleValue = round(parCalage.result.values.ZR2, 3);
-        }
+        Session.getInstance().registerNub(parSimulation);
 
         this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation)
             .then((f: FormulaireDefinition) => {
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index 4c55719f1..3cb94b538 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -516,7 +516,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         return ngparam;
     }
 
-    protected getVariatedParameters(): NgParameter[] {
+    public getVariatedParameters(): NgParameter[] {
         let res: NgParameter[] = [];
         // find variated local parameters
         res = this.getDisplayedParamListFromState(ParamRadioConfig.VAR);
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 31b17ed80..6b1e26841 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -173,6 +173,7 @@
     "INFO_CHILD_TYPE_MACRORUGO_PLUR": "aprons",
     "INFO_CHILD_TYPE_PUISSANCE": "power",
     "INFO_CHILD_TYPE_PUISSANCE_PLUR": "powers",
+    "INFO_DIALOG_PARSIM_DESC": "Choose a combination of values to generate the simulation",
     "INFO_FIELDSET_ADD": "Add",
     "INFO_FIELDSET_COPY": "Copy",
     "INFO_FIELDSET_REMOVE": "Remove",
@@ -333,7 +334,9 @@
     "INFO_MACRORUGOCOMPOUND_TITRE": "Compound rock-ramp fishpasses",
     "INFO_MACRORUGOCOMPOUND_TITRE_COURT": "Compound RR",
     "INFO_MACRORUGOCOMPOUND_LINCL": "Lateral inclination (m/m): ",
+    "INFO_ONLY_Q_MAY_VARY": "Only flow may vary",
     "INFO_ONLY_Z1_Q_MAY_VARY": "Only upstream elevation and flow may vary",
+    "INFO_Z1_Z2_MUST_BE_DEFINED": "Upstream and downstream elevations must be defined",
     "INFO_PENTE_TITRE": "Slope",
     "INFO_PENTE_TITRE_COURT": "Slope",
     "INFO_MENU_EMPTY_SESSION_TITLE": "New session",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index c0c908e86..74c306b9e 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -173,6 +173,7 @@
     "INFO_CHILD_TYPE_MACRORUGO_PLUR": "radiers",
     "INFO_CHILD_TYPE_PUISSANCE": "puissance",
     "INFO_CHILD_TYPE_PUISSANCE_PLUR": "puissances",
+    "INFO_DIALOG_PARSIM_DESC": "Choisir une combinaison de valeurs pour générer la simulation",
     "INFO_FIELDSET_ADD": "Ajouter",
     "INFO_FIELDSET_COPY": "Copier",
     "INFO_FIELDSET_REMOVE": "Supprimer",
@@ -333,7 +334,9 @@
     "INFO_MACRORUGOCOMPOUND_TITRE": "Passe à macro-rugosités complexe",
     "INFO_MACRORUGOCOMPOUND_TITRE_COURT": "M-Rugo complexe",
     "INFO_MACRORUGOCOMPOUND_LINCL": "Dévers latéral (m/m)&nbsp;:",
+    "INFO_ONLY_Q_MAY_VARY": "Seul le débit peut varier",
     "INFO_ONLY_Z1_Q_MAY_VARY": "Seuls la cote amont et le débit peuvent varier",
+    "INFO_Z1_Z2_MUST_BE_DEFINED": "Les cotes amont et aval doivent être définies",
     "INFO_PENTE_TITRE": "Pente",
     "INFO_PENTE_TITRE_COURT": "Pente",
     "INFO_MENU_EMPTY_SESSION_TITLE": "Nouvelle session",
-- 
GitLab


From eaa05ba799e388d826e153fbce16b563e1154469 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Wed, 20 May 2020 15:55:53 +0200
Subject: [PATCH 026/117] Fix missing translation

---
 e2e/check-translations.e2e-spec.ts                          | 6 +++++-
 .../components/generic-calculator/calculator.component.ts   | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/e2e/check-translations.e2e-spec.ts b/e2e/check-translations.e2e-spec.ts
index b16c9a56d..ddcd763d3 100644
--- a/e2e/check-translations.e2e-spec.ts
+++ b/e2e/check-translations.e2e-spec.ts
@@ -77,7 +77,11 @@ describe("ngHyd − check translation of all calculators", () => {
           }
 
           // check absence of "*** message not found" in whole DOM
-          expect(await browser.getPageSource()).not.toContain("*** message not found");
+          const ps = await browser.getPageSource();
+          expect(ps).not.toContain("*** message not found");
+          /* const pos = ps.indexOf("*** message not found");
+          const bout = ps.substring(pos - 50, pos + 50);
+          console.log("------------ BOUT ---------------", bout); */
 
           // empty session
           await navBar.clickMenuButton();
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 53894e408..a72bd526e 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -814,7 +814,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
 
     public get uitextGenerateRuSpTitle(): string {
         if (! this.generateRuSpEnabled) {
-            return this.intlService.localizeText("INFO_CALCULER_D_ABORD");
+            return this.intlService.localizeText("INFO_CALCULATE_FIRST");
         } else {
             return "";
         }
-- 
GitLab


From 29cd5a6875cf2734e046744548795b3c0a2cc0d1 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 25 May 2020 11:14:14 +0200
Subject: [PATCH 027/117] =?UTF-8?q?Fix=20#394=20=E2=88=92=20PAR=20error=20?=
 =?UTF-8?q?messages=20:=20use=20complete=20variables=20translation=20inste?=
 =?UTF-8?q?ad=20of=20symbols?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../services/internationalisation.service.ts  | 45 ++++++++++++++++---
 src/locale/messages.en.json                   | 12 +++--
 src/locale/messages.fr.json                   | 12 +++--
 3 files changed, 56 insertions(+), 13 deletions(-)

diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts
index c8e35a07e..67b16fa79 100644
--- a/src/app/services/internationalisation.service.ts
+++ b/src/app/services/internationalisation.service.ts
@@ -5,7 +5,8 @@ import { Message, MessageCode, Observable, Observer, LoiDebit, Nub } from "jalhy
 import { StringMap } from "../stringmap";
 import { ApplicationSetupService } from "./app-setup.service";
 import { HttpService } from "./http.service";
-import { fv } from "../util";
+import { fv, decodeHtml } from "../util";
+import { ServiceFactory } from "./service-factory";
 
 @Injectable()
 export class I18nService extends Observable implements Observer {
@@ -159,16 +160,50 @@ export class I18nService extends Observable implements Observer {
             if (r.extraVar.hasOwnProperty(k)) {
                 const v: any = r.extraVar[k];
                 let s: string;
-                if (typeof v === "number") {
-                    s = fv(v);
+                // detect variable names to translate
+                if (k === "variables" && Array.isArray(v)) {
+                    // array of variable names
+                    s = v.map((e) => {
+                        return this.localizeText("INFO_LIB_" + e.toUpperCase());
+                    }).join(", ");
+                } else if (k.substring(0, 4) === "var_") {
+                    // single variable name
+                    s = this.localizeText("INFO_LIB_" + v.toUpperCase());
                 } else {
-                    s = v;
+                    if (typeof v === "number") {
+                        s = fv(v);
+                    } else {
+                        s = v;
+                    }
                 }
                 m = this.replaceAll(m, "%" + k + "%", s);
             }
         }
 
-        return m;
+        // replace "ENUM_X_Y" by translated enum value;
+        // example for lang "fr" : "ENUM_SPECIES_6" => "INFO_ENUM_SPECIES_6" => "Ombre commun"
+        // (partly redundant with MSG_* but shorter to write)
+        m = m.replace(/(ENUM_[^ ,;\.]+)/g, (match, p1) => {
+            return this.localizeText("INFO_" + p1);
+        });
+
+        // replace "FORM_ID_X" by form name in current session, if any
+        m = m.replace(/FORM_ID_(\w{6})/g, (match, p1) => {
+            const form = ServiceFactory.instance.formulaireService.getFormulaireFromNubId(p1); // cannot inject FormulaireService => cyclic dependency :/
+            let formName = "**UNKNOWN_FORM**";
+            if (form !== undefined) {
+                formName = form.calculatorName;
+            }
+            return formName;
+        });
+
+        // replace MSG_* with the translation of * ; allows
+        // to inject any text translation in a message
+        m = m.replace(/MSG_([^ ,;\.]+)/g, (match, p1) => {
+            return this.localizeText(p1);
+        });
+
+        return decodeHtml(m);
     }
 
     /**
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 6b1e26841..a99a7e8b7 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -1,5 +1,5 @@
 {
-    "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "At least one of the following values should be specified : %symbols%",
+    "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "At least one of the following values should be specified : %variables%",
     "ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE": "Only one regulated device is allowed on the downstream wall",
     "WARNING_DEVER_ZR_SUP_Z1": "Elevation of the river bed can't be higher than water elevation: Impossible to calculate the kinetic energy",
     "WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION": "Downstream elevation is higher than weir elevation (possible submersion)",
@@ -34,7 +34,7 @@
     "ERROR_PAB_Z1_LOWER_THAN_Z2": "Upstream water elevation should be higher than downstream water elevation",
     "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "Upstream water elevation is too low for water to flow through the first wall",
     "ERROR_PAR_NB_INCONSISTENT": "Number of baffles should be %stdNb%",
-    "ERROR_PAR_ZR_ZD_MISMATCH": "Values of %ZR% and %ZD% mismatch : either %ZR% should be %expectedZR%, or %ZD% should be %expectedZD%",
+    "ERROR_PAR_ZR_ZD_MISMATCH": "Values of %var_ZR% and %var_ZD% mismatch : either %var_ZR% should be %expectedZR%, or %var_ZD% should be %expectedZD%",
     "ERROR_PARAM_MUST_BE_A_NUMBER": "Please type a numeric value",
     "ERROR_PARAM_MUST_BE_AT_LEAST": "Value must be >= %s",
     "ERROR_PARAM_MUST_BE_POSITIVE": "Please type a positive numeric value",
@@ -300,6 +300,10 @@
     "INFO_LIB_ZCO": "Orifice center elevation",
     "INFO_LIB_ZDV": "Crest weir elevation or gate base",
     "INFO_LIB_ZF2": "Downstream bottom elevation",
+    "INFO_LIB_ZD1": "Upstream spilling elevation",
+    "INFO_LIB_ZD2": "Downstream spilling elevation",
+    "INFO_LIB_ZR1": "Upstream apron elevation",
+    "INFO_LIB_ZR2": "Downstream apron elevation",
     "INFO_LIB_ZRAM": "Upstream apron elevation",
     "INFO_LIB_ZRMB": "Downstream basin bottom elevation",
     "INFO_LIB_ZT": "Triangle top elevation",
@@ -540,8 +544,8 @@
     "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Number of results is limited by linked result %symbol%",
     "WARNING_PAR_P_WAS_IGNORED": "Given spacing value was ignored",
     "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "Given spacing value is more than 10% lower or more than 5% greater than standard value %stdP%",
-    "ERROR_PAR_QSTAR_OUT_OF_RANGE": "qStar value %val% is outside of validity interval [ %min%, %max% ] given by abacuses",
-    "ERROR_PAR_HA_OUT_OF_RANGE": "ha value %val% is outside of validity interval [ %min%, %max% ] given by abacuses",
+    "ERROR_PAR_QSTAR_OUT_OF_RANGE": "Flow value %val% is outside of validity interval [ %min%, %max% ] given by abacuses",
+    "ERROR_PAR_HA_OUT_OF_RANGE": "Upstream head value %val% is outside of validity interval [ %min%, %max% ] given by abacuses",
     "WARNING_PAR_L": "A witdh greater than %max% is discouraged",
     "ERROR_PAR_L": "Width is outside validity interval [ %min%, %max% ]",
     "WARNING_ERROR_PAR_L": "Width is outside validity interval [ %min%, %max% ]",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 74c306b9e..79f5ff227 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -1,5 +1,5 @@
 {
-    "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "Au moins une des valeurs suivantes doit être renseignée&nbsp;: %symbols%",
+    "ERROR_AT_LEAST_ONE_OF_THOSE_MUST_BE_DEFINED": "Au moins une des valeurs suivantes doit être renseignée&nbsp;: %variables%",
     "ERROR_CLOISON_AVAL_UN_OUVRAGE_REGULE": "Un seul ouvrage régulé est autorisé sur la cloison aval",
     "WARNING_DEVER_ZR_SUP_Z1": "La cote du lit du cours d'eau ne peut pas être supérieure à la cote de l'eau&nbsp;: Impossible de calculer l'énergie cinétique",
     "WARNING_DOWNSTREAM_ELEVATION_POSSIBLE_SUBMERSION": "La cote de l'eau aval est plus élevée que la cote du seuil (ennoiement possible)",
@@ -34,7 +34,7 @@
     "ERROR_PAB_Z1_LOWER_THAN_Z2": "La cote de l'eau amont doit être supérieure à la cote de l'eau aval",
     "ERROR_PAB_Z1_LOWER_THAN_UPSTREAM_WALL": "La cote de l'eau amont est trop basse pour que l'eau s'écoule à travers la première cloison",
     "ERROR_PAR_NB_INCONSISTENT": "Le nombre de ralentisseurs devrait être %stdNb%",
-    "ERROR_PAR_ZR_ZD_MISMATCH": "Les valeurs de %ZR% et %ZD% ne correspondent pas&nbsp;: soit %ZR% devrait valoir %expectedZR%, soit %ZD% devrait valoir %expectedZD%",
+    "ERROR_PAR_ZR_ZD_MISMATCH": "Les valeurs de %var_ZR% et %var_ZD% ne correspondent pas&nbsp;: soit %var_ZR% devrait valoir %expectedZR%, soit %var_ZD% devrait valoir %expectedZD%",
     "ERROR_PARAM_MUST_BE_A_NUMBER": "Veuillez entrer une valeur numérique",
     "ERROR_PARAM_MUST_BE_AT_LEAST": "La valeur doit être >= %s",
     "ERROR_PARAM_MUST_BE_POSITIVE": "Veuillez entrer une valeur numérique positive",
@@ -300,6 +300,10 @@
     "INFO_LIB_ZCO": "Cote du centre de l'orifice",
     "INFO_LIB_ZDV": "Cote de la crête du déversoir ou du radier de la vanne",
     "INFO_LIB_ZF2": "Cote de fond aval",
+    "INFO_LIB_ZD1": "Cote de déversement à l'amont",
+    "INFO_LIB_ZD2": "Cote de déversement à l'aval",
+    "INFO_LIB_ZR1": "Cote de radier à l'amont",
+    "INFO_LIB_ZR2": "Cote de radier à l'aval",
     "INFO_LIB_ZRAM": "Cote du radier amont",
     "INFO_LIB_ZRMB": "Cote de radier mi-bassin",
     "INFO_LIB_ZT": "Cote haute du triangle",
@@ -540,8 +544,8 @@
     "WARNING_VARIATED_LENGTH_LIMITED_BY_LINKED_RESULT": "Le nombre de résultats est limité par le résultat lié %symbol%",
     "WARNING_PAR_P_WAS_IGNORED": "La valeur d'espacement fournie a été ignorée",
     "ERROR_PAR_P_DEVIATES_MORE_THAN_10_5_PCT": "La valeur d'espacement fournie est plus de 10% plus petite ou plus de 5% plus grande que la valeur standard %stdP%",
-    "ERROR_PAR_QSTAR_OUT_OF_RANGE": "La valeur %val% de qStar sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques",
-    "ERROR_PAR_HA_OUT_OF_RANGE": "La valeur %val% de ha sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques",
+    "ERROR_PAR_QSTAR_OUT_OF_RANGE": "La valeur %val% du débit sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques",
+    "ERROR_PAR_HA_OUT_OF_RANGE": "La valeur %val% de la charge amont sort de l'intervalle de validité [ %min%, %max% ] donné par les abaques",
     "WARNING_PAR_L": "Une largeur supérieure à %max% est déconseillée",
     "ERROR_PAR_L": "La largeur est en dehors de l'intervalle de validité [ %min%, %max% ]",
     "WARNING_ERROR_PAR_L": "La largeur est en dehors de l'intervalle de validité [ %min%, %max% ]",
-- 
GitLab


From 7e0f187ebc698a28275369c8302491b37ee3bd42 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 22 Jun 2020 10:14:48 +0200
Subject: [PATCH 028/117] Increase Protractor timeout for long tests

---
 protractor.conf.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/protractor.conf.js b/protractor.conf.js
index f27c3aeb4..4471a0e4b 100644
--- a/protractor.conf.js
+++ b/protractor.conf.js
@@ -50,7 +50,7 @@ exports.config = {
   framework: 'jasmine',
   jasmineNodeOpts: {
     showColors: true,
-    defaultTimeoutInterval: 30000,
+    defaultTimeoutInterval: 50000,
     print: function() {}
   },
   onPrepare() {
-- 
GitLab


From 00c262e160710b2d9944bcf5397ca2027e89c8e8 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 22 Jun 2020 10:48:29 +0200
Subject: [PATCH 029/117] Increase Protractor timeout again

---
 protractor.conf.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/protractor.conf.js b/protractor.conf.js
index 4471a0e4b..3100e6f42 100644
--- a/protractor.conf.js
+++ b/protractor.conf.js
@@ -50,7 +50,7 @@ exports.config = {
   framework: 'jasmine',
   jasmineNodeOpts: {
     showColors: true,
-    defaultTimeoutInterval: 50000,
+    defaultTimeoutInterval: 120000,
     print: function() {}
   },
   onPrepare() {
-- 
GitLab


From 7405d36f92ddf7291cffd6490e1c4fb28c3a4b1e Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 22 Jun 2020 11:14:43 +0200
Subject: [PATCH 030/117] Revert useless timeout increase in protractor

---
 protractor.conf.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/protractor.conf.js b/protractor.conf.js
index 3100e6f42..f27c3aeb4 100644
--- a/protractor.conf.js
+++ b/protractor.conf.js
@@ -50,7 +50,7 @@ exports.config = {
   framework: 'jasmine',
   jasmineNodeOpts: {
     showColors: true,
-    defaultTimeoutInterval: 120000,
+    defaultTimeoutInterval: 30000,
     print: function() {}
   },
   onPrepare() {
-- 
GitLab


From 86391c39eafd26cb2e9a4654bf8830f1237fb823 Mon Sep 17 00:00:00 2001
From: Dorchies David <david.dorchies@irstea.fr>
Date: Mon, 4 May 2020 18:34:00 +0200
Subject: [PATCH 031/117] doc: Add documentation in French for baffle fishways

Refs #398
---
 .../par/baffle_fishway_Fatou_slope_10_.svg    | 508 +++++++++++++++++
 .../par/baffle_fishway_Fatou_slope_15_.svg    | 511 +++++++++++++++++
 .../par/baffle_fishway_Fatou_slope_20_.svg    | 512 ++++++++++++++++++
 .../par/baffle_fishway_mixte_slope_10_.svg    | 459 ++++++++++++++++
 .../par/baffle_fishway_mixte_slope_16_.svg    | 445 +++++++++++++++
 .../par/baffle_fishway_plans_slope_10_.svg    | 459 ++++++++++++++++
 .../par/baffle_fishway_plans_slope_15_.svg    | 464 ++++++++++++++++
 .../par/baffle_fishway_plans_slope_20_.svg    | 495 +++++++++++++++++
 .../par/baffle_fishway_suractif_slope_10_.svg | 451 +++++++++++++++
 .../par/baffle_fishway_suractif_slope_15_.svg | 454 ++++++++++++++++
 docs/fr/calculators/par/calage.md             |  38 ++
 docs/fr/calculators/par/formules.md           |  51 ++
 docs/fr/calculators/par/simulation.md         |  26 +
 docs/fr/calculators/par/theorie_fatou.md      |  91 ++++
 .../calculators/par/theorie_fatou_schema.png  | Bin 0 -> 138046 bytes
 docs/fr/calculators/par/theorie_mixte.md      |  78 +++
 .../calculators/par/theorie_mixte_schema.png  | Bin 0 -> 99570 bytes
 docs/fr/calculators/par/theorie_plans.md      |  91 ++++
 .../calculators/par/theorie_plans_schema.png  | Bin 0 -> 95961 bytes
 docs/fr/calculators/par/theorie_suractif.md   |  77 +++
 .../par/theorie_suractif_schema.png           | Bin 0 -> 75501 bytes
 mkdocs-fr.yml                                 |   8 +
 22 files changed, 5218 insertions(+)
 create mode 100644 docs/fr/calculators/par/baffle_fishway_Fatou_slope_10_.svg
 create mode 100644 docs/fr/calculators/par/baffle_fishway_Fatou_slope_15_.svg
 create mode 100644 docs/fr/calculators/par/baffle_fishway_Fatou_slope_20_.svg
 create mode 100644 docs/fr/calculators/par/baffle_fishway_mixte_slope_10_.svg
 create mode 100644 docs/fr/calculators/par/baffle_fishway_mixte_slope_16_.svg
 create mode 100644 docs/fr/calculators/par/baffle_fishway_plans_slope_10_.svg
 create mode 100644 docs/fr/calculators/par/baffle_fishway_plans_slope_15_.svg
 create mode 100644 docs/fr/calculators/par/baffle_fishway_plans_slope_20_.svg
 create mode 100644 docs/fr/calculators/par/baffle_fishway_suractif_slope_10_.svg
 create mode 100644 docs/fr/calculators/par/baffle_fishway_suractif_slope_15_.svg
 create mode 100644 docs/fr/calculators/par/calage.md
 create mode 100644 docs/fr/calculators/par/formules.md
 create mode 100644 docs/fr/calculators/par/simulation.md
 create mode 100644 docs/fr/calculators/par/theorie_fatou.md
 create mode 100644 docs/fr/calculators/par/theorie_fatou_schema.png
 create mode 100644 docs/fr/calculators/par/theorie_mixte.md
 create mode 100644 docs/fr/calculators/par/theorie_mixte_schema.png
 create mode 100644 docs/fr/calculators/par/theorie_plans.md
 create mode 100644 docs/fr/calculators/par/theorie_plans_schema.png
 create mode 100644 docs/fr/calculators/par/theorie_suractif.md
 create mode 100644 docs/fr/calculators/par/theorie_suractif_schema.png

diff --git a/docs/fr/calculators/par/baffle_fishway_Fatou_slope_10_.svg b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_10_.svg
new file mode 100644
index 000000000..373eb4613
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_10_.svg
@@ -0,0 +1,508 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-21">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-14">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 1.0625 0 L 1.0625 -10.308594 L 8.128906 -10.308594 L 8.128906 -8.5625 L 3.144531 -8.5625 L 3.144531 -6.125 L 7.445313 -6.125 L 7.445313 -4.378906 L 3.144531 -4.378906 L 3.144531 0 Z M 1.0625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-15">
+<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-16">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface16">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 406.925781 C 77.101563 410.523438 71.699219 410.523438 71.699219 406.925781 C 71.699219 403.324219 77.101563 403.324219 77.101563 406.925781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 87.859375 390.464844 C 87.859375 394.066406 82.460938 394.066406 82.460938 390.464844 C 82.460938 386.863281 87.859375 386.863281 87.859375 390.464844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 99.1875 375.652344 C 99.1875 379.25 93.789063 379.25 93.789063 375.652344 C 93.789063 372.050781 99.1875 372.050781 99.1875 375.652344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 108.816406 362.484375 C 108.816406 366.085938 103.417969 366.085938 103.417969 362.484375 C 103.417969 358.882813 108.816406 358.882813 108.816406 362.484375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.011719 349.316406 C 119.011719 352.917969 113.613281 352.917969 113.613281 349.316406 C 113.613281 345.714844 119.011719 345.714844 119.011719 349.316406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.402344 324.628906 C 139.402344 328.226563 134 328.226563 134 324.628906 C 134 321.027344 139.402344 321.027344 139.402344 324.628906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 148.460938 314.753906 C 148.460938 318.351563 143.0625 318.351563 143.0625 314.753906 C 143.0625 311.152344 148.460938 311.152344 148.460938 314.753906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 163.1875 295 C 163.1875 298.601563 157.789063 298.601563 157.789063 295 C 157.789063 291.402344 163.1875 291.402344 163.1875 295 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 177.914063 280.1875 C 177.914063 283.789063 172.515625 283.789063 172.515625 280.1875 C 172.515625 276.585938 177.914063 276.585938 177.914063 280.1875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.808594 265.375 C 189.808594 268.972656 184.40625 268.972656 184.40625 265.375 C 184.40625 261.773438 189.808594 261.773438 189.808594 265.375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.800781 248.914063 C 206.800781 252.515625 201.398438 252.515625 201.398438 248.914063 C 201.398438 245.316406 206.800781 245.316406 206.800781 248.914063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.65625 232.457031 C 222.65625 236.054688 217.257813 236.054688 217.257813 232.457031 C 217.257813 228.855469 222.65625 228.855469 222.65625 232.457031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.550781 220.933594 C 234.550781 224.535156 229.152344 224.535156 229.152344 220.933594 C 229.152344 217.332031 234.550781 217.332031 234.550781 220.933594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 249.277344 206.121094 C 249.277344 209.71875 243.878906 209.71875 243.878906 206.121094 C 243.878906 202.519531 249.277344 202.519531 249.277344 206.121094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 264.570313 192.953125 C 264.570313 196.554688 259.167969 196.554688 259.167969 192.953125 C 259.167969 189.351563 264.570313 189.351563 264.570313 192.953125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 282.691406 178.960938 C 282.691406 182.5625 277.292969 182.5625 277.292969 178.960938 C 277.292969 175.363281 282.691406 175.363281 282.691406 178.960938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.683594 163.328125 C 299.683594 166.925781 294.285156 166.925781 294.285156 163.328125 C 294.285156 159.726563 299.683594 159.726563 299.683594 163.328125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.375 150.160156 C 318.375 153.757813 312.972656 153.757813 312.972656 150.160156 C 312.972656 146.558594 318.375 146.558594 318.375 150.160156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.800781 138.636719 C 334.800781 142.238281 329.398438 142.238281 329.398438 138.636719 C 329.398438 135.039063 334.800781 135.039063 334.800781 138.636719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 348.390625 129.585938 C 348.390625 133.183594 342.992188 133.183594 342.992188 129.585938 C 342.992188 125.984375 348.390625 125.984375 348.390625 129.585938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.515625 117.238281 C 366.515625 120.839844 361.117188 120.839844 361.117188 117.238281 C 361.117188 113.640625 366.515625 113.640625 366.515625 117.238281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 382.941406 105.71875 C 382.941406 109.320313 377.539063 109.320313 377.539063 105.71875 C 377.539063 102.117188 382.941406 102.117188 382.941406 105.71875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 408.992188 94.195313 C 408.992188 97.796875 403.59375 97.796875 403.59375 94.195313 C 403.59375 90.597656 408.992188 90.597656 408.992188 94.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 429.949219 82.675781 C 429.949219 86.277344 424.550781 86.277344 424.550781 82.675781 C 424.550781 79.074219 429.949219 79.074219 429.949219 82.675781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 445.242188 77.738281 C 445.242188 81.335938 439.839844 81.335938 439.839844 77.738281 C 439.839844 74.136719 445.242188 74.136719 445.242188 77.738281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.039063 430.558594 L 458.398438 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.039063 430.558594 L 67.039063 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.945313 430.558594 L 122.945313 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.855469 430.558594 L 178.855469 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.765625 430.558594 L 234.765625 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.671875 430.558594 L 290.671875 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.582031 430.558594 L 346.582031 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.492188 430.558594 L 402.492188 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 430.558594 L 458.398438 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="55.359375" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="62.033203" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="65.367188" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="72.041016" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="111.265625" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="117.939453" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="121.273438" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="127.947266" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="167.175781" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="173.849609" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="177.183594" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="183.857422" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="223.085938" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="229.759766" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="233.09375" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="239.767578" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="278.992188" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="285.666016" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="289" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="295.673828" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="334.902344" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="341.576172" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="344.910156" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="351.583984" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="390.8125" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="397.486328" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="400.820313" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="407.494141" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="446.71875" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="453.392578" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="456.726563" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="463.400391" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 389.640625 L 59.039063 113.949219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 389.640625 L 51.839844 389.640625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 334.503906 L 51.839844 334.503906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 279.363281 L 51.839844 279.363281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 224.226563 L 51.839844 224.226563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 169.085938 L 51.839844 169.085938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 113.949219 L 51.839844 113.949219 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="397.980469"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="391.306641"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="387.972656"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="342.84375"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="336.169922"/>
+  <use xlink:href="#glyph1-4" x="41.761719" y="332.835938"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="287.703125"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="281.029297"/>
+  <use xlink:href="#glyph1-5" x="41.761719" y="277.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="232.566406"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="225.892578"/>
+  <use xlink:href="#glyph1-6" x="41.761719" y="222.558594"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="177.425781"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="170.751953"/>
+  <use xlink:href="#glyph1-1" x="41.761719" y="167.417969"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="122.289063"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="115.615234"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="112.28125"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="190.175781" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="198.971875" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="206.980469" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="211.775781" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="220.571875" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="229.367969" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="233.36875" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="242.164844" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="250.173438" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="254.96875" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="259.764063" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="263.764844" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="271.773438" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="279.782031" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="283.782812" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="293.3875" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="297.388281" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="305.797656" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="309.798437" y="34.675781"/>
+  <use xlink:href="#glyph2-15" x="317.807031" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="325.815625" y="34.675781"/>
+  <use xlink:href="#glyph2-16" x="329.816406" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/>
+  <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 406.925781 C 77.101563 410.523438 71.699219 410.523438 71.699219 406.925781 C 71.699219 403.324219 77.101563 403.324219 77.101563 406.925781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 87.859375 390.464844 C 87.859375 394.066406 82.460938 394.066406 82.460938 390.464844 C 82.460938 386.863281 87.859375 386.863281 87.859375 390.464844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 99.1875 375.652344 C 99.1875 379.25 93.789063 379.25 93.789063 375.652344 C 93.789063 372.050781 99.1875 372.050781 99.1875 375.652344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 108.816406 362.484375 C 108.816406 366.085938 103.417969 366.085938 103.417969 362.484375 C 103.417969 358.882813 108.816406 358.882813 108.816406 362.484375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.011719 349.316406 C 119.011719 352.917969 113.613281 352.917969 113.613281 349.316406 C 113.613281 345.714844 119.011719 345.714844 119.011719 349.316406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.402344 324.628906 C 139.402344 328.226563 134 328.226563 134 324.628906 C 134 321.027344 139.402344 321.027344 139.402344 324.628906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 148.460938 314.753906 C 148.460938 318.351563 143.0625 318.351563 143.0625 314.753906 C 143.0625 311.152344 148.460938 311.152344 148.460938 314.753906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 163.1875 295 C 163.1875 298.601563 157.789063 298.601563 157.789063 295 C 157.789063 291.402344 163.1875 291.402344 163.1875 295 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 177.914063 280.1875 C 177.914063 283.789063 172.515625 283.789063 172.515625 280.1875 C 172.515625 276.585938 177.914063 276.585938 177.914063 280.1875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.808594 265.375 C 189.808594 268.972656 184.40625 268.972656 184.40625 265.375 C 184.40625 261.773438 189.808594 261.773438 189.808594 265.375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.800781 248.914063 C 206.800781 252.515625 201.398438 252.515625 201.398438 248.914063 C 201.398438 245.316406 206.800781 245.316406 206.800781 248.914063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.65625 232.457031 C 222.65625 236.054688 217.257813 236.054688 217.257813 232.457031 C 217.257813 228.855469 222.65625 228.855469 222.65625 232.457031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.550781 220.933594 C 234.550781 224.535156 229.152344 224.535156 229.152344 220.933594 C 229.152344 217.332031 234.550781 217.332031 234.550781 220.933594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 249.277344 206.121094 C 249.277344 209.71875 243.878906 209.71875 243.878906 206.121094 C 243.878906 202.519531 249.277344 202.519531 249.277344 206.121094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 264.570313 192.953125 C 264.570313 196.554688 259.167969 196.554688 259.167969 192.953125 C 259.167969 189.351563 264.570313 189.351563 264.570313 192.953125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 282.691406 178.960938 C 282.691406 182.5625 277.292969 182.5625 277.292969 178.960938 C 277.292969 175.363281 282.691406 175.363281 282.691406 178.960938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.683594 163.328125 C 299.683594 166.925781 294.285156 166.925781 294.285156 163.328125 C 294.285156 159.726563 299.683594 159.726563 299.683594 163.328125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.375 150.160156 C 318.375 153.757813 312.972656 153.757813 312.972656 150.160156 C 312.972656 146.558594 318.375 146.558594 318.375 150.160156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.800781 138.636719 C 334.800781 142.238281 329.398438 142.238281 329.398438 138.636719 C 329.398438 135.039063 334.800781 135.039063 334.800781 138.636719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 348.390625 129.585938 C 348.390625 133.183594 342.992188 133.183594 342.992188 129.585938 C 342.992188 125.984375 348.390625 125.984375 348.390625 129.585938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.515625 117.238281 C 366.515625 120.839844 361.117188 120.839844 361.117188 117.238281 C 361.117188 113.640625 366.515625 113.640625 366.515625 117.238281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 382.941406 105.71875 C 382.941406 109.320313 377.539063 109.320313 377.539063 105.71875 C 377.539063 102.117188 382.941406 102.117188 382.941406 105.71875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 408.992188 94.195313 C 408.992188 97.796875 403.59375 97.796875 403.59375 94.195313 C 403.59375 90.597656 408.992188 90.597656 408.992188 94.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 429.949219 82.675781 C 429.949219 86.277344 424.550781 86.277344 424.550781 82.675781 C 424.550781 79.074219 429.949219 79.074219 429.949219 82.675781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 445.242188 77.738281 C 445.242188 81.335938 439.839844 81.335938 439.839844 77.738281 C 439.839844 74.136719 445.242188 74.136719 445.242188 77.738281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 405.65625 L 78.238281 400.351563 L 82.078125 395.089844 L 85.921875 389.867188 L 89.761719 384.683594 L 93.601563 379.539063 L 97.441406 374.4375 L 101.28125 369.371094 L 105.121094 364.347656 L 108.960938 359.363281 L 112.800781 354.417969 L 116.640625 349.511719 L 120.480469 344.644531 L 124.320313 339.820313 L 128.160156 335.03125 L 132 330.285156 L 135.839844 325.578125 L 139.679688 320.910156 L 143.519531 316.28125 L 147.359375 311.695313 L 151.199219 307.144531 L 155.039063 302.636719 L 158.878906 298.167969 L 162.71875 293.738281 L 166.558594 289.347656 L 170.398438 285 L 174.238281 280.6875 L 178.078125 276.417969 L 181.921875 272.1875 L 185.761719 267.996094 L 189.601563 263.84375 L 193.441406 259.730469 L 197.28125 255.660156 L 201.121094 251.625 L 204.960938 247.632813 L 208.800781 243.679688 L 212.640625 239.765625 L 216.480469 235.890625 L 220.320313 232.058594 L 224.160156 228.261719 L 228 224.507813 L 231.839844 220.792969 L 235.679688 217.117188 L 239.519531 213.480469 L 243.359375 209.882813 L 247.199219 206.328125 L 251.039063 202.808594 L 254.878906 199.332031 L 258.71875 195.894531 L 262.558594 192.496094 L 266.398438 189.136719 L 270.238281 185.820313 L 274.078125 182.539063 L 277.921875 179.300781 L 281.761719 176.101563 L 285.601563 172.941406 L 289.441406 169.820313 L 293.28125 166.738281 L 297.121094 163.699219 L 300.960938 160.695313 L 304.800781 157.734375 L 308.640625 154.8125 L 312.480469 151.929688 L 316.320313 149.089844 L 320.160156 146.285156 L 324 143.523438 L 327.839844 140.796875 L 331.679688 138.113281 L 335.519531 135.46875 L 339.359375 132.863281 L 343.199219 130.300781 L 347.039063 127.773438 L 350.878906 125.289063 L 354.71875 122.84375 L 358.558594 120.4375 L 362.398438 118.070313 L 366.238281 115.742188 L 370.078125 113.457031 L 373.921875 111.207031 L 377.761719 109 L 381.601563 106.832031 L 385.441406 104.703125 L 389.28125 102.613281 L 393.121094 100.566406 L 396.960938 98.554688 L 400.800781 96.585938 L 404.640625 94.65625 L 408.480469 92.765625 L 412.320313 90.914063 L 416.160156 89.101563 L 420 87.332031 L 423.839844 85.597656 L 427.679688 83.90625 L 431.519531 82.253906 L 435.359375 80.640625 L 439.199219 79.066406 L 443.039063 77.535156 L 446.878906 76.039063 L 450.71875 74.585938 L 454.558594 73.171875 L 458.398438 71.796875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 71.148438 416.800781 L 78.785156 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.964844 420.617188 L 74.964844 412.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 83.042969 398.695313 L 90.679688 398.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 86.859375 402.511719 L 86.859375 394.875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 93.238281 382.234375 L 100.875 382.234375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.054688 386.054688 L 97.054688 378.417969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 102.296875 367.421875 L 109.933594 367.421875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.117188 371.242188 L 106.117188 363.605469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 111.925781 354.253906 L 119.5625 354.253906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 115.746094 358.074219 L 115.746094 350.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.6875 337.796875 L 130.324219 337.796875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 126.507813 341.613281 L 126.507813 333.976563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 136.28125 319.691406 L 143.917969 319.691406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 140.097656 323.507813 L 140.097656 315.871094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 152.140625 299.9375 L 159.777344 299.9375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 155.957031 303.757813 L 155.957031 296.121094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 162.332031 285.125 L 169.96875 285.125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.152344 288.945313 L 166.152344 281.308594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.191406 265.375 L 185.828125 265.375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 182.011719 269.191406 L 182.011719 261.554688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 190.085938 250.5625 L 197.722656 250.5625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 193.90625 254.378906 L 193.90625 246.742188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 201.980469 237.394531 L 209.617188 237.394531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 205.796875 241.210938 L 205.796875 233.574219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.9375 215.996094 L 230.574219 215.996094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.753906 219.816406 L 226.753906 212.179688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 235.394531 202.828125 L 243.03125 202.828125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 239.214844 206.648438 L 239.214844 199.011719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 255.21875 183.078125 L 262.855469 183.078125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 259.039063 186.894531 L 259.039063 179.257813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 267.113281 173.203125 L 274.75 173.203125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 270.929688 177.019531 L 270.929688 169.382813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.441406 163.328125 L 286.078125 163.328125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 282.257813 167.144531 L 282.257813 159.507813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 292.03125 155.097656 L 299.667969 155.097656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.851563 158.914063 L 295.851563 151.277344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 305.625 143.574219 L 313.261719 143.574219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 309.445313 147.394531 L 309.445313 139.757813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 316.953125 136.992188 L 324.589844 136.992188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.773438 140.808594 L 320.773438 133.171875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.113281 128.761719 L 338.75 128.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.929688 132.582031 L 334.929688 124.941406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 347.539063 118.886719 L 355.175781 118.886719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 351.355469 122.703125 L 351.355469 115.066406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 358.296875 113.949219 L 365.933594 113.949219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 362.117188 117.765625 L 362.117188 110.128906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 367.359375 109.011719 L 374.996094 109.011719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 371.179688 112.828125 L 371.179688 105.191406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.917969 104.074219 L 392.554688 104.074219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.734375 107.890625 L 388.734375 100.253906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.945313 99.136719 L 405.582031 99.136719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401.761719 102.953125 L 401.761719 95.316406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 419.464844 94.195313 L 427.101563 94.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.285156 98.015625 L 423.285156 90.378906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.6875 89.257813 L 450.324219 89.257813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 446.507813 93.078125 L 446.507813 85.441406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 88.4375 L 462.21875 88.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 92.253906 L 458.398438 84.617188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.964844 417.761719 L 78.800781 411.472656 L 82.636719 405.246094 L 86.46875 399.078125 L 90.304688 392.972656 L 94.136719 386.925781 L 97.972656 380.9375 L 101.808594 375.011719 L 105.640625 369.148438 L 109.476563 363.34375 L 113.308594 357.601563 L 117.144531 351.917969 L 120.976563 346.292969 L 124.8125 340.730469 L 128.648438 335.226563 L 132.480469 329.785156 L 136.316406 324.40625 L 140.148438 319.085938 L 143.984375 313.824219 L 147.820313 308.625 L 151.652344 303.484375 L 155.488281 298.40625 L 159.320313 293.390625 L 163.15625 288.429688 L 166.992188 283.535156 L 170.824219 278.695313 L 174.660156 273.921875 L 178.492188 269.203125 L 182.328125 264.550781 L 186.164063 259.953125 L 189.996094 255.421875 L 193.832031 250.945313 L 197.664063 246.535156 L 201.5 242.179688 L 205.332031 237.886719 L 209.167969 233.65625 L 213.003906 229.484375 L 216.835938 225.375 L 220.671875 221.324219 L 224.503906 217.332031 L 228.339844 213.402344 L 232.175781 209.535156 L 236.007813 205.726563 L 239.84375 201.980469 L 243.675781 198.292969 L 247.511719 194.664063 L 251.347656 191.097656 L 255.179688 187.59375 L 259.015625 184.144531 L 262.847656 180.761719 L 266.683594 177.4375 L 270.515625 174.171875 L 274.351563 170.96875 L 278.1875 167.828125 L 282.019531 164.742188 L 285.855469 161.722656 L 289.6875 158.761719 L 293.523438 155.859375 L 297.359375 153.019531 L 301.191406 150.238281 L 305.027344 147.519531 L 308.859375 144.859375 L 312.695313 142.261719 L 316.53125 139.722656 L 320.363281 137.246094 L 324.199219 134.828125 L 328.03125 132.472656 L 331.867188 130.175781 L 335.703125 127.9375 L 339.535156 125.765625 L 343.371094 123.648438 L 347.203125 121.59375 L 351.039063 119.601563 L 354.871094 117.667969 L 358.707031 115.796875 L 362.542969 113.984375 L 366.375 112.230469 L 370.210938 110.539063 L 374.042969 108.910156 L 377.878906 107.339844 L 381.714844 105.828125 L 385.546875 104.378906 L 389.382813 102.992188 L 393.214844 101.664063 L 397.050781 100.394531 L 400.886719 99.1875 L 404.71875 98.039063 L 408.554688 96.953125 L 412.386719 95.925781 L 416.222656 94.960938 L 420.054688 94.058594 L 423.890625 93.210938 L 427.726563 92.429688 L 431.558594 91.707031 L 435.394531 91.042969 L 439.226563 90.441406 L 443.0625 89.898438 L 446.898438 89.417969 L 450.730469 88.996094 L 454.566406 88.632813 L 458.398438 88.335938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="345.361328" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="361" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="371.341797" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="381.349609" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="388.023438" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="412.035156" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="432.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="439.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="445.732422" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="338.6875" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="354.326172" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/>
+  <use xlink:href="#glyph0-16" x="364.667969" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/>
+  <use xlink:href="#glyph0-21" x="374.675781" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="381.349609" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="405.361328" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="425.710938" y="375.496094"/>
+  <use xlink:href="#glyph0-3" x="432.384766" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="439.058594" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="445.732422" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/baffle_fishway_Fatou_slope_15_.svg b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_15_.svg
new file mode 100644
index 000000000..48a1d0ae6
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_15_.svg
@@ -0,0 +1,511 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-21">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-14">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 1.0625 0 L 1.0625 -10.308594 L 8.128906 -10.308594 L 8.128906 -8.5625 L 3.144531 -8.5625 L 3.144531 -6.125 L 7.445313 -6.125 L 7.445313 -4.378906 L 3.144531 -4.378906 L 3.144531 0 Z M 1.0625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-15">
+<path style="stroke:none;" d="M 0.640625 -2.652344 L 2.609375 -2.855469 C 2.660156 -2.40625 2.828125 -2.054688 3.105469 -1.796875 C 3.382813 -1.535156 3.699219 -1.40625 4.0625 -1.40625 C 4.472656 -1.40625 4.824219 -1.570313 5.109375 -1.90625 C 5.394531 -2.238281 5.535156 -2.746094 5.539063 -3.425781 C 5.535156 -4.054688 5.394531 -4.527344 5.113281 -4.847656 C 4.828125 -5.160156 4.460938 -5.320313 4.007813 -5.324219 C 3.4375 -5.320313 2.925781 -5.070313 2.480469 -4.570313 L 0.878906 -4.800781 L 1.890625 -10.167969 L 7.117188 -10.167969 L 7.117188 -8.316406 L 3.390625 -8.316406 L 3.078125 -6.566406 C 3.515625 -6.785156 3.96875 -6.894531 4.429688 -6.898438 C 5.304688 -6.894531 6.046875 -6.578125 6.660156 -5.941406 C 7.265625 -5.300781 7.570313 -4.472656 7.574219 -3.460938 C 7.570313 -2.609375 7.324219 -1.851563 6.835938 -1.1875 C 6.160156 -0.277344 5.230469 0.175781 4.042969 0.175781 C 3.089844 0.175781 2.3125 -0.078125 1.714844 -0.589844 C 1.113281 -1.097656 0.753906 -1.785156 0.640625 -2.652344 Z M 0.640625 -2.652344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-16">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface21">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.398438 404.699219 C 89.398438 408.300781 83.996094 408.300781 83.996094 404.699219 C 83.996094 401.097656 89.398438 401.097656 89.398438 404.699219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.695313 390.871094 C 101.695313 394.46875 96.292969 394.46875 96.292969 390.871094 C 96.292969 387.269531 101.695313 387.269531 101.695313 390.871094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 117.34375 374.449219 C 117.34375 378.046875 111.945313 378.046875 111.945313 374.449219 C 111.945313 370.847656 117.34375 370.847656 117.34375 374.449219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 129.082031 361.484375 C 129.082031 365.082031 123.683594 365.082031 123.683594 361.484375 C 123.683594 357.882813 129.082031 357.882813 129.082031 361.484375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.617188 345.925781 C 143.617188 349.527344 138.214844 349.527344 138.214844 345.925781 C 138.214844 342.324219 143.617188 342.324219 143.617188 345.925781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 158.148438 333.824219 C 158.148438 337.425781 152.746094 337.425781 152.746094 333.824219 C 152.746094 330.226563 158.148438 330.226563 158.148438 333.824219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 173.796875 316.539063 C 173.796875 320.140625 168.398438 320.140625 168.398438 316.539063 C 168.398438 312.9375 173.796875 312.9375 173.796875 316.539063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 188.890625 304.4375 C 188.890625 308.039063 183.492188 308.039063 183.492188 304.4375 C 183.492188 300.839844 188.890625 300.839844 188.890625 304.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.863281 288.878906 C 202.863281 292.480469 197.464844 292.480469 197.464844 288.878906 C 197.464844 285.28125 202.863281 285.28125 202.863281 288.878906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.515625 275.050781 C 218.515625 278.652344 213.113281 278.652344 213.113281 275.050781 C 213.113281 271.453125 218.515625 271.453125 218.515625 275.050781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.929688 262.949219 C 231.929688 266.550781 226.53125 266.550781 226.53125 262.949219 C 226.53125 259.351563 231.929688 259.351563 231.929688 262.949219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 241.992188 252.578125 C 241.992188 256.179688 236.589844 256.179688 236.589844 252.578125 C 236.589844 248.980469 241.992188 248.980469 241.992188 252.578125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.050781 243.9375 C 252.050781 247.535156 246.652344 247.535156 246.652344 243.9375 C 246.652344 240.335938 252.050781 240.335938 252.050781 243.9375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 263.789063 235.292969 C 263.789063 238.890625 258.390625 238.890625 258.390625 235.292969 C 258.390625 231.691406 263.789063 231.691406 263.789063 235.292969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 277.765625 222.328125 C 277.765625 225.925781 272.363281 225.925781 272.363281 222.328125 C 272.363281 218.726563 277.765625 218.726563 277.765625 222.328125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.089844 206.769531 C 295.089844 210.371094 289.691406 210.371094 289.691406 206.769531 C 289.691406 203.167969 295.089844 203.167969 295.089844 206.769531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 307.945313 197.261719 C 307.945313 200.863281 302.546875 200.863281 302.546875 197.261719 C 302.546875 193.664063 307.945313 193.664063 307.945313 197.261719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.242188 186.890625 C 320.242188 190.492188 314.84375 190.492188 314.84375 186.890625 C 314.84375 183.289063 320.242188 183.289063 320.242188 186.890625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.421875 176.519531 C 331.421875 180.117188 326.023438 180.117188 326.023438 176.519531 C 326.023438 172.917969 331.421875 172.917969 331.421875 176.519531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.484375 167.875 C 341.484375 171.476563 336.085938 171.476563 336.085938 167.875 C 336.085938 164.273438 341.484375 164.273438 341.484375 167.875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.105469 160.960938 C 352.105469 164.5625 346.703125 164.5625 346.703125 160.960938 C 346.703125 157.359375 352.105469 157.359375 352.105469 160.960938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 364.402344 152.316406 C 364.402344 155.917969 359 155.917969 359 152.316406 C 359 148.71875 364.402344 148.71875 364.402344 152.316406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 380.050781 139.351563 C 380.050781 142.953125 374.652344 142.953125 374.652344 139.351563 C 374.652344 135.753906 380.050781 135.753906 380.050781 139.351563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.378906 126.386719 C 397.378906 129.988281 391.980469 129.988281 391.980469 126.386719 C 391.980469 122.789063 397.378906 122.789063 397.378906 126.386719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 417.5 112.558594 C 417.5 116.160156 412.101563 116.160156 412.101563 112.558594 C 412.101563 108.957031 417.5 108.957031 417.5 112.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 433.710938 100.457031 C 433.710938 104.058594 428.3125 104.058594 428.3125 100.457031 C 428.3125 96.859375 433.710938 96.859375 433.710938 100.457031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.890625 95.273438 C 444.890625 98.871094 439.492188 98.871094 439.492188 95.273438 C 439.492188 91.671875 444.890625 91.671875 444.890625 95.273438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 83.171875 C 461.101563 86.773438 455.699219 86.773438 455.699219 83.171875 C 455.699219 79.570313 461.101563 79.570313 461.101563 83.171875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.132813 430.558594 L 457.839844 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.132813 430.558594 L 67.132813 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.949219 430.558594 L 122.949219 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.765625 430.558594 L 178.765625 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.578125 430.558594 L 234.578125 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.394531 430.558594 L 290.394531 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.210938 430.558594 L 346.210938 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.027344 430.558594 L 402.027344 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 457.839844 430.558594 L 457.839844 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="55.453125" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="62.126953" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="65.460938" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="72.134766" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="111.269531" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="117.943359" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="121.277344" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="127.951172" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="167.085938" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="173.759766" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="177.09375" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="183.767578" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="222.898438" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="229.572266" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="232.90625" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="239.580078" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="278.714844" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="285.388672" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="288.722656" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="295.396484" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="334.53125" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="341.205078" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="344.539063" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="351.212891" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="390.347656" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="397.021484" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="400.355469" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="407.029297" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="446.160156" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="452.833984" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="456.167969" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="462.841797" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 379.015625 L 59.039063 86.382813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 379.015625 L 51.839844 379.015625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 320.488281 L 51.839844 320.488281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 261.964844 L 51.839844 261.964844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 203.4375 L 51.839844 203.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 144.910156 L 51.839844 144.910156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 86.382813 L 51.839844 86.382813 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="387.355469"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="380.681641"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="377.347656"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="328.828125"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="322.154297"/>
+  <use xlink:href="#glyph1-4" x="41.761719" y="318.820313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="270.304688"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="263.630859"/>
+  <use xlink:href="#glyph1-5" x="41.761719" y="260.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="211.777344"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="205.103516"/>
+  <use xlink:href="#glyph1-6" x="41.761719" y="201.769531"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="153.25"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="146.576172"/>
+  <use xlink:href="#glyph1-1" x="41.761719" y="143.242188"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="94.722656"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="88.048828"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="84.714844"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="190.175781" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="198.971875" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="206.980469" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="211.775781" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="220.571875" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="229.367969" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="233.36875" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="242.164844" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="250.173438" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="254.96875" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="259.764063" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="263.764844" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="271.773438" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="279.782031" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="283.782812" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="293.3875" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="297.388281" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="305.797656" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="309.798437" y="34.675781"/>
+  <use xlink:href="#glyph2-15" x="317.807031" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="325.815625" y="34.675781"/>
+  <use xlink:href="#glyph2-16" x="329.816406" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/>
+  <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.398438 404.699219 C 89.398438 408.300781 83.996094 408.300781 83.996094 404.699219 C 83.996094 401.097656 89.398438 401.097656 89.398438 404.699219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.695313 390.871094 C 101.695313 394.46875 96.292969 394.46875 96.292969 390.871094 C 96.292969 387.269531 101.695313 387.269531 101.695313 390.871094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 117.34375 374.449219 C 117.34375 378.046875 111.945313 378.046875 111.945313 374.449219 C 111.945313 370.847656 117.34375 370.847656 117.34375 374.449219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 129.082031 361.484375 C 129.082031 365.082031 123.683594 365.082031 123.683594 361.484375 C 123.683594 357.882813 129.082031 357.882813 129.082031 361.484375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.617188 345.925781 C 143.617188 349.527344 138.214844 349.527344 138.214844 345.925781 C 138.214844 342.324219 143.617188 342.324219 143.617188 345.925781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 158.148438 333.824219 C 158.148438 337.425781 152.746094 337.425781 152.746094 333.824219 C 152.746094 330.226563 158.148438 330.226563 158.148438 333.824219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 173.796875 316.539063 C 173.796875 320.140625 168.398438 320.140625 168.398438 316.539063 C 168.398438 312.9375 173.796875 312.9375 173.796875 316.539063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 188.890625 304.4375 C 188.890625 308.039063 183.492188 308.039063 183.492188 304.4375 C 183.492188 300.839844 188.890625 300.839844 188.890625 304.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.863281 288.878906 C 202.863281 292.480469 197.464844 292.480469 197.464844 288.878906 C 197.464844 285.28125 202.863281 285.28125 202.863281 288.878906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.515625 275.050781 C 218.515625 278.652344 213.113281 278.652344 213.113281 275.050781 C 213.113281 271.453125 218.515625 271.453125 218.515625 275.050781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.929688 262.949219 C 231.929688 266.550781 226.53125 266.550781 226.53125 262.949219 C 226.53125 259.351563 231.929688 259.351563 231.929688 262.949219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 241.992188 252.578125 C 241.992188 256.179688 236.589844 256.179688 236.589844 252.578125 C 236.589844 248.980469 241.992188 248.980469 241.992188 252.578125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.050781 243.9375 C 252.050781 247.535156 246.652344 247.535156 246.652344 243.9375 C 246.652344 240.335938 252.050781 240.335938 252.050781 243.9375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 263.789063 235.292969 C 263.789063 238.890625 258.390625 238.890625 258.390625 235.292969 C 258.390625 231.691406 263.789063 231.691406 263.789063 235.292969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 277.765625 222.328125 C 277.765625 225.925781 272.363281 225.925781 272.363281 222.328125 C 272.363281 218.726563 277.765625 218.726563 277.765625 222.328125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.089844 206.769531 C 295.089844 210.371094 289.691406 210.371094 289.691406 206.769531 C 289.691406 203.167969 295.089844 203.167969 295.089844 206.769531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 307.945313 197.261719 C 307.945313 200.863281 302.546875 200.863281 302.546875 197.261719 C 302.546875 193.664063 307.945313 193.664063 307.945313 197.261719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.242188 186.890625 C 320.242188 190.492188 314.84375 190.492188 314.84375 186.890625 C 314.84375 183.289063 320.242188 183.289063 320.242188 186.890625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.421875 176.519531 C 331.421875 180.117188 326.023438 180.117188 326.023438 176.519531 C 326.023438 172.917969 331.421875 172.917969 331.421875 176.519531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.484375 167.875 C 341.484375 171.476563 336.085938 171.476563 336.085938 167.875 C 336.085938 164.273438 341.484375 164.273438 341.484375 167.875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.105469 160.960938 C 352.105469 164.5625 346.703125 164.5625 346.703125 160.960938 C 346.703125 157.359375 352.105469 157.359375 352.105469 160.960938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 364.402344 152.316406 C 364.402344 155.917969 359 155.917969 359 152.316406 C 359 148.71875 364.402344 148.71875 364.402344 152.316406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 380.050781 139.351563 C 380.050781 142.953125 374.652344 142.953125 374.652344 139.351563 C 374.652344 135.753906 380.050781 135.753906 380.050781 139.351563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.378906 126.386719 C 397.378906 129.988281 391.980469 129.988281 391.980469 126.386719 C 391.980469 122.789063 397.378906 122.789063 397.378906 126.386719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 417.5 112.558594 C 417.5 116.160156 412.101563 116.160156 412.101563 112.558594 C 412.101563 108.957031 417.5 108.957031 417.5 112.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 433.710938 100.457031 C 433.710938 104.058594 428.3125 104.058594 428.3125 100.457031 C 428.3125 96.859375 433.710938 96.859375 433.710938 100.457031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.890625 95.273438 C 444.890625 98.871094 439.492188 98.871094 439.492188 95.273438 C 439.492188 91.671875 444.890625 91.671875 444.890625 95.273438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 83.171875 C 461.101563 86.773438 455.699219 86.773438 455.699219 83.171875 C 455.699219 79.570313 461.101563 79.570313 461.101563 83.171875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 417.148438 L 78.238281 412.988281 L 82.078125 408.84375 L 85.921875 404.710938 L 89.761719 400.601563 L 93.601563 396.503906 L 97.441406 392.425781 L 101.28125 388.363281 L 105.121094 384.316406 L 108.960938 380.285156 L 112.800781 376.273438 L 116.640625 372.277344 L 120.480469 368.296875 L 124.320313 364.335938 L 128.160156 360.386719 L 132 356.457031 L 135.839844 352.542969 L 139.679688 348.648438 L 143.519531 344.765625 L 147.359375 340.902344 L 151.199219 337.054688 L 155.039063 333.226563 L 158.878906 329.414063 L 162.71875 325.613281 L 166.558594 321.835938 L 170.398438 318.070313 L 174.238281 314.324219 L 178.078125 310.59375 L 181.921875 306.878906 L 185.761719 303.179688 L 189.601563 299.5 L 193.441406 295.835938 L 197.28125 292.1875 L 201.121094 288.554688 L 204.960938 284.941406 L 208.800781 281.34375 L 212.640625 277.761719 L 216.480469 274.195313 L 220.320313 270.648438 L 224.160156 267.117188 L 228 263.601563 L 231.839844 260.101563 L 235.679688 256.621094 L 239.519531 253.15625 L 243.359375 249.707031 L 247.199219 246.273438 L 251.039063 242.859375 L 254.878906 239.460938 L 258.71875 236.078125 L 262.558594 232.710938 L 266.398438 229.363281 L 270.238281 226.027344 L 274.078125 222.710938 L 277.921875 219.414063 L 281.761719 216.128906 L 285.601563 212.863281 L 289.441406 209.613281 L 293.28125 206.382813 L 297.121094 203.164063 L 300.960938 199.964844 L 304.800781 196.78125 L 308.640625 193.613281 L 312.480469 190.464844 L 316.320313 187.332031 L 320.160156 184.214844 L 324 181.113281 L 327.839844 178.03125 L 331.679688 174.964844 L 335.519531 171.914063 L 339.359375 168.878906 L 343.199219 165.863281 L 347.039063 162.859375 L 350.878906 159.875 L 354.71875 156.910156 L 358.558594 153.957031 L 362.398438 151.023438 L 366.238281 148.105469 L 370.078125 145.203125 L 373.921875 142.320313 L 377.761719 139.453125 L 381.601563 136.601563 L 385.441406 133.765625 L 389.28125 130.949219 L 393.121094 128.144531 L 396.960938 125.359375 L 400.800781 122.59375 L 404.640625 119.839844 L 408.480469 117.105469 L 412.320313 114.386719 L 416.160156 111.683594 L 420 109 L 423.839844 106.328125 L 427.679688 103.675781 L 431.519531 101.042969 L 435.359375 98.421875 L 439.199219 95.820313 L 443.039063 93.234375 L 446.878906 90.664063 L 450.71875 88.113281 L 454.558594 85.574219 L 458.398438 83.054688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 80.644531 402.972656 L 88.28125 402.972656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.460938 406.789063 L 84.460938 399.152344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 94.617188 380.5 L 102.253906 380.5 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 98.433594 384.316406 L 98.433594 376.679688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.914063 363.210938 L 114.550781 363.210938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 110.730469 367.03125 L 110.730469 359.394531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.769531 344.195313 L 127.40625 344.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.585938 348.015625 L 123.585938 340.378906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 133.183594 326.910156 L 140.820313 326.910156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 137.003906 330.730469 L 137.003906 323.09375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 147.71875 304.4375 L 155.355469 304.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 151.535156 308.257813 L 151.535156 300.621094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 162.808594 287.152344 L 170.445313 287.152344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.628906 290.96875 L 166.628906 283.332031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.664063 271.59375 L 183.300781 271.59375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 179.484375 275.414063 L 179.484375 267.777344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 187.960938 256.035156 L 195.597656 256.035156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 191.78125 259.855469 L 191.78125 252.21875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 204.730469 238.75 L 212.367188 238.75 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.546875 242.566406 L 208.546875 234.929688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 225.96875 216.277344 L 233.605469 216.277344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 229.789063 220.097656 L 229.789063 212.460938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 241.0625 198.992188 L 248.699219 198.992188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.878906 202.808594 L 244.878906 195.171875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 256.710938 185.160156 L 264.347656 185.160156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 260.53125 188.980469 L 260.53125 181.34375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 272.363281 171.332031 L 280 171.332031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.183594 175.152344 L 276.183594 167.515625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 289.691406 155.773438 L 297.328125 155.773438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 293.507813 159.59375 L 293.507813 151.957031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 308.136719 143.675781 L 315.773438 143.675781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 311.953125 147.492188 L 311.953125 139.855469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 326.582031 129.84375 L 334.21875 129.84375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 330.398438 133.664063 L 330.398438 126.027344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 338.878906 121.203125 L 346.515625 121.203125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 342.695313 125.019531 L 342.695313 117.382813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 353.96875 110.832031 L 361.605469 110.832031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.789063 114.648438 L 357.789063 107.011719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.265625 103.914063 L 373.902344 103.914063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 370.085938 107.734375 L 370.085938 100.097656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 378.5625 98.730469 L 386.199219 98.730469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 382.382813 102.546875 L 382.382813 94.910156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 390.859375 91.816406 L 398.496094 91.816406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 394.679688 95.632813 L 394.679688 87.996094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 409.304688 84.902344 L 416.941406 84.902344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 413.125 88.71875 L 413.125 81.082031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.28125 81.441406 L 430.917969 81.441406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 427.097656 85.261719 L 427.097656 77.625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 435.019531 76.257813 L 442.65625 76.257813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 438.835938 80.074219 L 438.835938 72.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.023438 72.800781 L 461.660156 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 457.839844 76.617188 L 457.839844 68.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 417.757813 L 78.234375 411.726563 L 82.070313 405.75 L 85.902344 399.824219 L 89.738281 393.953125 L 93.570313 388.132813 L 97.40625 382.363281 L 101.242188 376.644531 L 105.074219 370.976563 L 108.910156 365.363281 L 112.742188 359.800781 L 116.578125 354.292969 L 120.414063 348.835938 L 124.246094 343.429688 L 128.082031 338.074219 L 131.917969 332.769531 L 135.75 327.519531 L 139.585938 322.320313 L 143.417969 317.175781 L 147.253906 312.078125 L 151.089844 307.035156 L 154.921875 302.046875 L 158.757813 297.105469 L 162.589844 292.21875 L 166.425781 287.382813 L 170.261719 282.601563 L 174.09375 277.867188 L 177.929688 273.1875 L 181.761719 268.5625 L 185.597656 263.984375 L 189.433594 259.460938 L 193.265625 254.988281 L 197.101563 250.566406 L 200.933594 246.199219 L 204.769531 241.882813 L 208.605469 237.617188 L 212.4375 233.40625 L 216.273438 229.246094 L 220.109375 225.136719 L 223.941406 221.078125 L 227.777344 217.074219 L 231.609375 213.121094 L 235.445313 209.21875 L 239.28125 205.367188 L 243.113281 201.570313 L 246.949219 197.824219 L 250.78125 194.132813 L 254.617188 190.488281 L 258.453125 186.898438 L 262.285156 183.359375 L 266.121094 179.875 L 269.953125 176.441406 L 273.789063 173.058594 L 277.625 169.726563 L 281.457031 166.449219 L 285.292969 163.222656 L 289.128906 160.046875 L 292.960938 156.921875 L 296.796875 153.851563 L 300.628906 150.832031 L 304.464844 147.863281 L 308.300781 144.949219 L 312.132813 142.085938 L 315.96875 139.273438 L 319.800781 136.515625 L 323.636719 133.804688 L 327.472656 131.148438 L 331.304688 128.546875 L 335.140625 125.992188 L 338.972656 123.492188 L 342.808594 121.042969 L 346.644531 118.648438 L 350.476563 116.304688 L 354.3125 114.011719 L 358.144531 111.769531 L 361.980469 109.582031 L 365.816406 107.441406 L 369.648438 105.359375 L 373.484375 103.324219 L 377.320313 101.34375 L 381.152344 99.414063 L 384.988281 97.535156 L 388.820313 95.710938 L 392.65625 93.933594 L 396.492188 92.214844 L 400.324219 90.542969 L 404.160156 88.925781 L 407.992188 87.359375 L 411.828125 85.84375 L 415.664063 84.382813 L 419.496094 82.972656 L 423.332031 81.613281 L 427.164063 80.304688 L 431 79.050781 L 434.835938 77.847656 L 438.667969 76.695313 L 442.503906 75.597656 L 446.335938 74.546875 L 450.171875 73.554688 L 454.007813 72.609375 L 457.839844 71.71875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="345.361328" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="361" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="371.341797" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="381.349609" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="388.023438" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="412.035156" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="432.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="439.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="445.732422" y="346.695313"/>
+  <use xlink:href="#glyph0-20" x="452.40625" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-19" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-3" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="338.6875" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="354.326172" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="364.667969" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="374.675781" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="381.349609" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="405.361328" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="425.710938" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="432.384766" y="375.496094"/>
+  <use xlink:href="#glyph0-21" x="439.058594" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="445.732422" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/baffle_fishway_Fatou_slope_20_.svg b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_20_.svg
new file mode 100644
index 000000000..f51e6fb7e
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_Fatou_slope_20_.svg
@@ -0,0 +1,512 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-21">
+<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-22">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-14">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 1.0625 0 L 1.0625 -10.308594 L 8.128906 -10.308594 L 8.128906 -8.5625 L 3.144531 -8.5625 L 3.144531 -6.125 L 7.445313 -6.125 L 7.445313 -4.378906 L 3.144531 -4.378906 L 3.144531 0 Z M 1.0625 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 7.285156 -1.835938 L 7.285156 0 L 0.359375 0 C 0.429688 -0.691406 0.65625 -1.347656 1.035156 -1.96875 C 1.40625 -2.589844 2.144531 -3.414063 3.253906 -4.445313 C 4.140625 -5.269531 4.6875 -5.832031 4.894531 -6.132813 C 5.160156 -6.535156 5.296875 -6.9375 5.300781 -7.339844 C 5.296875 -7.777344 5.179688 -8.117188 4.945313 -8.355469 C 4.707031 -8.589844 4.378906 -8.707031 3.964844 -8.710938 C 3.550781 -8.707031 3.222656 -8.582031 2.980469 -8.335938 C 2.734375 -8.085938 2.59375 -7.675781 2.558594 -7.101563 L 0.589844 -7.296875 C 0.703125 -8.382813 1.070313 -9.164063 1.691406 -9.640625 C 2.308594 -10.109375 3.082031 -10.347656 4.015625 -10.351563 C 5.027344 -10.347656 5.828125 -10.074219 6.410156 -9.527344 C 6.992188 -8.976563 7.28125 -8.292969 7.285156 -7.480469 C 7.28125 -7.015625 7.199219 -6.574219 7.035156 -6.15625 C 6.867188 -5.734375 6.601563 -5.292969 6.242188 -4.835938 C 6 -4.527344 5.570313 -4.089844 4.949219 -3.519531 C 4.324219 -2.945313 3.929688 -2.566406 3.765625 -2.382813 C 3.597656 -2.191406 3.460938 -2.007813 3.359375 -1.835938 Z M 7.285156 -1.835938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-15">
+<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-16">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface26">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.660156 397.363281 C 77.660156 400.964844 72.257813 400.964844 72.257813 397.363281 C 72.257813 393.765625 77.660156 393.765625 77.660156 397.363281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 98.339844 377.929688 C 98.339844 381.53125 92.941406 381.53125 92.941406 377.929688 C 92.941406 374.328125 98.339844 374.328125 98.339844 377.929688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.433594 360.4375 C 113.433594 364.039063 108.03125 364.039063 108.03125 360.4375 C 108.03125 356.839844 113.433594 356.839844 113.433594 360.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.933594 350.722656 C 122.933594 354.320313 117.535156 354.320313 117.535156 350.722656 C 117.535156 347.121094 122.933594 347.121094 122.933594 350.722656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.671875 339.058594 C 134.671875 342.660156 129.273438 342.660156 129.273438 339.058594 C 129.273438 335.460938 134.671875 335.460938 134.671875 339.058594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.203125 323.511719 C 149.203125 327.113281 143.804688 327.113281 143.804688 323.511719 C 143.804688 319.910156 149.203125 319.910156 149.203125 323.511719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.359375 302.132813 C 174.359375 305.734375 168.957031 305.734375 168.957031 302.132813 C 168.957031 298.535156 174.359375 298.535156 174.359375 302.132813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 193.363281 282.699219 C 193.363281 286.296875 187.960938 286.296875 187.960938 282.699219 C 187.960938 279.097656 193.363281 279.097656 193.363281 282.699219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.453125 269.09375 C 208.453125 272.695313 203.054688 272.695313 203.054688 269.09375 C 203.054688 265.492188 208.453125 265.492188 208.453125 269.09375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.722656 247.714844 C 234.722656 251.316406 229.324219 251.316406 229.324219 247.714844 C 229.324219 244.117188 234.722656 244.117188 234.722656 247.714844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 250.375 230.222656 C 250.375 233.824219 244.976563 233.824219 244.976563 230.222656 C 244.976563 226.625 250.375 226.625 250.375 230.222656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 269.378906 216.621094 C 269.378906 220.21875 263.980469 220.21875 263.980469 216.621094 C 263.980469 213.019531 269.378906 213.019531 269.378906 216.621094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 279.441406 206.902344 C 279.441406 210.5 274.039063 210.5 274.039063 206.902344 C 274.039063 203.300781 279.441406 203.300781 279.441406 206.902344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 296.210938 195.242188 C 296.210938 198.839844 290.808594 198.839844 290.808594 195.242188 C 290.808594 191.640625 296.210938 191.640625 296.210938 195.242188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 316.890625 177.75 C 316.890625 181.347656 311.492188 181.347656 311.492188 177.75 C 311.492188 174.148438 316.890625 174.148438 316.890625 177.75 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.777344 164.144531 C 334.777344 167.746094 329.375 167.746094 329.375 164.144531 C 329.375 160.542969 334.777344 160.542969 334.777344 164.144531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.664063 152.484375 C 352.664063 156.082031 347.261719 156.082031 347.261719 152.484375 C 347.261719 148.882813 352.664063 148.882813 352.664063 152.484375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.078125 142.765625 C 366.078125 146.367188 360.679688 146.367188 360.679688 142.765625 C 360.679688 139.167969 366.078125 139.167969 366.078125 142.765625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 378.933594 133.046875 C 378.933594 136.648438 373.535156 136.648438 373.535156 133.046875 C 373.535156 129.449219 378.933594 129.449219 378.933594 133.046875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 391.230469 125.273438 C 391.230469 128.875 385.832031 128.875 385.832031 125.273438 C 385.832031 121.675781 391.230469 121.675781 391.230469 125.273438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.765625 114.585938 C 405.765625 118.183594 400.363281 118.183594 400.363281 114.585938 C 400.363281 110.984375 405.765625 110.984375 405.765625 114.585938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 425.328125 101.953125 C 425.328125 105.550781 419.925781 105.550781 419.925781 101.953125 C 419.925781 98.351563 425.328125 98.351563 425.328125 101.953125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.332031 88.347656 C 444.332031 91.949219 438.929688 91.949219 438.929688 88.347656 C 438.929688 84.746094 444.332031 84.746094 444.332031 88.347656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 78.628906 C 461.101563 82.230469 455.699219 82.230469 455.699219 78.628906 C 455.699219 75.03125 461.101563 75.03125 461.101563 78.628906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 66.855469 430.558594 L 458.398438 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 66.855469 430.558594 L 66.855469 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.789063 430.558594 L 122.789063 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.722656 430.558594 L 178.722656 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.660156 430.558594 L 234.660156 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.59375 430.558594 L 290.59375 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.53125 430.558594 L 346.53125 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.464844 430.558594 L 402.464844 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 430.558594 L 458.398438 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="55.175781" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="61.849609" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="65.183594" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="71.857422" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="111.109375" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="117.783203" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="121.117188" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="127.791016" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="167.042969" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="173.716797" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="177.050781" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="183.724609" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="222.980469" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="229.654297" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="232.988281" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="239.662109" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="278.914063" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="285.587891" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="288.921875" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="295.595703" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="334.851563" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="341.525391" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="344.859375" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="351.533203" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="390.785156" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="397.458984" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="400.792969" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="407.466797" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="446.71875" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="453.392578" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="456.726563" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="463.400391" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 423.601563 L 59.039063 78.144531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 423.601563 L 51.839844 423.601563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 366.027344 L 51.839844 366.027344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 308.449219 L 51.839844 308.449219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 250.875 L 51.839844 250.875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 193.296875 L 51.839844 193.296875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 135.722656 L 51.839844 135.722656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 78.144531 L 51.839844 78.144531 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="431.941406"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="425.267578"/>
+  <use xlink:href="#glyph1-1" x="41.761719" y="421.933594"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="374.367188"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="367.693359"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="364.359375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="316.789063"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="310.115234"/>
+  <use xlink:href="#glyph1-4" x="41.761719" y="306.78125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="259.214844"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="252.541016"/>
+  <use xlink:href="#glyph1-5" x="41.761719" y="249.207031"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="201.636719"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="194.962891"/>
+  <use xlink:href="#glyph1-6" x="41.761719" y="191.628906"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="144.0625"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="137.388672"/>
+  <use xlink:href="#glyph1-1" x="41.761719" y="134.054688"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="86.484375"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="79.810547"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="76.476563"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="190.175781" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="198.971875" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="206.980469" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="211.775781" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="220.571875" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="229.367969" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="233.36875" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="242.164844" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="250.173438" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="254.96875" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="259.764063" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="263.764844" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="271.773438" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="279.782031" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="283.782812" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="293.3875" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="297.388281" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="305.797656" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="309.798437" y="34.675781"/>
+  <use xlink:href="#glyph2-15" x="317.807031" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="325.815625" y="34.675781"/>
+  <use xlink:href="#glyph2-16" x="329.816406" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/>
+  <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.660156 397.363281 C 77.660156 400.964844 72.257813 400.964844 72.257813 397.363281 C 72.257813 393.765625 77.660156 393.765625 77.660156 397.363281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 98.339844 377.929688 C 98.339844 381.53125 92.941406 381.53125 92.941406 377.929688 C 92.941406 374.328125 98.339844 374.328125 98.339844 377.929688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.433594 360.4375 C 113.433594 364.039063 108.03125 364.039063 108.03125 360.4375 C 108.03125 356.839844 113.433594 356.839844 113.433594 360.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.933594 350.722656 C 122.933594 354.320313 117.535156 354.320313 117.535156 350.722656 C 117.535156 347.121094 122.933594 347.121094 122.933594 350.722656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.671875 339.058594 C 134.671875 342.660156 129.273438 342.660156 129.273438 339.058594 C 129.273438 335.460938 134.671875 335.460938 134.671875 339.058594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.203125 323.511719 C 149.203125 327.113281 143.804688 327.113281 143.804688 323.511719 C 143.804688 319.910156 149.203125 319.910156 149.203125 323.511719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.359375 302.132813 C 174.359375 305.734375 168.957031 305.734375 168.957031 302.132813 C 168.957031 298.535156 174.359375 298.535156 174.359375 302.132813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 193.363281 282.699219 C 193.363281 286.296875 187.960938 286.296875 187.960938 282.699219 C 187.960938 279.097656 193.363281 279.097656 193.363281 282.699219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.453125 269.09375 C 208.453125 272.695313 203.054688 272.695313 203.054688 269.09375 C 203.054688 265.492188 208.453125 265.492188 208.453125 269.09375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.722656 247.714844 C 234.722656 251.316406 229.324219 251.316406 229.324219 247.714844 C 229.324219 244.117188 234.722656 244.117188 234.722656 247.714844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 250.375 230.222656 C 250.375 233.824219 244.976563 233.824219 244.976563 230.222656 C 244.976563 226.625 250.375 226.625 250.375 230.222656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 269.378906 216.621094 C 269.378906 220.21875 263.980469 220.21875 263.980469 216.621094 C 263.980469 213.019531 269.378906 213.019531 269.378906 216.621094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 279.441406 206.902344 C 279.441406 210.5 274.039063 210.5 274.039063 206.902344 C 274.039063 203.300781 279.441406 203.300781 279.441406 206.902344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 296.210938 195.242188 C 296.210938 198.839844 290.808594 198.839844 290.808594 195.242188 C 290.808594 191.640625 296.210938 191.640625 296.210938 195.242188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 316.890625 177.75 C 316.890625 181.347656 311.492188 181.347656 311.492188 177.75 C 311.492188 174.148438 316.890625 174.148438 316.890625 177.75 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 334.777344 164.144531 C 334.777344 167.746094 329.375 167.746094 329.375 164.144531 C 329.375 160.542969 334.777344 160.542969 334.777344 164.144531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.664063 152.484375 C 352.664063 156.082031 347.261719 156.082031 347.261719 152.484375 C 347.261719 148.882813 352.664063 148.882813 352.664063 152.484375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 366.078125 142.765625 C 366.078125 146.367188 360.679688 146.367188 360.679688 142.765625 C 360.679688 139.167969 366.078125 139.167969 366.078125 142.765625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 378.933594 133.046875 C 378.933594 136.648438 373.535156 136.648438 373.535156 133.046875 C 373.535156 129.449219 378.933594 129.449219 378.933594 133.046875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 391.230469 125.273438 C 391.230469 128.875 385.832031 128.875 385.832031 125.273438 C 385.832031 121.675781 391.230469 121.675781 391.230469 125.273438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.765625 114.585938 C 405.765625 118.183594 400.363281 118.183594 400.363281 114.585938 C 400.363281 110.984375 405.765625 110.984375 405.765625 114.585938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 425.328125 101.953125 C 425.328125 105.550781 419.925781 105.550781 419.925781 101.953125 C 419.925781 98.351563 425.328125 98.351563 425.328125 101.953125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.332031 88.347656 C 444.332031 91.949219 438.929688 91.949219 438.929688 88.347656 C 438.929688 84.746094 444.332031 84.746094 444.332031 88.347656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 78.628906 C 461.101563 82.230469 455.699219 82.230469 455.699219 78.628906 C 455.699219 75.03125 461.101563 75.03125 461.101563 78.628906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.957031 397.792969 L 78.792969 393.734375 L 82.628906 389.695313 L 86.460938 385.671875 L 90.296875 381.664063 L 94.132813 377.675781 L 97.964844 373.707031 L 101.800781 369.753906 L 105.632813 365.820313 L 109.46875 361.902344 L 113.304688 358 L 117.136719 354.117188 L 120.972656 350.253906 L 124.804688 346.40625 L 128.640625 342.578125 L 132.476563 338.765625 L 136.308594 334.972656 L 140.144531 331.195313 L 143.976563 327.4375 L 147.8125 323.695313 L 151.648438 319.972656 L 155.480469 316.265625 L 159.316406 312.578125 L 163.152344 308.910156 L 166.984375 305.257813 L 170.820313 301.621094 L 174.652344 298.003906 L 178.488281 294.402344 L 182.324219 290.820313 L 186.15625 287.257813 L 189.992188 283.710938 L 193.824219 280.179688 L 197.660156 276.667969 L 201.496094 273.175781 L 205.328125 269.699219 L 209.164063 266.242188 L 212.996094 262.800781 L 216.832031 259.375 L 220.667969 255.96875 L 224.5 252.582031 L 228.335938 249.210938 L 232.167969 245.859375 L 236.003906 242.523438 L 239.839844 239.207031 L 243.671875 235.90625 L 247.507813 232.625 L 251.34375 229.359375 L 255.175781 226.113281 L 259.011719 222.882813 L 262.84375 219.671875 L 266.679688 216.480469 L 270.515625 213.304688 L 274.347656 210.144531 L 278.183594 207.003906 L 282.015625 203.878906 L 285.851563 200.773438 L 289.6875 197.6875 L 293.519531 194.617188 L 297.355469 191.5625 L 301.1875 188.527344 L 305.023438 185.511719 L 308.859375 182.511719 L 312.691406 179.53125 L 316.527344 176.566406 L 320.359375 173.617188 L 324.195313 170.6875 L 328.03125 167.777344 L 331.863281 164.882813 L 335.699219 162.007813 L 339.535156 159.148438 L 343.367188 156.308594 L 347.203125 153.484375 L 351.035156 150.679688 L 354.871094 147.890625 L 358.707031 145.121094 L 362.539063 142.367188 L 366.375 139.632813 L 370.207031 136.917969 L 374.042969 134.214844 L 377.878906 131.535156 L 381.710938 128.871094 L 385.546875 126.222656 L 389.378906 123.59375 L 393.214844 120.984375 L 397.050781 118.390625 L 400.882813 115.8125 L 404.71875 113.253906 L 408.550781 110.714844 L 412.386719 108.191406 L 416.222656 105.683594 L 420.054688 103.195313 L 423.890625 100.726563 L 427.726563 98.273438 L 431.558594 95.839844 L 435.394531 93.421875 L 439.226563 91.023438 L 443.0625 88.640625 L 446.898438 86.277344 L 450.730469 83.929688 L 454.566406 81.601563 L 458.398438 79.289063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 81.203125 401.253906 L 88.839844 401.253906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 85.019531 405.070313 L 85.019531 397.433594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 94.058594 381.816406 L 101.695313 381.816406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.875 385.636719 L 97.875 378 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 110.824219 360.4375 L 118.464844 360.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.644531 364.257813 L 114.644531 356.621094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.804688 319.625 L 151.441406 319.625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 147.621094 323.441406 L 147.621094 315.804688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 158.894531 302.132813 L 166.53125 302.132813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 162.714844 305.953125 L 162.714844 298.316406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.546875 282.699219 L 182.183594 282.699219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.363281 286.515625 L 178.363281 278.878906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.078125 265.207031 L 196.714844 265.207031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 192.898438 269.023438 L 192.898438 261.386719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 204.171875 251.601563 L 211.808594 251.601563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.988281 255.421875 L 207.988281 247.785156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.144531 234.109375 L 225.78125 234.109375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 221.964844 237.929688 L 221.964844 230.292969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 230.441406 222.449219 L 238.078125 222.449219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.261719 226.269531 L 234.261719 218.632813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.976563 208.84375 L 252.613281 208.84375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 248.792969 212.664063 L 248.792969 205.027344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 257.273438 197.183594 L 264.910156 197.183594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 261.089844 201.003906 L 261.089844 193.367188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.214844 189.410156 L 273.851563 189.410156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 270.03125 193.230469 L 270.03125 185.589844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 277.953125 179.691406 L 285.589844 179.691406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.769531 183.511719 L 281.769531 175.875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 293.042969 168.03125 L 300.679688 168.03125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 296.863281 171.851563 L 296.863281 164.214844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 308.136719 156.371094 L 315.773438 156.371094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 311.953125 160.1875 L 311.953125 152.550781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 327.140625 140.824219 L 334.777344 140.824219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 330.957031 144.640625 L 330.957031 137.003906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.671875 131.105469 L 349.308594 131.105469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 345.492188 134.921875 L 345.492188 127.285156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 353.96875 123.332031 L 361.605469 123.332031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.789063 127.148438 L 357.789063 119.511719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 368.503906 113.613281 L 376.140625 113.613281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 372.320313 117.433594 L 372.320313 109.796875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 381.917969 105.839844 L 389.554688 105.839844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 385.734375 109.65625 L 385.734375 102.019531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.007813 98.066406 L 404.644531 98.066406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 400.828125 101.882813 L 400.828125 94.246094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.660156 88.347656 L 420.296875 88.347656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 416.480469 92.167969 L 416.480469 84.53125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.28125 86.40625 L 430.917969 86.40625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 427.097656 90.222656 L 427.097656 82.585938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 435.019531 80.574219 L 442.65625 80.574219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 438.835938 84.390625 L 438.835938 76.753906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 449.550781 74.742188 L 457.1875 74.742188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 453.371094 78.5625 L 453.371094 70.925781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 72.800781 L 462.21875 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 76.617188 L 458.398438 68.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 416.125 L 78.238281 410.652344 L 82.078125 405.222656 L 85.921875 399.835938 L 89.761719 394.488281 L 93.601563 389.183594 L 97.441406 383.917969 L 101.28125 378.691406 L 105.121094 373.511719 L 108.960938 368.367188 L 112.800781 363.269531 L 116.640625 358.207031 L 120.480469 353.191406 L 124.320313 348.214844 L 128.160156 343.277344 L 132 338.382813 L 135.839844 333.53125 L 139.679688 328.71875 L 143.519531 323.945313 L 147.359375 319.214844 L 151.199219 314.527344 L 155.039063 309.878906 L 158.878906 305.273438 L 162.71875 300.707031 L 166.558594 296.183594 L 170.398438 291.699219 L 174.238281 287.257813 L 178.078125 282.855469 L 181.921875 278.496094 L 185.761719 274.179688 L 189.601563 269.902344 L 193.441406 265.664063 L 197.28125 261.46875 L 201.121094 257.316406 L 204.960938 253.203125 L 208.800781 249.132813 L 212.640625 245.101563 L 216.480469 241.113281 L 220.320313 237.164063 L 224.160156 233.257813 L 228 229.390625 L 231.839844 225.566406 L 235.679688 221.78125 L 239.519531 218.039063 L 243.359375 214.339844 L 247.199219 210.679688 L 251.039063 207.0625 L 254.878906 203.484375 L 258.71875 199.945313 L 262.558594 196.449219 L 266.398438 192.996094 L 270.238281 189.582031 L 274.078125 186.210938 L 277.921875 182.882813 L 281.761719 179.589844 L 285.601563 176.34375 L 289.441406 173.136719 L 293.28125 169.96875 L 297.121094 166.84375 L 300.960938 163.761719 L 304.800781 160.71875 L 308.640625 157.714844 L 312.480469 154.757813 L 316.320313 151.835938 L 320.160156 148.957031 L 324 146.121094 L 327.839844 143.328125 L 331.679688 140.570313 L 335.519531 137.859375 L 339.359375 135.1875 L 343.199219 132.554688 L 347.039063 129.964844 L 350.878906 127.417969 L 354.71875 124.910156 L 358.558594 122.441406 L 362.398438 120.015625 L 366.238281 117.632813 L 370.078125 115.289063 L 373.921875 112.988281 L 377.761719 110.726563 L 381.601563 108.507813 L 385.441406 106.328125 L 389.28125 104.191406 L 393.121094 102.09375 L 396.960938 100.039063 L 400.800781 98.027344 L 404.640625 96.054688 L 408.480469 94.121094 L 412.320313 92.234375 L 416.160156 90.382813 L 420 88.574219 L 423.839844 86.808594 L 427.679688 85.082031 L 431.519531 83.398438 L 435.359375 81.753906 L 439.199219 80.152344 L 443.039063 78.59375 L 446.878906 77.070313 L 450.71875 75.59375 L 454.558594 74.15625 L 458.398438 72.757813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="345.361328" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="361" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="371.341797" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="381.349609" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="388.023438" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="412.035156" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="432.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="439.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-20" x="445.732422" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="452.40625" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-16" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-21" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="338.6875" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="354.326172" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/>
+  <use xlink:href="#glyph0-3" x="364.667969" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/>
+  <use xlink:href="#glyph0-16" x="374.675781" y="375.496094"/>
+  <use xlink:href="#glyph0-19" x="381.349609" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="405.361328" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="409.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="412.691406" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="419.365234" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="422.699219" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="429.373047" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="436.046875" y="375.496094"/>
+  <use xlink:href="#glyph0-22" x="442.720703" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/baffle_fishway_mixte_slope_10_.svg b/docs/fr/calculators/par/baffle_fishway_mixte_slope_10_.svg
new file mode 100644
index 000000000..75af2bf58
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_mixte_slope_10_.svg
@@ -0,0 +1,459 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 4.757813 2.382813 L 4.757813 -0.664063 C 4.59375 -0.429688 4.363281 -0.238281 4.066406 -0.0859375 C 3.769531 0.0664063 3.457031 0.140625 3.128906 0.140625 C 2.390625 0.140625 1.753906 -0.152344 1.222656 -0.742188 C 0.6875 -1.332031 0.421875 -2.140625 0.421875 -3.171875 C 0.421875 -3.792969 0.527344 -4.355469 0.746094 -4.851563 C 0.957031 -5.34375 1.273438 -5.71875 1.6875 -5.976563 C 2.101563 -6.234375 2.554688 -6.363281 3.046875 -6.363281 C 3.816406 -6.363281 4.421875 -6.039063 4.863281 -5.390625 L 4.863281 -6.222656 L 5.8125 -6.222656 L 5.8125 2.382813 Z M 1.507813 -3.128906 C 1.503906 -2.328125 1.671875 -1.726563 2.011719 -1.328125 C 2.34375 -0.925781 2.746094 -0.726563 3.21875 -0.726563 C 3.664063 -0.726563 4.050781 -0.914063 4.375 -1.296875 C 4.699219 -1.671875 4.863281 -2.253906 4.863281 -3.035156 C 4.863281 -3.863281 4.691406 -4.484375 4.347656 -4.902344 C 4.003906 -5.320313 3.601563 -5.53125 3.148438 -5.53125 C 2.6875 -5.53125 2.300781 -5.335938 1.984375 -4.949219 C 1.664063 -4.558594 1.503906 -3.953125 1.507813 -3.128906 Z M 1.507813 -3.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-21">
+<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M -2.265625 -0.503906 L -2.40625 -1.558594 C -1.808594 -1.679688 -1.378906 -1.882813 -1.113281 -2.175781 C -0.847656 -2.464844 -0.714844 -2.820313 -0.71875 -3.242188 C -0.714844 -3.734375 -0.886719 -4.152344 -1.234375 -4.496094 C -1.574219 -4.832031 -2 -5.003906 -2.511719 -5.007813 C -2.992188 -5.003906 -3.390625 -4.847656 -3.710938 -4.535156 C -4.023438 -4.21875 -4.183594 -3.816406 -4.183594 -3.328125 C -4.183594 -3.128906 -4.144531 -2.878906 -4.066406 -2.585938 L -4.992188 -2.703125 C -4.984375 -2.769531 -4.980469 -2.828125 -4.980469 -2.871094 C -4.980469 -3.320313 -5.097656 -3.722656 -5.332031 -4.085938 C -5.566406 -4.441406 -5.925781 -4.621094 -6.414063 -4.625 C -6.800781 -4.621094 -7.121094 -4.492188 -7.375 -4.230469 C -7.628906 -3.96875 -7.757813 -3.628906 -7.757813 -3.21875 C -7.757813 -2.804688 -7.628906 -2.464844 -7.371094 -2.191406 C -7.113281 -1.917969 -6.726563 -1.742188 -6.210938 -1.664063 L -6.398438 -0.609375 C -7.105469 -0.738281 -7.652344 -1.03125 -8.042969 -1.488281 C -8.429688 -1.945313 -8.625 -2.511719 -8.625 -3.195313 C -8.625 -3.660156 -8.523438 -4.09375 -8.324219 -4.488281 C -8.121094 -4.882813 -7.847656 -5.183594 -7.5 -5.394531 C -7.148438 -5.601563 -6.777344 -5.707031 -6.390625 -5.707031 C -6.019531 -5.707031 -5.683594 -5.605469 -5.378906 -5.40625 C -5.074219 -5.207031 -4.832031 -4.914063 -4.652344 -4.523438 C -4.535156 -5.03125 -4.289063 -5.425781 -3.921875 -5.707031 C -3.546875 -5.988281 -3.085938 -6.128906 -2.535156 -6.128906 C -1.78125 -6.128906 -1.144531 -5.855469 -0.628906 -5.308594 C -0.105469 -4.761719 0.152344 -4.070313 0.152344 -3.234375 C 0.152344 -2.476563 -0.0703125 -1.847656 -0.519531 -1.355469 C -0.96875 -0.855469 -1.550781 -0.574219 -2.265625 -0.503906 Z M -2.265625 -0.503906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M -2.25 -0.5 L -2.34375 -1.605469 C -1.804688 -1.683594 -1.398438 -1.871094 -1.125 -2.175781 C -0.851563 -2.472656 -0.714844 -2.835938 -0.71875 -3.257813 C -0.714844 -3.765625 -0.90625 -4.195313 -1.292969 -4.546875 C -1.671875 -4.898438 -2.179688 -5.074219 -2.816406 -5.074219 C -3.414063 -5.074219 -3.890625 -4.902344 -4.242188 -4.566406 C -4.589844 -4.226563 -4.761719 -3.785156 -4.765625 -3.242188 C -4.761719 -2.898438 -4.683594 -2.59375 -4.53125 -2.320313 C -4.375 -2.046875 -4.175781 -1.832031 -3.929688 -1.675781 L -4.0625 -0.6875 L -8.472656 -1.519531 L -8.472656 -5.789063 L -7.464844 -5.789063 L -7.464844 -2.363281 L -5.15625 -1.898438 C -5.515625 -2.414063 -5.695313 -2.953125 -5.695313 -3.523438 C -5.695313 -4.269531 -5.433594 -4.902344 -4.914063 -5.421875 C -4.394531 -5.933594 -3.726563 -6.191406 -2.910156 -6.195313 C -2.132813 -6.191406 -1.460938 -5.964844 -0.894531 -5.515625 C -0.199219 -4.960938 0.144531 -4.210938 0.148438 -3.257813 C 0.144531 -2.476563 -0.0703125 -1.835938 -0.507813 -1.34375 C -0.941406 -0.847656 -1.523438 -0.566406 -2.25 -0.5 Z M -2.25 -0.5 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M -7.464844 -0.570313 L -8.476563 -0.570313 L -8.476563 -6.128906 L -7.65625 -6.128906 C -7.074219 -5.582031 -6.300781 -5.039063 -5.335938 -4.503906 C -4.371094 -3.964844 -3.378906 -3.550781 -2.359375 -3.257813 C -1.636719 -3.046875 -0.851563 -2.910156 0 -2.851563 L 0 -1.769531 C -0.675781 -1.78125 -1.492188 -1.914063 -2.449219 -2.167969 C -3.402344 -2.421875 -4.324219 -2.785156 -5.214844 -3.261719 C -6.105469 -3.734375 -6.855469 -4.238281 -7.464844 -4.777344 Z M -7.464844 -0.570313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 7.644531 -3.789063 L 9.660156 -3.148438 C 9.347656 -2.019531 8.832031 -1.183594 8.117188 -0.640625 C 7.394531 -0.09375 6.484375 0.175781 5.378906 0.175781 C 4.007813 0.175781 2.882813 -0.289063 2.003906 -1.226563 C 1.121094 -2.15625 0.679688 -3.4375 0.683594 -5.0625 C 0.679688 -6.777344 1.121094 -8.109375 2.011719 -9.058594 C 2.894531 -10.007813 4.058594 -10.480469 5.503906 -10.484375 C 6.761719 -10.480469 7.789063 -10.109375 8.578125 -9.367188 C 9.046875 -8.921875 9.398438 -8.289063 9.632813 -7.46875 L 7.574219 -6.976563 C 7.449219 -7.507813 7.195313 -7.929688 6.808594 -8.238281 C 6.421875 -8.546875 5.949219 -8.699219 5.398438 -8.703125 C 4.632813 -8.699219 4.015625 -8.425781 3.539063 -7.878906 C 3.0625 -7.328125 2.824219 -6.441406 2.828125 -5.21875 C 2.824219 -3.910156 3.058594 -2.980469 3.53125 -2.429688 C 3.996094 -1.875 4.605469 -1.597656 5.359375 -1.601563 C 5.910156 -1.597656 6.386719 -1.773438 6.785156 -2.128906 C 7.183594 -2.476563 7.46875 -3.03125 7.644531 -3.789063 Z M 7.644531 -3.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 3.003906 -10.308594 L 3.003906 -6.519531 C 3.636719 -7.261719 4.398438 -7.632813 5.289063 -7.636719 C 5.738281 -7.632813 6.148438 -7.550781 6.515625 -7.382813 C 6.882813 -7.210938 7.15625 -6.992188 7.34375 -6.734375 C 7.523438 -6.46875 7.652344 -6.179688 7.722656 -5.863281 C 7.789063 -5.542969 7.820313 -5.046875 7.824219 -4.378906 L 7.824219 0 L 5.851563 0 L 5.851563 -3.945313 C 5.847656 -4.722656 5.808594 -5.21875 5.738281 -5.433594 C 5.660156 -5.640625 5.527344 -5.808594 5.339844 -5.9375 C 5.144531 -6.058594 4.90625 -6.121094 4.625 -6.125 C 4.292969 -6.121094 4 -6.042969 3.746094 -5.882813 C 3.484375 -5.722656 3.296875 -5.480469 3.179688 -5.164063 C 3.058594 -4.839844 3 -4.367188 3.003906 -3.742188 L 3.003906 0 L 1.027344 0 L 1.027344 -10.308594 Z M 3.003906 -10.308594 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 3.085938 0 L 0.078125 -7.46875 L 2.152344 -7.46875 L 3.558594 -3.65625 L 3.964844 -2.382813 C 4.070313 -2.703125 4.136719 -2.917969 4.167969 -3.023438 C 4.230469 -3.234375 4.300781 -3.445313 4.378906 -3.65625 L 5.800781 -7.46875 L 7.832031 -7.46875 L 4.867188 0 Z M 3.085938 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 2.925781 0 L 0.949219 0 L 0.949219 -7.46875 L 2.785156 -7.46875 L 2.785156 -6.40625 C 3.09375 -6.902344 3.375 -7.234375 3.628906 -7.394531 C 3.878906 -7.554688 4.164063 -7.632813 4.484375 -7.636719 C 4.929688 -7.632813 5.363281 -7.507813 5.785156 -7.261719 L 5.175781 -5.539063 C 4.839844 -5.75 4.53125 -5.859375 4.246094 -5.863281 C 3.96875 -5.859375 3.734375 -5.78125 3.542969 -5.632813 C 3.347656 -5.476563 3.195313 -5.203125 3.089844 -4.808594 C 2.976563 -4.40625 2.921875 -3.570313 2.925781 -2.304688 Z M 2.925781 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-15">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-16">
+<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-17">
+<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-18">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface41">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 383.480469 C 77.101563 387.082031 71.699219 387.082031 71.699219 383.480469 C 71.699219 379.878906 77.101563 379.878906 77.101563 383.480469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 93.566406 367.761719 C 93.566406 371.359375 88.167969 371.359375 88.167969 367.761719 C 88.167969 364.160156 93.566406 364.160156 93.566406 367.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.082031 355.535156 C 106.082031 359.132813 100.679688 359.132813 100.679688 355.535156 C 100.679688 351.933594 106.082031 351.933594 106.082031 355.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 127.816406 335.449219 C 127.816406 339.050781 122.417969 339.050781 122.417969 335.449219 C 122.417969 331.851563 127.816406 331.851563 127.816406 335.449219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.625 320.605469 C 143.625 324.203125 138.226563 324.203125 138.226563 320.605469 C 138.226563 317.003906 143.625 317.003906 143.625 320.605469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.089844 304.886719 C 160.089844 308.484375 154.691406 308.484375 154.691406 304.886719 C 154.691406 301.285156 160.089844 301.285156 160.089844 304.886719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.582031 292.664063 C 174.582031 296.265625 169.183594 296.265625 169.183594 292.664063 C 169.183594 289.066406 174.582031 289.066406 174.582031 292.664063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 185.121094 282.183594 C 185.121094 285.785156 179.71875 285.785156 179.71875 282.183594 C 179.71875 278.582031 185.121094 278.582031 185.121094 282.183594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 198.292969 269.957031 C 198.292969 273.558594 192.894531 273.558594 192.894531 269.957031 C 192.894531 266.359375 198.292969 266.359375 198.292969 269.957031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 210.148438 261.234375 C 210.148438 264.835938 204.75 264.835938 204.75 261.234375 C 204.75 257.636719 210.148438 257.636719 210.148438 261.234375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.003906 249.003906 C 222.003906 252.605469 216.605469 252.605469 216.605469 249.003906 C 216.605469 245.40625 222.003906 245.40625 222.003906 249.003906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 236.496094 238.539063 C 236.496094 242.140625 231.097656 242.140625 231.097656 238.539063 C 231.097656 234.9375 236.496094 234.9375 236.496094 238.539063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.304688 224.570313 C 252.304688 228.171875 246.902344 228.171875 246.902344 224.570313 C 246.902344 220.96875 252.304688 220.96875 252.304688 224.570313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 268.769531 212.359375 C 268.769531 215.957031 263.371094 215.957031 263.371094 212.359375 C 263.371094 208.757813 268.769531 208.757813 268.769531 212.359375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 283.917969 200.140625 C 283.917969 203.738281 278.519531 203.738281 278.519531 200.140625 C 278.519531 196.539063 283.917969 196.539063 283.917969 200.140625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 303.019531 184.429688 C 303.019531 188.03125 297.621094 188.03125 297.621094 184.429688 C 297.621094 180.832031 303.019531 180.832031 303.019531 184.429688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 317.511719 173.964844 C 317.511719 177.5625 312.113281 177.5625 312.113281 173.964844 C 312.113281 170.363281 317.511719 170.363281 317.511719 173.964844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 342.539063 154.769531 C 342.539063 158.371094 337.140625 158.371094 337.140625 154.769531 C 337.140625 151.167969 342.539063 151.167969 342.539063 154.769531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.691406 143.429688 C 357.691406 147.027344 352.289063 147.027344 352.289063 143.429688 C 352.289063 139.828125 357.691406 139.828125 357.691406 143.429688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 375.472656 130.34375 C 375.472656 133.945313 370.074219 133.945313 370.074219 130.34375 C 370.074219 126.742188 375.472656 126.742188 375.472656 130.34375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 393.257813 118.136719 C 393.257813 121.734375 387.859375 121.734375 387.859375 118.136719 C 387.859375 114.535156 393.257813 114.535156 393.257813 118.136719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414.992188 104.191406 C 414.992188 107.789063 409.59375 107.789063 409.59375 104.191406 C 409.59375 100.589844 414.992188 100.589844 414.992188 104.191406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.753906 90.234375 C 434.753906 93.835938 429.355469 93.835938 429.355469 90.234375 C 429.355469 86.636719 434.753906 86.636719 434.753906 90.234375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 447.269531 83.269531 C 447.269531 86.867188 441.867188 86.867188 441.867188 83.269531 C 441.867188 79.667969 447.269531 79.667969 447.269531 83.269531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.460938 430.558594 L 453.351563 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.460938 430.558594 L 142.460938 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 246.089844 430.558594 L 246.089844 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 349.722656 430.558594 L 349.722656 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 453.351563 430.558594 L 453.351563 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="139.125" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="242.753906" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="346.386719" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="450.015625" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 378.035156 L 59.039063 62.402344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 378.035156 L 51.839844 378.035156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 325.429688 L 51.839844 325.429688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 272.824219 L 51.839844 272.824219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 220.21875 L 51.839844 220.21875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 167.613281 L 51.839844 167.613281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 115.007813 L 51.839844 115.007813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 62.402344 L 51.839844 62.402344 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="381.371094"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-2" x="41.761719" y="328.765625"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-3" x="41.761719" y="276.160156"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-4" x="41.761719" y="223.554688"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-5" x="41.761719" y="170.949219"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-6" x="41.761719" y="118.34375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="65.738281"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="176.5625" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="186.961719" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="195.757813" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="203.766406" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="211.775" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="217.378906" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="226.175" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="234.971094" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="242.979687" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="246.980469" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="255.776562" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="263.785156" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="268.580469" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="273.375781" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="277.376563" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="285.385156" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="293.39375" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="297.394531" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="306.999219" y="34.675781"/>
+  <use xlink:href="#glyph2-15" x="311" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="319.409375" y="34.675781"/>
+  <use xlink:href="#glyph2-16" x="323.410156" y="34.675781"/>
+  <use xlink:href="#glyph2-17" x="331.41875" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="339.427344" y="34.675781"/>
+  <use xlink:href="#glyph2-18" x="343.428125" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="260.726563" y="485.28125"/>
+  <use xlink:href="#glyph0-6" x="267.400391" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-13" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 383.480469 C 77.101563 387.082031 71.699219 387.082031 71.699219 383.480469 C 71.699219 379.878906 77.101563 379.878906 77.101563 383.480469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 93.566406 367.761719 C 93.566406 371.359375 88.167969 371.359375 88.167969 367.761719 C 88.167969 364.160156 93.566406 364.160156 93.566406 367.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.082031 355.535156 C 106.082031 359.132813 100.679688 359.132813 100.679688 355.535156 C 100.679688 351.933594 106.082031 351.933594 106.082031 355.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 127.816406 335.449219 C 127.816406 339.050781 122.417969 339.050781 122.417969 335.449219 C 122.417969 331.851563 127.816406 331.851563 127.816406 335.449219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.625 320.605469 C 143.625 324.203125 138.226563 324.203125 138.226563 320.605469 C 138.226563 317.003906 143.625 317.003906 143.625 320.605469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.089844 304.886719 C 160.089844 308.484375 154.691406 308.484375 154.691406 304.886719 C 154.691406 301.285156 160.089844 301.285156 160.089844 304.886719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.582031 292.664063 C 174.582031 296.265625 169.183594 296.265625 169.183594 292.664063 C 169.183594 289.066406 174.582031 289.066406 174.582031 292.664063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 185.121094 282.183594 C 185.121094 285.785156 179.71875 285.785156 179.71875 282.183594 C 179.71875 278.582031 185.121094 278.582031 185.121094 282.183594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 198.292969 269.957031 C 198.292969 273.558594 192.894531 273.558594 192.894531 269.957031 C 192.894531 266.359375 198.292969 266.359375 198.292969 269.957031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 210.148438 261.234375 C 210.148438 264.835938 204.75 264.835938 204.75 261.234375 C 204.75 257.636719 210.148438 257.636719 210.148438 261.234375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 222.003906 249.003906 C 222.003906 252.605469 216.605469 252.605469 216.605469 249.003906 C 216.605469 245.40625 222.003906 245.40625 222.003906 249.003906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 236.496094 238.539063 C 236.496094 242.140625 231.097656 242.140625 231.097656 238.539063 C 231.097656 234.9375 236.496094 234.9375 236.496094 238.539063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.304688 224.570313 C 252.304688 228.171875 246.902344 228.171875 246.902344 224.570313 C 246.902344 220.96875 252.304688 220.96875 252.304688 224.570313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 268.769531 212.359375 C 268.769531 215.957031 263.371094 215.957031 263.371094 212.359375 C 263.371094 208.757813 268.769531 208.757813 268.769531 212.359375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 283.917969 200.140625 C 283.917969 203.738281 278.519531 203.738281 278.519531 200.140625 C 278.519531 196.539063 283.917969 196.539063 283.917969 200.140625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 303.019531 184.429688 C 303.019531 188.03125 297.621094 188.03125 297.621094 184.429688 C 297.621094 180.832031 303.019531 180.832031 303.019531 184.429688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 317.511719 173.964844 C 317.511719 177.5625 312.113281 177.5625 312.113281 173.964844 C 312.113281 170.363281 317.511719 170.363281 317.511719 173.964844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 342.539063 154.769531 C 342.539063 158.371094 337.140625 158.371094 337.140625 154.769531 C 337.140625 151.167969 342.539063 151.167969 342.539063 154.769531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.691406 143.429688 C 357.691406 147.027344 352.289063 147.027344 352.289063 143.429688 C 352.289063 139.828125 357.691406 139.828125 357.691406 143.429688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 375.472656 130.34375 C 375.472656 133.945313 370.074219 133.945313 370.074219 130.34375 C 370.074219 126.742188 375.472656 126.742188 375.472656 130.34375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 393.257813 118.136719 C 393.257813 121.734375 387.859375 121.734375 387.859375 118.136719 C 387.859375 114.535156 393.257813 114.535156 393.257813 118.136719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414.992188 104.191406 C 414.992188 107.789063 409.59375 107.789063 409.59375 104.191406 C 409.59375 100.589844 414.992188 100.589844 414.992188 104.191406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.753906 90.234375 C 434.753906 93.835938 429.355469 93.835938 429.355469 90.234375 C 429.355469 86.636719 434.753906 86.636719 434.753906 90.234375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 447.269531 83.269531 C 447.269531 86.867188 441.867188 86.867188 441.867188 83.269531 C 441.867188 79.667969 447.269531 79.667969 447.269531 83.269531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 383.789063 L 78.238281 380.003906 L 82.078125 376.230469 L 85.921875 372.472656 L 89.761719 368.730469 L 93.601563 365 L 97.441406 361.28125 L 101.28125 357.578125 L 105.121094 353.890625 L 108.960938 350.214844 L 112.800781 346.554688 L 116.640625 342.90625 L 120.480469 339.273438 L 124.320313 335.652344 L 128.160156 332.046875 L 132 328.453125 L 135.839844 324.875 L 139.679688 321.3125 L 143.519531 317.761719 L 147.359375 314.222656 L 151.199219 310.699219 L 155.039063 307.191406 L 158.878906 303.695313 L 162.71875 300.214844 L 166.558594 296.746094 L 170.398438 293.292969 L 174.238281 289.851563 L 178.078125 286.425781 L 181.921875 283.015625 L 185.761719 279.613281 L 189.601563 276.230469 L 193.441406 272.859375 L 197.28125 269.5 L 201.121094 266.15625 L 204.960938 262.828125 L 208.800781 259.511719 L 212.640625 256.210938 L 216.480469 252.921875 L 220.320313 249.648438 L 224.160156 246.386719 L 228 243.140625 L 231.839844 239.90625 L 235.679688 236.6875 L 239.519531 233.484375 L 243.359375 230.292969 L 247.199219 227.113281 L 251.039063 223.949219 L 254.878906 220.800781 L 258.71875 217.664063 L 262.558594 214.542969 L 266.398438 211.433594 L 270.238281 208.339844 L 274.078125 205.257813 L 277.921875 202.191406 L 281.761719 199.136719 L 285.601563 196.097656 L 289.441406 193.074219 L 293.28125 190.058594 L 297.121094 187.0625 L 300.960938 184.078125 L 304.800781 181.109375 L 308.640625 178.152344 L 312.480469 175.207031 L 316.320313 172.28125 L 320.160156 169.363281 L 324 166.464844 L 327.839844 163.574219 L 331.679688 160.703125 L 335.519531 157.84375 L 339.359375 154.996094 L 343.199219 152.164063 L 347.039063 149.347656 L 350.878906 146.542969 L 354.71875 143.75 L 358.558594 140.972656 L 362.398438 138.210938 L 366.238281 135.460938 L 370.078125 132.726563 L 373.921875 130.003906 L 377.761719 127.296875 L 381.601563 124.601563 L 385.441406 121.921875 L 389.28125 119.257813 L 393.121094 116.601563 L 396.960938 113.964844 L 400.800781 111.339844 L 404.640625 108.730469 L 408.480469 106.132813 L 412.320313 103.546875 L 416.160156 100.976563 L 420 98.421875 L 423.839844 95.878906 L 427.679688 93.351563 L 431.519531 90.839844 L 435.359375 88.335938 L 439.199219 85.851563 L 443.039063 83.378906 L 446.878906 80.917969 L 450.71875 78.472656 L 454.558594 76.042969 L 458.398438 73.625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 71.242188 416.800781 L 78.878906 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.058594 420.617188 L 75.058594 412.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 91.660156 402.847656 L 99.296875 402.847656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 95.476563 406.667969 L 95.476563 399.03125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 110.761719 388.890625 L 118.398438 388.890625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.578125 392.710938 L 114.578125 385.074219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.957031 383.675781 L 129.59375 383.675781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 125.777344 387.492188 L 125.777344 379.855469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.742188 371.464844 L 147.378906 371.464844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.558594 375.285156 L 143.558594 367.648438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.574219 362.75 L 161.210938 362.75 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 157.390625 366.570313 L 157.390625 358.933594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 167.40625 355.789063 L 175.042969 355.789063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 171.222656 359.605469 L 171.222656 351.96875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.800781 340.089844 L 197.4375 340.089844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 193.617188 343.910156 L 193.617188 336.273438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 210.21875 329.648438 L 217.855469 329.648438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 214.035156 333.464844 L 214.035156 325.828125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 229.976563 319.199219 L 237.613281 319.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 233.796875 323.019531 L 233.796875 315.382813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 243.152344 310.480469 L 250.789063 310.480469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 246.96875 314.300781 L 246.96875 306.664063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 260.277344 301.777344 L 267.914063 301.777344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 264.09375 305.597656 L 264.09375 297.960938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 285.964844 287.847656 L 293.601563 287.847656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 289.78125 291.667969 L 289.78125 284.03125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 300.453125 279.132813 L 308.089844 279.132813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 304.273438 282.953125 L 304.273438 275.316406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 314.945313 272.175781 L 322.582031 272.175781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.761719 275.992188 L 318.761719 268.355469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 330.09375 263.464844 L 337.730469 263.464844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 333.914063 267.28125 L 333.914063 259.644531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 345.902344 254.757813 L 353.539063 254.757813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 349.722656 258.574219 L 349.722656 250.9375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.757813 251.292969 L 365.394531 251.292969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 361.578125 255.113281 L 361.578125 247.476563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 370.929688 244.328125 L 378.566406 244.328125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 374.75 248.148438 L 374.75 240.511719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.761719 235.613281 L 392.398438 235.613281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.582031 239.433594 L 388.582031 231.796875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 400.570313 230.414063 L 408.207031 230.414063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 404.390625 234.230469 L 404.390625 226.59375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 410.453125 225.1875 L 418.089844 225.1875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414.269531 229.007813 L 414.269531 221.371094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 424.28125 218.226563 L 431.917969 218.226563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 428.101563 222.046875 L 428.101563 214.410156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 439.433594 213.023438 L 447.070313 213.023438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.25 216.84375 L 443.25 209.207031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 206.066406 L 462.21875 206.066406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 209.886719 L 458.398438 202.25 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.058594 416.171875 L 78.890625 413.621094 L 82.726563 411.074219 L 86.558594 408.539063 L 90.390625 406.011719 L 94.226563 403.496094 L 98.058594 400.988281 L 101.890625 398.488281 L 105.726563 396 L 109.558594 393.519531 L 113.394531 391.046875 L 117.226563 388.582031 L 121.058594 386.128906 L 124.894531 383.683594 L 128.726563 381.25 L 132.558594 378.820313 L 136.394531 376.40625 L 140.226563 373.996094 L 144.058594 371.597656 L 147.894531 369.207031 L 151.726563 366.824219 L 155.558594 364.453125 L 159.394531 362.089844 L 163.226563 359.734375 L 167.0625 357.390625 L 170.894531 355.054688 L 174.726563 352.726563 L 178.5625 350.410156 L 182.394531 348.101563 L 186.226563 345.800781 L 190.0625 343.507813 L 193.894531 341.226563 L 197.726563 338.957031 L 201.5625 336.691406 L 205.394531 334.4375 L 209.226563 332.191406 L 213.0625 329.957031 L 216.894531 327.726563 L 220.726563 325.511719 L 224.5625 323.300781 L 228.394531 321.101563 L 232.230469 318.910156 L 236.0625 316.726563 L 239.894531 314.554688 L 243.730469 312.390625 L 247.5625 310.238281 L 251.394531 308.089844 L 255.230469 305.953125 L 259.0625 303.828125 L 262.894531 301.707031 L 266.730469 299.597656 L 270.5625 297.5 L 274.394531 295.40625 L 278.230469 293.324219 L 282.0625 291.25 L 285.894531 289.1875 L 289.730469 287.132813 L 293.5625 285.085938 L 297.398438 283.050781 L 301.230469 281.019531 L 305.0625 279.003906 L 308.898438 276.992188 L 312.730469 274.992188 L 316.5625 273 L 320.398438 271.019531 L 324.230469 269.042969 L 328.0625 267.078125 L 331.898438 265.125 L 335.730469 263.179688 L 339.5625 261.242188 L 343.398438 259.3125 L 347.230469 257.394531 L 351.0625 255.484375 L 354.898438 253.582031 L 358.730469 251.691406 L 362.566406 249.808594 L 366.398438 247.933594 L 370.230469 246.070313 L 374.066406 244.214844 L 377.898438 242.367188 L 381.730469 240.527344 L 385.566406 238.699219 L 389.398438 236.878906 L 393.230469 235.070313 L 397.066406 233.269531 L 400.898438 231.476563 L 404.730469 229.695313 L 408.566406 227.917969 L 412.398438 226.152344 L 416.234375 224.398438 L 420.066406 222.652344 L 423.898438 220.914063 L 427.734375 219.183594 L 431.566406 217.464844 L 435.398438 215.753906 L 439.234375 214.050781 L 443.066406 212.359375 L 446.898438 210.675781 L 450.734375 209 L 454.566406 207.335938 L 458.398438 205.679688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="263.640625" y="332.296875"/>
+  <use xlink:href="#glyph0-8" x="270.314453" y="332.296875"/>
+  <use xlink:href="#glyph0-9" x="276.988281" y="332.296875"/>
+  <use xlink:href="#glyph0-8" x="280.322266" y="332.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-9" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="338.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="344.705078" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="351.378906" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="356.048828" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="361.679688" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="368.353516" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="371.6875" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="378.695313" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="382.029297" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="388.703125" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="392.037109" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="398.710938" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="405.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="412.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="416.728516" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="420.0625" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="427.070313" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="430.404297" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="437.078125" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="440.412109" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="447.085938" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-9" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-8" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-9" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-19" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-21" x="331.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="338.03125" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="344.705078" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="349.375" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="355.005859" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="361.679688" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="365.013672" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="372.021484" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="375.355469" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="382.029297" y="375.496094"/>
+  <use xlink:href="#glyph0-3" x="385.363281" y="375.496094"/>
+  <use xlink:href="#glyph0-21" x="392.037109" y="375.496094"/>
+  <use xlink:href="#glyph0-16" x="398.710938" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="405.384766" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="412.058594" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="416.728516" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="420.0625" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="427.070313" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="430.404297" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="437.078125" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="440.412109" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="447.085938" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="453.759766" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/baffle_fishway_mixte_slope_16_.svg b/docs/fr/calculators/par/baffle_fishway_mixte_slope_16_.svg
new file mode 100644
index 000000000..f4a0453f4
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_mixte_slope_16_.svg
@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 4.757813 2.382813 L 4.757813 -0.664063 C 4.59375 -0.429688 4.363281 -0.238281 4.066406 -0.0859375 C 3.769531 0.0664063 3.457031 0.140625 3.128906 0.140625 C 2.390625 0.140625 1.753906 -0.152344 1.222656 -0.742188 C 0.6875 -1.332031 0.421875 -2.140625 0.421875 -3.171875 C 0.421875 -3.792969 0.527344 -4.355469 0.746094 -4.851563 C 0.957031 -5.34375 1.273438 -5.71875 1.6875 -5.976563 C 2.101563 -6.234375 2.554688 -6.363281 3.046875 -6.363281 C 3.816406 -6.363281 4.421875 -6.039063 4.863281 -5.390625 L 4.863281 -6.222656 L 5.8125 -6.222656 L 5.8125 2.382813 Z M 1.507813 -3.128906 C 1.503906 -2.328125 1.671875 -1.726563 2.011719 -1.328125 C 2.34375 -0.925781 2.746094 -0.726563 3.21875 -0.726563 C 3.664063 -0.726563 4.050781 -0.914063 4.375 -1.296875 C 4.699219 -1.671875 4.863281 -2.253906 4.863281 -3.035156 C 4.863281 -3.863281 4.691406 -4.484375 4.347656 -4.902344 C 4.003906 -5.320313 3.601563 -5.53125 3.148438 -5.53125 C 2.6875 -5.53125 2.300781 -5.335938 1.984375 -4.949219 C 1.664063 -4.558594 1.503906 -3.953125 1.507813 -3.128906 Z M 1.507813 -3.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M -2.265625 -0.503906 L -2.40625 -1.558594 C -1.808594 -1.679688 -1.378906 -1.882813 -1.113281 -2.175781 C -0.847656 -2.464844 -0.714844 -2.820313 -0.71875 -3.242188 C -0.714844 -3.734375 -0.886719 -4.152344 -1.234375 -4.496094 C -1.574219 -4.832031 -2 -5.003906 -2.511719 -5.007813 C -2.992188 -5.003906 -3.390625 -4.847656 -3.710938 -4.535156 C -4.023438 -4.21875 -4.183594 -3.816406 -4.183594 -3.328125 C -4.183594 -3.128906 -4.144531 -2.878906 -4.066406 -2.585938 L -4.992188 -2.703125 C -4.984375 -2.769531 -4.980469 -2.828125 -4.980469 -2.871094 C -4.980469 -3.320313 -5.097656 -3.722656 -5.332031 -4.085938 C -5.566406 -4.441406 -5.925781 -4.621094 -6.414063 -4.625 C -6.800781 -4.621094 -7.121094 -4.492188 -7.375 -4.230469 C -7.628906 -3.96875 -7.757813 -3.628906 -7.757813 -3.21875 C -7.757813 -2.804688 -7.628906 -2.464844 -7.371094 -2.191406 C -7.113281 -1.917969 -6.726563 -1.742188 -6.210938 -1.664063 L -6.398438 -0.609375 C -7.105469 -0.738281 -7.652344 -1.03125 -8.042969 -1.488281 C -8.429688 -1.945313 -8.625 -2.511719 -8.625 -3.195313 C -8.625 -3.660156 -8.523438 -4.09375 -8.324219 -4.488281 C -8.121094 -4.882813 -7.847656 -5.183594 -7.5 -5.394531 C -7.148438 -5.601563 -6.777344 -5.707031 -6.390625 -5.707031 C -6.019531 -5.707031 -5.683594 -5.605469 -5.378906 -5.40625 C -5.074219 -5.207031 -4.832031 -4.914063 -4.652344 -4.523438 C -4.535156 -5.03125 -4.289063 -5.425781 -3.921875 -5.707031 C -3.546875 -5.988281 -3.085938 -6.128906 -2.535156 -6.128906 C -1.78125 -6.128906 -1.144531 -5.855469 -0.628906 -5.308594 C -0.105469 -4.761719 0.152344 -4.070313 0.152344 -3.234375 C 0.152344 -2.476563 -0.0703125 -1.847656 -0.519531 -1.355469 C -0.96875 -0.855469 -1.550781 -0.574219 -2.265625 -0.503906 Z M -2.265625 -0.503906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -2.25 -0.5 L -2.34375 -1.605469 C -1.804688 -1.683594 -1.398438 -1.871094 -1.125 -2.175781 C -0.851563 -2.472656 -0.714844 -2.835938 -0.71875 -3.257813 C -0.714844 -3.765625 -0.90625 -4.195313 -1.292969 -4.546875 C -1.671875 -4.898438 -2.179688 -5.074219 -2.816406 -5.074219 C -3.414063 -5.074219 -3.890625 -4.902344 -4.242188 -4.566406 C -4.589844 -4.226563 -4.761719 -3.785156 -4.765625 -3.242188 C -4.761719 -2.898438 -4.683594 -2.59375 -4.53125 -2.320313 C -4.375 -2.046875 -4.175781 -1.832031 -3.929688 -1.675781 L -4.0625 -0.6875 L -8.472656 -1.519531 L -8.472656 -5.789063 L -7.464844 -5.789063 L -7.464844 -2.363281 L -5.15625 -1.898438 C -5.515625 -2.414063 -5.695313 -2.953125 -5.695313 -3.523438 C -5.695313 -4.269531 -5.433594 -4.902344 -4.914063 -5.421875 C -4.394531 -5.933594 -3.726563 -6.191406 -2.910156 -6.195313 C -2.132813 -6.191406 -1.460938 -5.964844 -0.894531 -5.515625 C -0.199219 -4.960938 0.144531 -4.210938 0.148438 -3.257813 C 0.144531 -2.476563 -0.0703125 -1.835938 -0.507813 -1.34375 C -0.941406 -0.847656 -1.523438 -0.566406 -2.25 -0.5 Z M -2.25 -0.5 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M -7.464844 -0.570313 L -8.476563 -0.570313 L -8.476563 -6.128906 L -7.65625 -6.128906 C -7.074219 -5.582031 -6.300781 -5.039063 -5.335938 -4.503906 C -4.371094 -3.964844 -3.378906 -3.550781 -2.359375 -3.257813 C -1.636719 -3.046875 -0.851563 -2.910156 0 -2.851563 L 0 -1.769531 C -0.675781 -1.78125 -1.492188 -1.914063 -2.449219 -2.167969 C -3.402344 -2.421875 -4.324219 -2.785156 -5.214844 -3.261719 C -6.105469 -3.734375 -6.855469 -4.238281 -7.464844 -4.777344 Z M -7.464844 -0.570313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 7.644531 -3.789063 L 9.660156 -3.148438 C 9.347656 -2.019531 8.832031 -1.183594 8.117188 -0.640625 C 7.394531 -0.09375 6.484375 0.175781 5.378906 0.175781 C 4.007813 0.175781 2.882813 -0.289063 2.003906 -1.226563 C 1.121094 -2.15625 0.679688 -3.4375 0.683594 -5.0625 C 0.679688 -6.777344 1.121094 -8.109375 2.011719 -9.058594 C 2.894531 -10.007813 4.058594 -10.480469 5.503906 -10.484375 C 6.761719 -10.480469 7.789063 -10.109375 8.578125 -9.367188 C 9.046875 -8.921875 9.398438 -8.289063 9.632813 -7.46875 L 7.574219 -6.976563 C 7.449219 -7.507813 7.195313 -7.929688 6.808594 -8.238281 C 6.421875 -8.546875 5.949219 -8.699219 5.398438 -8.703125 C 4.632813 -8.699219 4.015625 -8.425781 3.539063 -7.878906 C 3.0625 -7.328125 2.824219 -6.441406 2.828125 -5.21875 C 2.824219 -3.910156 3.058594 -2.980469 3.53125 -2.429688 C 3.996094 -1.875 4.605469 -1.597656 5.359375 -1.601563 C 5.910156 -1.597656 6.386719 -1.773438 6.785156 -2.128906 C 7.183594 -2.476563 7.46875 -3.03125 7.644531 -3.789063 Z M 7.644531 -3.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 3.003906 -10.308594 L 3.003906 -6.519531 C 3.636719 -7.261719 4.398438 -7.632813 5.289063 -7.636719 C 5.738281 -7.632813 6.148438 -7.550781 6.515625 -7.382813 C 6.882813 -7.210938 7.15625 -6.992188 7.34375 -6.734375 C 7.523438 -6.46875 7.652344 -6.179688 7.722656 -5.863281 C 7.789063 -5.542969 7.820313 -5.046875 7.824219 -4.378906 L 7.824219 0 L 5.851563 0 L 5.851563 -3.945313 C 5.847656 -4.722656 5.808594 -5.21875 5.738281 -5.433594 C 5.660156 -5.640625 5.527344 -5.808594 5.339844 -5.9375 C 5.144531 -6.058594 4.90625 -6.121094 4.625 -6.125 C 4.292969 -6.121094 4 -6.042969 3.746094 -5.882813 C 3.484375 -5.722656 3.296875 -5.480469 3.179688 -5.164063 C 3.058594 -4.839844 3 -4.367188 3.003906 -3.742188 L 3.003906 0 L 1.027344 0 L 1.027344 -10.308594 Z M 3.003906 -10.308594 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 3.085938 0 L 0.078125 -7.46875 L 2.152344 -7.46875 L 3.558594 -3.65625 L 3.964844 -2.382813 C 4.070313 -2.703125 4.136719 -2.917969 4.167969 -3.023438 C 4.230469 -3.234375 4.300781 -3.445313 4.378906 -3.65625 L 5.800781 -7.46875 L 7.832031 -7.46875 L 4.867188 0 Z M 3.085938 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 2.925781 0 L 0.949219 0 L 0.949219 -7.46875 L 2.785156 -7.46875 L 2.785156 -6.40625 C 3.09375 -6.902344 3.375 -7.234375 3.628906 -7.394531 C 3.878906 -7.554688 4.164063 -7.632813 4.484375 -7.636719 C 4.929688 -7.632813 5.363281 -7.507813 5.785156 -7.261719 L 5.175781 -5.539063 C 4.839844 -5.75 4.53125 -5.859375 4.246094 -5.863281 C 3.96875 -5.859375 3.734375 -5.78125 3.542969 -5.632813 C 3.347656 -5.476563 3.195313 -5.203125 3.089844 -4.808594 C 2.976563 -4.40625 2.921875 -3.570313 2.925781 -2.304688 Z M 2.925781 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d="M 0.578125 -3.839844 C 0.574219 -4.492188 0.734375 -5.128906 1.0625 -5.742188 C 1.382813 -6.355469 1.839844 -6.824219 2.433594 -7.148438 C 3.023438 -7.472656 3.6875 -7.632813 4.421875 -7.636719 C 5.550781 -7.632813 6.476563 -7.265625 7.199219 -6.535156 C 7.917969 -5.796875 8.277344 -4.871094 8.28125 -3.753906 C 8.277344 -2.621094 7.914063 -1.683594 7.1875 -0.945313 C 6.457031 -0.203125 5.539063 0.164063 4.4375 0.167969 C 3.75 0.164063 3.097656 0.0117188 2.476563 -0.292969 C 1.855469 -0.601563 1.382813 -1.054688 1.0625 -1.652344 C 0.734375 -2.25 0.574219 -2.976563 0.578125 -3.839844 Z M 2.601563 -3.734375 C 2.601563 -2.988281 2.777344 -2.421875 3.128906 -2.03125 C 3.480469 -1.636719 3.914063 -1.441406 4.429688 -1.441406 C 4.945313 -1.441406 5.375 -1.636719 5.726563 -2.03125 C 6.070313 -2.421875 6.246094 -2.992188 6.25 -3.746094 C 6.246094 -4.472656 6.070313 -5.035156 5.726563 -5.433594 C 5.375 -5.824219 4.945313 -6.023438 4.429688 -6.027344 C 3.914063 -6.023438 3.480469 -5.824219 3.128906 -5.433594 C 2.777344 -5.035156 2.601563 -4.46875 2.601563 -3.734375 Z M 2.601563 -3.734375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-15">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-16">
+<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-17">
+<path style="stroke:none;" d="M 7.304688 -7.785156 L 5.394531 -7.574219 C 5.34375 -7.964844 5.222656 -8.253906 5.027344 -8.445313 C 4.828125 -8.628906 4.570313 -8.722656 4.261719 -8.726563 C 3.839844 -8.722656 3.488281 -8.535156 3.203125 -8.164063 C 2.910156 -7.785156 2.726563 -7.003906 2.65625 -5.820313 C 3.144531 -6.398438 3.757813 -6.691406 4.492188 -6.695313 C 5.316406 -6.691406 6.023438 -6.375 6.613281 -5.75 C 7.199219 -5.117188 7.492188 -4.308594 7.496094 -3.320313 C 7.492188 -2.261719 7.183594 -1.414063 6.566406 -0.78125 C 5.945313 -0.140625 5.152344 0.175781 4.183594 0.175781 C 3.140625 0.175781 2.285156 -0.226563 1.617188 -1.035156 C 0.945313 -1.84375 0.609375 -3.167969 0.613281 -5.011719 C 0.609375 -6.898438 0.957031 -8.261719 1.660156 -9.097656 C 2.355469 -9.929688 3.261719 -10.347656 4.378906 -10.351563 C 5.160156 -10.347656 5.808594 -10.128906 6.324219 -9.691406 C 6.832031 -9.253906 7.160156 -8.617188 7.304688 -7.785156 Z M 2.828125 -3.472656 C 2.824219 -2.828125 2.972656 -2.332031 3.269531 -1.984375 C 3.5625 -1.632813 3.898438 -1.457031 4.28125 -1.460938 C 4.644531 -1.457031 4.949219 -1.601563 5.195313 -1.890625 C 5.4375 -2.175781 5.558594 -2.644531 5.5625 -3.296875 C 5.558594 -3.964844 5.429688 -4.457031 5.167969 -4.769531 C 4.902344 -5.082031 4.574219 -5.238281 4.183594 -5.238281 C 3.800781 -5.238281 3.476563 -5.085938 3.21875 -4.789063 C 2.953125 -4.488281 2.824219 -4.050781 2.828125 -3.472656 Z M 2.828125 -3.472656 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-18">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface46">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 356.820313 C 77.101563 360.421875 71.699219 360.421875 71.699219 356.820313 C 71.699219 353.21875 77.101563 353.21875 77.101563 356.820313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.382813 340.945313 C 97.382813 344.542969 91.980469 344.542969 91.980469 340.945313 C 91.980469 337.34375 97.382813 337.34375 97.382813 340.945313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.382813 340.945313 C 97.382813 344.542969 91.980469 344.542969 91.980469 340.945313 C 91.980469 337.34375 97.382813 337.34375 97.382813 340.945313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.605469 328.59375 C 113.605469 332.195313 108.207031 332.195313 108.207031 328.59375 C 108.207031 324.996094 113.605469 324.996094 113.605469 328.59375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.566406 310.953125 C 134.566406 314.554688 129.164063 314.554688 129.164063 310.953125 C 129.164063 307.355469 134.566406 307.355469 134.566406 310.953125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 156.875 293.3125 C 156.875 296.914063 151.476563 296.914063 151.476563 293.3125 C 151.476563 289.710938 156.875 289.710938 156.875 293.3125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.507813 275.671875 C 178.507813 279.273438 173.109375 279.273438 173.109375 275.671875 C 173.109375 272.070313 178.507813 272.070313 178.507813 275.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.507813 275.671875 C 178.507813 279.273438 173.109375 279.273438 173.109375 275.671875 C 173.109375 272.070313 178.507813 272.070313 178.507813 275.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 196.761719 261.558594 C 196.761719 265.160156 191.363281 265.160156 191.363281 261.558594 C 191.363281 257.957031 196.761719 257.957031 196.761719 261.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 219.070313 243.917969 C 219.070313 247.519531 213.671875 247.519531 213.671875 243.917969 C 213.671875 240.316406 219.070313 240.316406 219.070313 243.917969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 243.410156 224.511719 C 243.410156 228.113281 238.011719 228.113281 238.011719 224.511719 C 238.011719 220.914063 243.410156 220.914063 243.410156 224.511719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.394531 208.636719 C 266.394531 212.234375 260.996094 212.234375 260.996094 208.636719 C 260.996094 205.035156 266.394531 205.035156 266.394531 208.636719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.269531 198.050781 C 281.269531 201.652344 275.867188 201.652344 275.867188 198.050781 C 275.867188 194.453125 281.269531 194.453125 281.269531 198.050781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 307.636719 178.644531 C 307.636719 182.246094 302.234375 182.246094 302.234375 178.644531 C 302.234375 175.046875 307.636719 175.046875 307.636719 178.644531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 329.269531 162.769531 C 329.269531 166.371094 323.867188 166.371094 323.867188 162.769531 C 323.867188 159.167969 329.269531 159.167969 329.269531 162.769531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 350.226563 146.890625 C 350.226563 150.492188 344.828125 150.492188 344.828125 146.890625 C 344.828125 143.292969 350.226563 143.292969 350.226563 146.890625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 365.101563 136.308594 C 365.101563 139.90625 359.699219 139.90625 359.699219 136.308594 C 359.699219 132.707031 365.101563 132.707031 365.101563 136.308594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 389.4375 120.429688 C 389.4375 124.03125 384.039063 124.03125 384.039063 120.429688 C 384.039063 116.832031 389.4375 116.832031 389.4375 120.429688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.425781 104.554688 C 412.425781 108.152344 407.023438 108.152344 407.023438 104.554688 C 407.023438 100.953125 412.425781 100.953125 412.425781 104.554688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 440.816406 86.914063 C 440.816406 90.511719 435.417969 90.511719 435.417969 86.914063 C 435.417969 83.3125 440.816406 83.3125 440.816406 86.914063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.230469 430.558594 L 453.21875 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 142.230469 430.558594 L 142.230469 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 245.894531 430.558594 L 245.894531 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 349.554688 430.558594 L 349.554688 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 453.21875 430.558594 L 453.21875 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="138.894531" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="242.558594" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="346.21875" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="449.882813" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 414.59375 L 59.039063 104.996094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 414.59375 L 51.839844 414.59375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 362.996094 L 51.839844 362.996094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 311.394531 L 51.839844 311.394531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 259.792969 L 51.839844 259.792969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 208.195313 L 51.839844 208.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 156.59375 L 51.839844 156.59375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 104.996094 L 51.839844 104.996094 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="417.929688"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-2" x="41.761719" y="366.332031"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-3" x="41.761719" y="314.730469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-4" x="41.761719" y="263.128906"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-5" x="41.761719" y="211.53125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-6" x="41.761719" y="159.929688"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="108.332031"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="176.5625" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="186.961719" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="195.757813" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="203.766406" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="211.775" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="217.378906" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="226.175" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="234.971094" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="242.979687" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="246.980469" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="255.776562" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="263.785156" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="268.580469" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="273.375781" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="277.376563" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="285.385156" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="293.39375" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="297.394531" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="306.999219" y="34.675781"/>
+  <use xlink:href="#glyph2-15" x="311" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="319.409375" y="34.675781"/>
+  <use xlink:href="#glyph2-16" x="323.410156" y="34.675781"/>
+  <use xlink:href="#glyph2-17" x="331.41875" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="339.427344" y="34.675781"/>
+  <use xlink:href="#glyph2-18" x="343.428125" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="260.726563" y="485.28125"/>
+  <use xlink:href="#glyph0-6" x="267.400391" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-13" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 356.820313 C 77.101563 360.421875 71.699219 360.421875 71.699219 356.820313 C 71.699219 353.21875 77.101563 353.21875 77.101563 356.820313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.382813 340.945313 C 97.382813 344.542969 91.980469 344.542969 91.980469 340.945313 C 91.980469 337.34375 97.382813 337.34375 97.382813 340.945313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 97.382813 340.945313 C 97.382813 344.542969 91.980469 344.542969 91.980469 340.945313 C 91.980469 337.34375 97.382813 337.34375 97.382813 340.945313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.605469 328.59375 C 113.605469 332.195313 108.207031 332.195313 108.207031 328.59375 C 108.207031 324.996094 113.605469 324.996094 113.605469 328.59375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.566406 310.953125 C 134.566406 314.554688 129.164063 314.554688 129.164063 310.953125 C 129.164063 307.355469 134.566406 307.355469 134.566406 310.953125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 156.875 293.3125 C 156.875 296.914063 151.476563 296.914063 151.476563 293.3125 C 151.476563 289.710938 156.875 289.710938 156.875 293.3125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.507813 275.671875 C 178.507813 279.273438 173.109375 279.273438 173.109375 275.671875 C 173.109375 272.070313 178.507813 272.070313 178.507813 275.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.507813 275.671875 C 178.507813 279.273438 173.109375 279.273438 173.109375 275.671875 C 173.109375 272.070313 178.507813 272.070313 178.507813 275.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 196.761719 261.558594 C 196.761719 265.160156 191.363281 265.160156 191.363281 261.558594 C 191.363281 257.957031 196.761719 257.957031 196.761719 261.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 219.070313 243.917969 C 219.070313 247.519531 213.671875 247.519531 213.671875 243.917969 C 213.671875 240.316406 219.070313 240.316406 219.070313 243.917969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 243.410156 224.511719 C 243.410156 228.113281 238.011719 228.113281 238.011719 224.511719 C 238.011719 220.914063 243.410156 220.914063 243.410156 224.511719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.394531 208.636719 C 266.394531 212.234375 260.996094 212.234375 260.996094 208.636719 C 260.996094 205.035156 266.394531 205.035156 266.394531 208.636719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.269531 198.050781 C 281.269531 201.652344 275.867188 201.652344 275.867188 198.050781 C 275.867188 194.453125 281.269531 194.453125 281.269531 198.050781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 307.636719 178.644531 C 307.636719 182.246094 302.234375 182.246094 302.234375 178.644531 C 302.234375 175.046875 307.636719 175.046875 307.636719 178.644531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 329.269531 162.769531 C 329.269531 166.371094 323.867188 166.371094 323.867188 162.769531 C 323.867188 159.167969 329.269531 159.167969 329.269531 162.769531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 350.226563 146.890625 C 350.226563 150.492188 344.828125 150.492188 344.828125 146.890625 C 344.828125 143.292969 350.226563 143.292969 350.226563 146.890625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 365.101563 136.308594 C 365.101563 139.90625 359.699219 139.90625 359.699219 136.308594 C 359.699219 132.707031 365.101563 132.707031 365.101563 136.308594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 389.4375 120.429688 C 389.4375 124.03125 384.039063 124.03125 384.039063 120.429688 C 384.039063 116.832031 389.4375 116.832031 389.4375 120.429688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.425781 104.554688 C 412.425781 108.152344 407.023438 108.152344 407.023438 104.554688 C 407.023438 100.953125 412.425781 100.953125 412.425781 104.554688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 440.816406 86.914063 C 440.816406 90.511719 435.417969 90.511719 435.417969 86.914063 C 435.417969 83.3125 440.816406 83.3125 440.816406 86.914063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 357.878906 L 78.238281 354.671875 L 82.078125 351.472656 L 85.921875 348.285156 L 89.761719 345.097656 L 93.601563 341.921875 L 97.441406 338.753906 L 101.28125 335.589844 L 105.121094 332.433594 L 112.800781 326.144531 L 116.640625 323.011719 L 120.480469 319.886719 L 124.320313 316.765625 L 128.160156 313.652344 L 132 310.546875 L 135.839844 307.449219 L 139.679688 304.359375 L 143.519531 301.273438 L 147.359375 298.199219 L 151.199219 295.128906 L 155.039063 292.066406 L 158.878906 289.011719 L 162.71875 285.960938 L 166.558594 282.921875 L 170.398438 279.886719 L 174.238281 276.859375 L 178.078125 273.839844 L 181.921875 270.828125 L 185.761719 267.824219 L 189.601563 264.824219 L 193.441406 261.835938 L 197.28125 258.851563 L 201.121094 255.875 L 204.960938 252.90625 L 208.800781 249.941406 L 212.640625 246.988281 L 216.480469 244.039063 L 220.320313 241.097656 L 224.160156 238.164063 L 228 235.238281 L 231.839844 232.316406 L 235.679688 229.40625 L 239.519531 226.5 L 243.359375 223.601563 L 247.199219 220.710938 L 251.039063 217.828125 L 254.878906 214.949219 L 258.71875 212.082031 L 262.558594 209.21875 L 266.398438 206.363281 L 270.238281 203.515625 L 274.078125 200.675781 L 277.921875 197.839844 L 281.761719 195.015625 L 285.601563 192.195313 L 289.441406 189.382813 L 293.28125 186.578125 L 297.121094 183.777344 L 300.960938 180.988281 L 304.800781 178.203125 L 308.640625 175.429688 L 312.480469 172.660156 L 316.320313 169.894531 L 320.160156 167.140625 L 324 164.394531 L 327.839844 161.652344 L 331.679688 158.917969 L 335.519531 156.191406 L 339.359375 153.472656 L 343.199219 150.757813 L 347.039063 148.054688 L 350.878906 145.355469 L 354.71875 142.664063 L 358.558594 139.980469 L 362.398438 137.304688 L 366.238281 134.636719 L 370.078125 131.972656 L 373.921875 129.316406 L 377.761719 126.671875 L 381.601563 124.03125 L 385.441406 121.394531 L 389.28125 118.769531 L 393.121094 116.148438 L 396.960938 113.539063 L 400.800781 110.933594 L 404.640625 108.335938 L 408.480469 105.742188 L 412.320313 103.160156 L 416.160156 100.582031 L 420 98.015625 L 423.839844 95.453125 L 427.679688 92.894531 L 431.519531 90.347656 L 435.359375 87.808594 L 439.199219 85.273438 L 443.039063 82.746094 L 446.878906 80.226563 L 450.71875 77.714844 L 454.558594 75.210938 L 458.398438 72.710938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.511719 402.6875 L 97.148438 402.6875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 93.328125 406.503906 L 93.328125 398.867188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 102.355469 395.628906 L 109.992188 395.628906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 106.175781 399.449219 L 106.175781 391.8125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 117.90625 385.046875 L 125.542969 385.046875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.722656 388.863281 L 121.722656 381.226563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 135.484375 374.460938 L 143.121094 374.460938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.300781 378.28125 L 139.300781 370.644531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.679688 365.640625 L 157.316406 365.640625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.5 369.460938 L 153.5 361.824219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 163.878906 356.820313 L 171.515625 356.820313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 167.695313 360.640625 L 167.695313 353.003906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 177.398438 349.765625 L 185.035156 349.765625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.21875 353.582031 L 181.21875 345.945313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 191.597656 342.707031 L 199.234375 342.707031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 195.414063 346.527344 L 195.414063 338.890625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.46875 333.886719 L 214.105469 333.886719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 210.289063 337.707031 L 210.289063 330.070313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 228.777344 321.539063 L 236.414063 321.539063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 232.597656 325.355469 L 232.597656 317.71875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 248.382813 310.953125 L 256.019531 310.953125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 252.203125 314.773438 L 252.203125 307.136719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 262.582031 303.898438 L 270.21875 303.898438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.398438 307.714844 L 266.398438 300.078125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.511719 293.3125 L 289.148438 293.3125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 285.328125 297.132813 L 285.328125 289.496094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 301.792969 284.492188 L 309.429688 284.492188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 305.609375 288.3125 L 305.609375 280.675781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 323.425781 272.144531 L 331.0625 272.144531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 327.246094 275.960938 L 327.246094 268.324219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.003906 266.851563 L 348.640625 266.851563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344.824219 270.667969 L 344.824219 263.03125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 358.582031 258.03125 L 366.21875 258.03125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 362.398438 261.847656 L 362.398438 254.210938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 375.484375 250.972656 L 383.121094 250.972656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 379.300781 254.792969 L 379.300781 247.15625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.792969 242.152344 L 405.429688 242.152344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 401.609375 245.972656 L 401.609375 238.335938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 422.808594 231.570313 L 430.445313 231.570313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 426.625 235.386719 L 426.625 227.75 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.414063 224.511719 L 450.050781 224.511719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 446.230469 228.332031 L 446.230469 220.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 219.21875 L 462.21875 219.21875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 223.039063 L 458.398438 215.402344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 415.8125 L 78.238281 413.285156 L 82.078125 410.773438 L 85.921875 408.269531 L 89.761719 405.777344 L 93.601563 403.300781 L 97.441406 400.832031 L 101.28125 398.375 L 105.121094 395.929688 L 108.960938 393.496094 L 112.800781 391.074219 L 116.640625 388.664063 L 120.480469 386.261719 L 124.320313 383.875 L 128.160156 381.496094 L 132 379.132813 L 135.839844 376.777344 L 139.679688 374.4375 L 143.519531 372.105469 L 147.359375 369.785156 L 151.199219 367.476563 L 155.039063 365.179688 L 158.878906 362.894531 L 162.71875 360.621094 L 166.558594 358.355469 L 170.398438 356.105469 L 174.238281 353.867188 L 178.078125 351.636719 L 181.921875 349.421875 L 185.761719 347.214844 L 189.601563 345.019531 L 193.441406 342.835938 L 197.28125 340.667969 L 201.121094 338.507813 L 204.960938 336.359375 L 208.800781 334.21875 L 212.640625 332.09375 L 216.480469 329.980469 L 220.320313 327.878906 L 224.160156 325.785156 L 228 323.707031 L 231.839844 321.636719 L 235.679688 319.578125 L 239.519531 317.535156 L 243.359375 315.5 L 247.199219 313.476563 L 251.039063 311.464844 L 254.878906 309.464844 L 258.71875 307.476563 L 262.558594 305.496094 L 266.398438 303.53125 L 270.238281 301.578125 L 274.078125 299.632813 L 277.921875 297.703125 L 281.761719 295.78125 L 285.601563 293.871094 L 289.441406 291.972656 L 293.28125 290.089844 L 297.121094 288.214844 L 300.960938 286.351563 L 304.800781 284.496094 L 308.640625 282.65625 L 312.480469 280.828125 L 316.320313 279.011719 L 320.160156 277.203125 L 324 275.410156 L 327.839844 273.625 L 331.679688 271.851563 L 335.519531 270.09375 L 339.359375 268.34375 L 343.199219 266.605469 L 347.039063 264.878906 L 350.878906 263.164063 L 354.71875 261.460938 L 358.558594 259.769531 L 362.398438 258.085938 L 366.238281 256.417969 L 370.078125 254.757813 L 373.921875 253.113281 L 377.761719 251.476563 L 381.601563 249.855469 L 385.441406 248.242188 L 389.28125 246.640625 L 393.121094 245.050781 L 396.960938 243.472656 L 400.800781 241.90625 L 404.640625 240.351563 L 408.480469 238.804688 L 412.320313 237.273438 L 416.160156 235.753906 L 420 234.242188 L 423.839844 232.746094 L 427.679688 231.257813 L 431.519531 229.78125 L 435.359375 228.316406 L 439.199219 226.863281 L 443.039063 225.425781 L 446.878906 223.992188 L 450.71875 222.574219 L 454.558594 221.167969 L 458.398438 219.773438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="263.640625" y="332.296875"/>
+  <use xlink:href="#glyph0-8" x="270.314453" y="332.296875"/>
+  <use xlink:href="#glyph0-9" x="276.988281" y="332.296875"/>
+  <use xlink:href="#glyph0-8" x="280.322266" y="332.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-9" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="338.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="344.705078" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="351.378906" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="356.048828" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="361.679688" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="368.353516" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="371.6875" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="378.695313" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="382.029297" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="388.703125" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="392.037109" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="398.710938" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="405.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="412.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="418.732422" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="423.402344" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="426.736328" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="433.744141" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="437.078125" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="443.751953" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="447.085938" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="453.759766" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-9" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-8" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-9" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="331.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="338.03125" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="344.705078" y="375.496094"/>
+  <use xlink:href="#glyph0-16" x="349.375" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="355.005859" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="361.679688" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="365.013672" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="372.021484" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="375.355469" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="382.029297" y="375.496094"/>
+  <use xlink:href="#glyph0-3" x="385.363281" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="392.037109" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="398.710938" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="405.384766" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="412.058594" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="416.728516" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="420.0625" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="427.070313" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="430.404297" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="437.078125" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="440.412109" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="447.085938" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="453.759766" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/baffle_fishway_plans_slope_10_.svg b/docs/fr/calculators/par/baffle_fishway_plans_slope_10_.svg
new file mode 100644
index 000000000..7138f949a
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_plans_slope_10_.svg
@@ -0,0 +1,459 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-21">
+<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-14">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface1">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.644531 402.128906 C 89.644531 405.730469 84.242188 405.730469 84.242188 402.128906 C 84.242188 398.53125 89.644531 398.53125 89.644531 402.128906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 104.539063 388.683594 C 104.539063 392.285156 99.140625 392.285156 99.140625 388.683594 C 99.140625 385.082031 104.539063 385.082031 104.539063 388.683594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.042969 375.238281 C 119.042969 378.835938 113.644531 378.835938 113.644531 375.238281 C 113.644531 371.636719 119.042969 371.636719 119.042969 375.238281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.347656 352.007813 C 143.347656 355.609375 137.949219 355.609375 137.949219 352.007813 C 137.949219 348.410156 143.347656 348.410156 143.347656 352.007813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.59375 336.117188 C 160.59375 339.71875 155.195313 339.71875 155.195313 336.117188 C 155.195313 332.519531 160.59375 332.519531 160.59375 336.117188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.492188 321.449219 C 175.492188 325.046875 170.089844 325.046875 170.089844 321.449219 C 170.089844 317.847656 175.492188 317.847656 175.492188 321.449219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.601563 308 C 189.601563 311.601563 184.203125 311.601563 184.203125 308 C 184.203125 304.402344 189.601563 304.402344 189.601563 308 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.457031 292.109375 C 206.457031 295.710938 201.058594 295.710938 201.058594 292.109375 C 201.058594 288.507813 206.457031 288.507813 206.457031 292.109375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.609375 282.328125 C 218.609375 285.929688 213.210938 285.929688 213.210938 282.328125 C 213.210938 278.730469 218.609375 278.730469 218.609375 282.328125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 233.507813 268.882813 C 233.507813 272.484375 228.105469 272.484375 228.105469 268.882813 C 228.105469 265.28125 233.507813 265.28125 233.507813 268.882813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.875 259.101563 C 244.875 262.703125 239.472656 262.703125 239.472656 259.101563 C 239.472656 255.503906 244.875 255.503906 244.875 259.101563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 254.675781 249.324219 C 254.675781 252.921875 249.273438 252.921875 249.273438 249.324219 C 249.273438 245.722656 254.675781 245.722656 254.675781 249.324219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.347656 219.984375 C 290.347656 223.585938 284.945313 223.585938 284.945313 219.984375 C 284.945313 216.382813 290.347656 216.382813 290.347656 219.984375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 312.296875 204.09375 C 312.296875 207.691406 306.898438 207.691406 306.898438 204.09375 C 306.898438 200.492188 312.296875 200.492188 312.296875 204.09375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.378906 166.195313 C 357.378906 169.796875 351.976563 169.796875 351.976563 166.195313 C 351.976563 162.597656 357.378906 162.597656 357.378906 166.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.203125 130.746094 C 405.203125 134.34375 399.800781 134.34375 399.800781 130.746094 C 399.800781 127.144531 405.203125 127.144531 405.203125 130.746094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.164063 100.671875 C 444.164063 104.273438 438.765625 104.273438 438.765625 100.671875 C 438.765625 97.070313 444.164063 97.070313 444.164063 100.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 87.46875 C 461.101563 91.070313 455.699219 91.070313 455.699219 87.46875 C 455.699219 83.871094 461.101563 83.871094 461.101563 87.46875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.410156 430.558594 L 457.96875 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.410156 430.558594 L 67.410156 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.203125 430.558594 L 123.203125 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.996094 430.558594 L 178.996094 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.792969 430.558594 L 234.792969 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.585938 430.558594 L 290.585938 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.378906 430.558594 L 346.378906 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.175781 430.558594 L 402.175781 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 457.96875 430.558594 L 457.96875 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="55.730469" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="62.404297" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="65.738281" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="72.412109" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="111.523438" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="118.197266" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="121.53125" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="128.205078" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="167.316406" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="173.990234" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="177.324219" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="183.998047" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="223.113281" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="229.787109" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="233.121094" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="239.794922" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="278.90625" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="285.580078" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="288.914063" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="295.587891" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="334.699219" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="341.373047" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="344.707031" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="351.380859" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="390.496094" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="397.169922" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="400.503906" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="407.177734" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="446.289063" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="452.962891" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="456.296875" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="462.970703" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 380.328125 L 59.039063 69.621094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 380.328125 L 51.839844 380.328125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 318.1875 L 51.839844 318.1875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 256.046875 L 51.839844 256.046875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 193.90625 L 51.839844 193.90625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 131.761719 L 51.839844 131.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 69.621094 L 51.839844 69.621094 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="388.667969"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="381.994141"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="378.660156"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="326.527344"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="319.853516"/>
+  <use xlink:href="#glyph1-4" x="41.761719" y="316.519531"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="264.386719"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="257.712891"/>
+  <use xlink:href="#glyph1-5" x="41.761719" y="254.378906"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-6" x="41.761719" y="202.246094"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="195.572266"/>
+  <use xlink:href="#glyph1-1" x="41.761719" y="192.238281"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-6" x="41.761719" y="140.101563"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="133.427734"/>
+  <use xlink:href="#glyph1-7" x="41.761719" y="130.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-6" x="41.761719" y="77.960938"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="71.287109"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="67.953125"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="190.96875" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="199.764844" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="203.765625" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="211.774219" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="220.570313" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="228.578906" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="232.579687" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="241.375781" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="249.384375" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="254.179687" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="258.975" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="262.975781" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="270.984375" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="278.992969" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="282.99375" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="292.598437" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="296.599219" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="305.008594" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="309.009375" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="317.017969" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="325.026562" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="329.027344" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/>
+  <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.644531 402.128906 C 89.644531 405.730469 84.242188 405.730469 84.242188 402.128906 C 84.242188 398.53125 89.644531 398.53125 89.644531 402.128906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 104.539063 388.683594 C 104.539063 392.285156 99.140625 392.285156 99.140625 388.683594 C 99.140625 385.082031 104.539063 385.082031 104.539063 388.683594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.042969 375.238281 C 119.042969 378.835938 113.644531 378.835938 113.644531 375.238281 C 113.644531 371.636719 119.042969 371.636719 119.042969 375.238281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.347656 352.007813 C 143.347656 355.609375 137.949219 355.609375 137.949219 352.007813 C 137.949219 348.410156 143.347656 348.410156 143.347656 352.007813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.59375 336.117188 C 160.59375 339.71875 155.195313 339.71875 155.195313 336.117188 C 155.195313 332.519531 160.59375 332.519531 160.59375 336.117188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.492188 321.449219 C 175.492188 325.046875 170.089844 325.046875 170.089844 321.449219 C 170.089844 317.847656 175.492188 317.847656 175.492188 321.449219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.601563 308 C 189.601563 311.601563 184.203125 311.601563 184.203125 308 C 184.203125 304.402344 189.601563 304.402344 189.601563 308 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 206.457031 292.109375 C 206.457031 295.710938 201.058594 295.710938 201.058594 292.109375 C 201.058594 288.507813 206.457031 288.507813 206.457031 292.109375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 218.609375 282.328125 C 218.609375 285.929688 213.210938 285.929688 213.210938 282.328125 C 213.210938 278.730469 218.609375 278.730469 218.609375 282.328125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 233.507813 268.882813 C 233.507813 272.484375 228.105469 272.484375 228.105469 268.882813 C 228.105469 265.28125 233.507813 265.28125 233.507813 268.882813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.875 259.101563 C 244.875 262.703125 239.472656 262.703125 239.472656 259.101563 C 239.472656 255.503906 244.875 255.503906 244.875 259.101563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 254.675781 249.324219 C 254.675781 252.921875 249.273438 252.921875 249.273438 249.324219 C 249.273438 245.722656 254.675781 245.722656 254.675781 249.324219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.347656 219.984375 C 290.347656 223.585938 284.945313 223.585938 284.945313 219.984375 C 284.945313 216.382813 290.347656 216.382813 290.347656 219.984375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 312.296875 204.09375 C 312.296875 207.691406 306.898438 207.691406 306.898438 204.09375 C 306.898438 200.492188 312.296875 200.492188 312.296875 204.09375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.378906 166.195313 C 357.378906 169.796875 351.976563 169.796875 351.976563 166.195313 C 351.976563 162.597656 357.378906 162.597656 357.378906 166.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.203125 130.746094 C 405.203125 134.34375 399.800781 134.34375 399.800781 130.746094 C 399.800781 127.144531 405.203125 127.144531 405.203125 130.746094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.164063 100.671875 C 444.164063 104.273438 438.765625 104.273438 438.765625 100.671875 C 438.765625 97.070313 444.164063 97.070313 444.164063 100.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 87.46875 C 461.101563 91.070313 455.699219 91.070313 455.699219 87.46875 C 455.699219 83.871094 461.101563 83.871094 461.101563 87.46875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 415.859375 L 78.238281 412.035156 L 82.078125 408.222656 L 85.921875 404.421875 L 89.761719 400.632813 L 93.601563 396.855469 L 97.441406 393.089844 L 101.28125 389.332031 L 105.121094 385.585938 L 108.960938 381.851563 L 112.800781 378.128906 L 116.640625 374.417969 L 120.480469 370.71875 L 124.320313 367.027344 L 128.160156 363.351563 L 132 359.683594 L 135.839844 356.027344 L 139.679688 352.382813 L 143.519531 348.75 L 147.359375 345.125 L 151.199219 341.515625 L 155.039063 337.914063 L 158.878906 334.324219 L 162.71875 330.746094 L 166.558594 327.179688 L 170.398438 323.625 L 174.238281 320.078125 L 178.078125 316.542969 L 181.921875 313.023438 L 185.761719 309.511719 L 189.601563 306.011719 L 193.441406 302.519531 L 197.28125 299.042969 L 201.121094 295.578125 L 204.960938 292.121094 L 208.800781 288.675781 L 212.640625 285.242188 L 216.480469 281.820313 L 220.320313 278.410156 L 224.160156 275.007813 L 228 271.621094 L 231.839844 268.242188 L 235.679688 264.875 L 239.519531 261.519531 L 243.359375 258.175781 L 247.199219 254.839844 L 251.039063 251.519531 L 254.878906 248.207031 L 258.71875 244.90625 L 262.558594 241.617188 L 266.398438 238.339844 L 270.238281 235.074219 L 274.078125 231.816406 L 277.921875 228.574219 L 281.761719 225.339844 L 285.601563 222.117188 L 289.441406 218.90625 L 293.28125 215.707031 L 297.121094 212.519531 L 300.960938 209.339844 L 304.800781 206.171875 L 308.640625 203.019531 L 312.480469 199.875 L 316.320313 196.742188 L 320.160156 193.617188 L 324 190.507813 L 327.839844 187.40625 L 331.679688 184.320313 L 335.519531 181.242188 L 339.359375 178.175781 L 343.199219 175.121094 L 347.039063 172.074219 L 350.878906 169.042969 L 354.71875 166.019531 L 358.558594 163.007813 L 362.398438 160.007813 L 366.238281 157.019531 L 370.078125 154.042969 L 373.921875 151.078125 L 377.761719 148.121094 L 381.601563 145.179688 L 385.441406 142.246094 L 389.28125 139.324219 L 393.121094 136.414063 L 396.960938 133.511719 L 400.800781 130.625 L 404.640625 127.746094 L 408.480469 124.878906 L 412.320313 122.023438 L 416.160156 119.179688 L 420 116.347656 L 423.839844 113.527344 L 427.679688 110.714844 L 431.519531 107.917969 L 435.359375 105.128906 L 439.199219 102.351563 L 443.039063 99.585938 L 446.878906 96.828125 L 450.71875 94.085938 L 454.558594 91.351563 L 458.398438 88.632813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 71.207031 374.992188 L 78.84375 374.992188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.027344 378.808594 L 75.027344 371.171875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 89.082031 358.855469 L 96.71875 358.855469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.902344 362.671875 L 92.902344 355.035156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 107.820313 342.230469 L 115.457031 342.230469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 111.640625 346.046875 L 111.640625 338.410156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 135.261719 317.78125 L 142.898438 317.78125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.078125 321.597656 L 139.078125 313.960938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.683594 300.667969 L 161.320313 300.667969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 157.503906 304.484375 L 157.503906 296.847656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.957031 252.992188 L 216.59375 252.992188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 212.773438 256.808594 L 212.773438 249.171875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 227.378906 238.320313 L 235.015625 238.320313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.199219 242.140625 L 231.199219 234.503906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 254.820313 215.09375 L 262.457031 215.09375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 258.636719 218.914063 L 258.636719 211.277344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 273.242188 200.425781 L 280.878906 200.425781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 277.0625 204.242188 L 277.0625 196.605469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 319.890625 166.195313 L 327.527344 166.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 323.710938 170.015625 L 323.710938 162.378906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 347.722656 144.191406 L 355.359375 144.191406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 351.542969 148.011719 L 351.542969 140.375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.570313 117.296875 L 392.207031 117.296875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.390625 121.117188 L 388.390625 113.480469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.714844 99.207031 L 420.351563 99.207031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 416.535156 103.023438 L 416.535156 95.386719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 431.0625 84.535156 L 438.699219 84.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.878906 88.355469 L 434.878906 80.71875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 449.878906 72.800781 L 457.515625 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 453.695313 76.617188 L 453.695313 68.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 75.027344 375.523438 L 78.8125 371.980469 L 82.601563 368.453125 L 86.386719 364.933594 L 90.175781 361.421875 L 93.960938 357.921875 L 97.746094 354.433594 L 101.535156 350.957031 L 105.320313 347.488281 L 109.105469 344.03125 L 112.894531 340.582031 L 116.679688 337.148438 L 120.46875 333.71875 L 124.253906 330.304688 L 128.039063 326.898438 L 131.828125 323.503906 L 135.613281 320.117188 L 139.402344 316.742188 L 143.1875 313.378906 L 146.972656 310.027344 L 150.761719 306.683594 L 154.546875 303.347656 L 158.335938 300.027344 L 162.121094 296.714844 L 165.90625 293.414063 L 169.695313 290.121094 L 173.480469 286.839844 L 177.269531 283.570313 L 181.054688 280.308594 L 184.839844 277.058594 L 188.628906 273.820313 L 192.414063 270.589844 L 196.203125 267.371094 L 199.988281 264.164063 L 203.773438 260.964844 L 207.5625 257.777344 L 211.347656 254.601563 L 215.132813 251.433594 L 218.921875 248.277344 L 222.707031 245.132813 L 226.496094 241.996094 L 230.28125 238.871094 L 234.066406 235.753906 L 237.855469 232.648438 L 241.640625 229.554688 L 245.429688 226.472656 L 249.214844 223.398438 L 253 220.335938 L 256.789063 217.28125 L 260.574219 214.242188 L 264.363281 211.207031 L 268.148438 208.1875 L 271.933594 205.175781 L 275.722656 202.175781 L 279.507813 199.183594 L 283.296875 196.203125 L 287.082031 193.234375 L 290.867188 190.277344 L 294.65625 187.328125 L 298.441406 184.390625 L 302.226563 181.460938 L 306.015625 178.542969 L 309.800781 175.636719 L 313.589844 172.738281 L 317.375 169.851563 L 321.160156 166.976563 L 324.949219 164.109375 L 328.734375 161.253906 L 332.523438 158.410156 L 336.308594 155.574219 L 340.09375 152.75 L 343.882813 149.9375 L 347.667969 147.132813 L 351.457031 144.339844 L 355.242188 141.558594 L 359.027344 138.785156 L 362.816406 136.023438 L 366.601563 133.273438 L 370.390625 130.53125 L 374.175781 127.800781 L 377.960938 125.078125 L 381.75 122.371094 L 385.535156 119.667969 L 389.324219 116.980469 L 393.109375 114.300781 L 396.894531 111.632813 L 400.683594 108.976563 L 404.46875 106.328125 L 408.253906 103.691406 L 412.042969 101.0625 L 415.828125 98.445313 L 419.617188 95.839844 L 423.402344 93.246094 L 427.1875 90.660156 L 430.976563 88.082031 L 434.761719 85.519531 L 438.550781 82.964844 L 442.335938 80.421875 L 446.121094 77.886719 L 449.910156 75.363281 L 453.695313 72.851563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="345.361328" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="361" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="371.341797" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="381.349609" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="388.023438" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="412.035156" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="432.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="439.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="445.732422" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-19" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-3" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/>
+  <use xlink:href="#glyph0-16" x="338.6875" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="354.326172" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="364.667969" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="374.675781" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="381.349609" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="405.361328" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="425.710938" y="375.496094"/>
+  <use xlink:href="#glyph0-21" x="432.384766" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="439.058594" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/baffle_fishway_plans_slope_15_.svg b/docs/fr/calculators/par/baffle_fishway_plans_slope_15_.svg
new file mode 100644
index 000000000..9b3ea6ead
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_plans_slope_15_.svg
@@ -0,0 +1,464 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-21">
+<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-22">
+<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-14">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 0.640625 -2.652344 L 2.609375 -2.855469 C 2.660156 -2.40625 2.828125 -2.054688 3.105469 -1.796875 C 3.382813 -1.535156 3.699219 -1.40625 4.0625 -1.40625 C 4.472656 -1.40625 4.824219 -1.570313 5.109375 -1.90625 C 5.394531 -2.238281 5.535156 -2.746094 5.539063 -3.425781 C 5.535156 -4.054688 5.394531 -4.527344 5.113281 -4.847656 C 4.828125 -5.160156 4.460938 -5.320313 4.007813 -5.324219 C 3.4375 -5.320313 2.925781 -5.070313 2.480469 -4.570313 L 0.878906 -4.800781 L 1.890625 -10.167969 L 7.117188 -10.167969 L 7.117188 -8.316406 L 3.390625 -8.316406 L 3.078125 -6.566406 C 3.515625 -6.785156 3.96875 -6.894531 4.429688 -6.898438 C 5.304688 -6.894531 6.046875 -6.578125 6.660156 -5.941406 C 7.265625 -5.300781 7.570313 -4.472656 7.574219 -3.460938 C 7.570313 -2.609375 7.324219 -1.851563 6.835938 -1.1875 C 6.160156 -0.277344 5.230469 0.175781 4.042969 0.175781 C 3.089844 0.175781 2.3125 -0.078125 1.714844 -0.589844 C 1.113281 -1.097656 0.753906 -1.785156 0.640625 -2.652344 Z M 0.640625 -2.652344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface6">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 112.714844 373.152344 C 112.714844 376.75 107.316406 376.75 107.316406 373.152344 C 107.316406 369.550781 112.714844 369.550781 112.714844 373.152344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 146.710938 334.699219 C 146.710938 338.296875 141.3125 338.296875 141.3125 334.699219 C 141.3125 331.097656 146.710938 331.097656 146.710938 334.699219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 176.175781 303.519531 C 176.175781 307.117188 170.777344 307.117188 170.777344 303.519531 C 170.777344 299.917969 176.175781 299.917969 176.175781 303.519531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 197.546875 281.695313 C 197.546875 285.292969 192.144531 285.292969 192.144531 281.695313 C 192.144531 278.09375 197.546875 278.09375 197.546875 281.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.039063 253.632813 C 226.039063 257.234375 220.636719 257.234375 220.636719 253.632813 C 220.636719 250.035156 226.039063 250.035156 226.039063 253.632813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 259.710938 221.417969 C 259.710938 225.015625 254.308594 225.015625 254.308594 221.417969 C 254.308594 217.816406 259.710938 217.816406 259.710938 221.417969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.648438 190.238281 C 295.648438 193.839844 290.25 193.839844 290.25 190.238281 C 290.25 186.636719 295.648438 186.636719 295.648438 190.238281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 365.585938 136.195313 C 365.585938 139.796875 360.1875 139.796875 360.1875 136.195313 C 360.1875 132.597656 365.585938 132.597656 365.585938 136.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.496094 110.214844 C 402.496094 113.8125 397.097656 113.8125 397.097656 110.214844 C 397.097656 106.613281 402.496094 106.613281 402.496094 110.214844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 432.929688 91.507813 C 432.929688 95.105469 427.53125 95.105469 427.53125 91.507813 C 427.53125 87.90625 432.929688 87.90625 432.929688 91.507813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.277344 430.558594 L 458.722656 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 67.277344 430.558594 L 67.277344 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.199219 430.558594 L 123.199219 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 179.117188 430.558594 L 179.117188 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 235.039063 430.558594 L 235.039063 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.960938 430.558594 L 290.960938 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.882813 430.558594 L 346.882813 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.804688 430.558594 L 402.804688 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.722656 430.558594 L 458.722656 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="55.597656" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="62.271484" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="65.605469" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="72.279297" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="111.519531" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="118.193359" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="121.527344" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="128.201172" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="167.4375" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="174.111328" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="177.445313" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="184.119141" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="223.359375" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="230.033203" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="233.367188" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="240.041016" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="279.28125" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="285.955078" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="289.289063" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="295.962891" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="335.203125" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="341.876953" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="345.210938" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="351.884766" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="391.125" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="397.798828" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="401.132813" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="407.806641" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="447.042969" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="453.716797" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="457.050781" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="463.724609" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 422.144531 L 59.039063 100.710938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 422.144531 L 51.839844 422.144531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 357.859375 L 51.839844 357.859375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 293.570313 L 51.839844 293.570313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 229.285156 L 51.839844 229.285156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 165 L 51.839844 165 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 100.710938 L 51.839844 100.710938 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="430.484375"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="423.810547"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="420.476563"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="366.199219"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="359.525391"/>
+  <use xlink:href="#glyph1-4" x="41.761719" y="356.191406"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="301.910156"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="295.236328"/>
+  <use xlink:href="#glyph1-5" x="41.761719" y="291.902344"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="237.625"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="230.951172"/>
+  <use xlink:href="#glyph1-6" x="41.761719" y="227.617188"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="173.339844"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="166.666016"/>
+  <use xlink:href="#glyph1-1" x="41.761719" y="163.332031"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="109.050781"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="102.376953"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="99.042969"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="190.96875" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="199.764844" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="203.765625" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="211.774219" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="220.570313" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="228.578906" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="232.579687" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="241.375781" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="249.384375" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="254.179687" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="258.975" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="262.975781" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="270.984375" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="278.992969" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="282.99375" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="292.598437" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="296.599219" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="305.008594" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="309.009375" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="317.017969" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="325.026562" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="329.027344" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/>
+  <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 112.714844 373.152344 C 112.714844 376.75 107.316406 376.75 107.316406 373.152344 C 107.316406 369.550781 112.714844 369.550781 112.714844 373.152344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 146.710938 334.699219 C 146.710938 338.296875 141.3125 338.296875 141.3125 334.699219 C 141.3125 331.097656 146.710938 331.097656 146.710938 334.699219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 176.175781 303.519531 C 176.175781 307.117188 170.777344 307.117188 170.777344 303.519531 C 170.777344 299.917969 176.175781 299.917969 176.175781 303.519531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 197.546875 281.695313 C 197.546875 285.292969 192.144531 285.292969 192.144531 281.695313 C 192.144531 278.09375 197.546875 278.09375 197.546875 281.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.039063 253.632813 C 226.039063 257.234375 220.636719 257.234375 220.636719 253.632813 C 220.636719 250.035156 226.039063 250.035156 226.039063 253.632813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 259.710938 221.417969 C 259.710938 225.015625 254.308594 225.015625 254.308594 221.417969 C 254.308594 217.816406 259.710938 217.816406 259.710938 221.417969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.648438 190.238281 C 295.648438 193.839844 290.25 193.839844 290.25 190.238281 C 290.25 186.636719 295.648438 186.636719 295.648438 190.238281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 365.585938 136.195313 C 365.585938 139.796875 360.1875 139.796875 360.1875 136.195313 C 360.1875 132.597656 365.585938 132.597656 365.585938 136.195313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.496094 110.214844 C 402.496094 113.8125 397.097656 113.8125 397.097656 110.214844 C 397.097656 106.613281 402.496094 106.613281 402.496094 110.214844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 432.929688 91.507813 C 432.929688 95.105469 427.53125 95.105469 427.53125 91.507813 C 427.53125 87.90625 432.929688 87.90625 432.929688 91.507813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 415.988281 L 78.238281 411.320313 L 82.078125 406.675781 L 85.921875 402.058594 L 89.761719 397.464844 L 93.601563 392.894531 L 97.441406 388.351563 L 101.28125 383.835938 L 105.121094 379.34375 L 108.960938 374.878906 L 112.800781 370.433594 L 116.640625 366.019531 L 120.480469 361.628906 L 124.320313 357.261719 L 128.160156 352.921875 L 132 348.605469 L 135.839844 344.316406 L 139.679688 340.050781 L 143.519531 335.8125 L 147.359375 331.597656 L 151.199219 327.40625 L 155.039063 323.242188 L 158.878906 319.105469 L 162.71875 314.992188 L 166.558594 310.902344 L 170.398438 306.839844 L 174.238281 302.800781 L 178.078125 298.789063 L 181.921875 294.800781 L 185.761719 290.839844 L 189.601563 286.902344 L 193.441406 282.992188 L 197.28125 279.105469 L 201.121094 275.242188 L 204.960938 271.410156 L 208.800781 267.597656 L 212.640625 263.8125 L 216.480469 260.050781 L 220.320313 256.316406 L 224.160156 252.609375 L 228 248.921875 L 231.839844 245.265625 L 235.679688 241.628906 L 239.519531 238.023438 L 243.359375 234.4375 L 247.199219 230.878906 L 251.039063 227.347656 L 254.878906 223.839844 L 258.71875 220.355469 L 262.558594 216.898438 L 266.398438 213.46875 L 270.238281 210.0625 L 274.078125 206.679688 L 277.921875 203.324219 L 281.761719 199.992188 L 285.601563 196.6875 L 289.441406 193.40625 L 293.28125 190.152344 L 297.121094 186.921875 L 300.960938 183.714844 L 304.800781 180.535156 L 308.640625 177.382813 L 312.480469 174.253906 L 316.320313 171.148438 L 320.160156 168.070313 L 324 165.019531 L 327.839844 161.988281 L 331.679688 158.988281 L 335.519531 156.007813 L 339.359375 153.058594 L 343.199219 150.128906 L 347.039063 147.226563 L 350.878906 144.351563 L 354.71875 141.5 L 358.558594 138.675781 L 362.398438 135.875 L 366.238281 133.097656 L 370.078125 130.347656 L 373.921875 127.621094 L 377.761719 124.921875 L 381.601563 122.246094 L 385.441406 119.597656 L 389.28125 116.972656 L 393.121094 114.375 L 396.960938 111.800781 L 400.800781 109.253906 L 404.640625 106.730469 L 408.480469 104.230469 L 412.320313 101.757813 L 416.160156 99.3125 L 420 96.890625 L 423.839844 94.492188 L 427.679688 92.121094 L 431.519531 89.773438 L 435.359375 87.453125 L 439.199219 85.15625 L 443.039063 82.886719 L 446.878906 80.640625 L 450.71875 78.421875 L 454.558594 76.226563 L 458.398438 74.054688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.886719 382.074219 L 78.523438 382.074219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.707031 385.890625 L 74.707031 378.253906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 81.171875 371.050781 L 88.808594 371.050781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.992188 374.867188 L 84.992188 367.230469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 98.890625 352.675781 L 106.527344 352.675781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 102.707031 356.492188 L 102.707031 348.855469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 116.605469 332.46875 L 124.242188 332.46875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 120.421875 336.289063 L 120.421875 328.652344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 134.320313 312.265625 L 141.957031 312.265625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 138.136719 316.082031 L 138.136719 308.445313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.175781 295.710938 L 160.8125 295.710938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 156.996094 299.53125 L 156.996094 291.894531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 170.890625 279.164063 L 178.527344 279.164063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 174.710938 282.984375 L 174.710938 275.347656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.179688 262.617188 L 196.816406 262.617188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 192.996094 266.433594 L 192.996094 258.796875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 207.464844 246.066406 L 215.101563 246.066406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 211.285156 249.886719 L 211.285156 242.25 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.324219 227.6875 L 233.960938 227.6875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 230.140625 231.503906 L 230.140625 223.867188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.039063 212.96875 L 251.675781 212.96875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 247.855469 216.789063 L 247.855469 209.152344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 262.894531 198.246094 L 270.53125 198.246094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 266.714844 202.066406 L 266.714844 194.429688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 281.753906 185.355469 L 289.390625 185.355469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 285.574219 189.171875 L 285.574219 181.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.898438 176.164063 L 298.535156 176.164063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 294.714844 179.984375 L 294.714844 172.347656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 300.039063 172.464844 L 307.679688 172.464844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 303.859375 176.28125 L 303.859375 168.644531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 328.042969 152.210938 L 335.679688 152.210938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.859375 156.027344 L 331.859375 148.390625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 337.1875 146.679688 L 344.824219 146.679688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.003906 150.496094 L 341.003906 142.859375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 356.042969 135.617188 L 363.679688 135.617188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 359.863281 139.433594 L 359.863281 131.796875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 374.902344 122.722656 L 382.539063 122.722656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 378.71875 126.539063 L 378.71875 118.902344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 393.757813 113.488281 L 401.394531 113.488281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 397.578125 117.304688 L 397.578125 109.667969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.617188 104.253906 L 420.253906 104.253906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 416.4375 108.070313 L 416.4375 100.433594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 431.476563 95.019531 L 439.113281 95.019531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 435.292969 98.835938 L 435.292969 91.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 450.332031 85.785156 L 457.96875 85.785156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.152344 89.601563 L 454.152344 81.964844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.707031 382.585938 L 78.5 378.289063 L 82.292969 374.015625 L 86.089844 369.773438 L 89.882813 365.558594 L 93.679688 361.367188 L 97.472656 357.203125 L 101.265625 353.070313 L 105.0625 348.960938 L 108.855469 344.878906 L 112.652344 340.824219 L 116.445313 336.796875 L 120.238281 332.796875 L 124.035156 328.820313 L 127.828125 324.875 L 131.621094 320.953125 L 135.417969 317.0625 L 139.210938 313.195313 L 143.007813 309.355469 L 146.800781 305.542969 L 150.59375 301.757813 L 154.390625 298 L 158.183594 294.269531 L 161.976563 290.566406 L 165.773438 286.886719 L 169.566406 283.238281 L 173.363281 279.613281 L 177.15625 276.019531 L 180.949219 272.449219 L 184.746094 268.90625 L 188.539063 265.390625 L 192.335938 261.902344 L 196.128906 258.441406 L 199.921875 255.003906 L 203.71875 251.597656 L 207.511719 248.21875 L 211.304688 244.863281 L 215.101563 241.535156 L 218.894531 238.238281 L 222.691406 234.964844 L 226.484375 231.71875 L 230.277344 228.5 L 234.074219 225.308594 L 237.867188 222.140625 L 241.664063 219.003906 L 245.457031 215.894531 L 249.25 212.808594 L 253.046875 209.75 L 256.839844 206.722656 L 260.632813 203.71875 L 264.429688 200.742188 L 268.222656 197.792969 L 272.019531 194.871094 L 275.8125 191.972656 L 279.605469 189.105469 L 283.402344 186.265625 L 287.195313 183.449219 L 290.988281 180.664063 L 294.785156 177.902344 L 298.578125 175.167969 L 302.375 172.460938 L 306.167969 169.78125 L 309.960938 167.128906 L 313.757813 164.503906 L 317.550781 161.90625 L 321.347656 159.332031 L 325.140625 156.789063 L 328.933594 154.269531 L 332.730469 151.777344 L 336.523438 149.316406 L 340.316406 146.878906 L 344.113281 144.46875 L 347.90625 142.085938 L 351.703125 139.730469 L 355.496094 137.398438 L 359.289063 135.097656 L 363.085938 132.820313 L 366.878906 130.574219 L 370.675781 128.351563 L 374.46875 126.15625 L 378.261719 123.992188 L 382.058594 121.851563 L 385.851563 119.738281 L 389.644531 117.648438 L 393.441406 115.589844 L 397.234375 113.558594 L 401.03125 111.550781 L 404.824219 109.574219 L 408.617188 107.621094 L 412.414063 105.695313 L 416.207031 103.800781 L 420.003906 101.929688 L 423.796875 100.085938 L 427.589844 98.269531 L 431.386719 96.476563 L 435.179688 94.714844 L 438.972656 92.980469 L 442.769531 91.269531 L 446.5625 89.585938 L 450.359375 87.933594 L 454.152344 86.304688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="332.296875"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="332.296875"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="332.296875"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="332.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="345.361328" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="361" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="371.341797" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="381.349609" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="388.023438" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="412.035156" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="432.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-20" x="439.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="445.732422" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-21" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/>
+  <use xlink:href="#glyph0-16" x="338.6875" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="354.326172" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="364.667969" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="374.675781" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="381.349609" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="405.361328" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="425.710938" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="432.384766" y="375.496094"/>
+  <use xlink:href="#glyph0-22" x="439.058594" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/baffle_fishway_plans_slope_20_.svg b/docs/fr/calculators/par/baffle_fishway_plans_slope_20_.svg
new file mode 100644
index 000000000..0ae4eea08
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_plans_slope_20_.svg
@@ -0,0 +1,495 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 7.4375 -0.921875 C 7.960938 -0.554688 8.449219 -0.289063 8.894531 -0.125 L 8.5625 0.667969 C 7.9375 0.445313 7.324219 0.09375 6.714844 -0.386719 C 6.074219 -0.03125 5.371094 0.144531 4.605469 0.148438 C 3.824219 0.144531 3.117188 -0.0390625 2.488281 -0.414063 C 1.851563 -0.785156 1.363281 -1.3125 1.027344 -1.996094 C 0.683594 -2.671875 0.515625 -3.4375 0.515625 -4.296875 C 0.515625 -5.140625 0.6875 -5.914063 1.03125 -6.609375 C 1.375 -7.304688 1.863281 -7.832031 2.5 -8.195313 C 3.132813 -8.558594 3.84375 -8.742188 4.628906 -8.742188 C 5.421875 -8.742188 6.136719 -8.550781 6.773438 -8.175781 C 7.40625 -7.792969 7.890625 -7.265625 8.226563 -6.59375 C 8.5625 -5.914063 8.730469 -5.152344 8.730469 -4.300781 C 8.730469 -3.59375 8.621094 -2.957031 8.40625 -2.394531 C 8.191406 -1.828125 7.867188 -1.335938 7.4375 -0.921875 Z M 4.933594 -2.375 C 5.589844 -2.1875 6.128906 -1.914063 6.554688 -1.554688 C 7.222656 -2.160156 7.558594 -3.078125 7.558594 -4.300781 C 7.558594 -4.996094 7.4375 -5.601563 7.203125 -6.121094 C 6.964844 -6.640625 6.621094 -7.042969 6.167969 -7.332031 C 5.710938 -7.617188 5.199219 -7.761719 4.632813 -7.765625 C 3.785156 -7.761719 3.082031 -7.472656 2.523438 -6.894531 C 1.964844 -6.3125 1.6875 -5.445313 1.6875 -4.296875 C 1.6875 -3.171875 1.960938 -2.316406 2.515625 -1.722656 C 3.0625 -1.125 3.769531 -0.824219 4.632813 -0.828125 C 5.035156 -0.824219 5.417969 -0.902344 5.78125 -1.054688 C 5.425781 -1.28125 5.050781 -1.445313 4.65625 -1.546875 Z M 4.933594 -2.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 0.878906 0 L 0.878906 -8.589844 L 2.015625 -8.589844 L 2.015625 -1.015625 L 6.246094 -1.015625 L 6.246094 0 Z M 0.878906 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-21">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M -4.234375 -0.5 C -5.246094 -0.496094 -6.0625 -0.601563 -6.6875 -0.8125 C -7.304688 -1.019531 -7.785156 -1.328125 -8.121094 -1.742188 C -8.457031 -2.152344 -8.625 -2.671875 -8.625 -3.300781 C -8.625 -3.757813 -8.53125 -4.164063 -8.347656 -4.511719 C -8.160156 -4.859375 -7.890625 -5.144531 -7.542969 -5.371094 C -7.191406 -5.59375 -6.765625 -5.773438 -6.265625 -5.90625 C -5.761719 -6.035156 -5.085938 -6.097656 -4.234375 -6.101563 C -3.222656 -6.097656 -2.410156 -5.996094 -1.792969 -5.789063 C -1.175781 -5.578125 -0.695313 -5.265625 -0.359375 -4.859375 C -0.0195313 -4.445313 0.144531 -3.925781 0.148438 -3.296875 C 0.144531 -2.464844 -0.148438 -1.816406 -0.742188 -1.347656 C -1.457031 -0.78125 -2.621094 -0.496094 -4.234375 -0.5 Z M -4.234375 -1.582031 C -2.824219 -1.582031 -1.886719 -1.746094 -1.417969 -2.074219 C -0.949219 -2.402344 -0.714844 -2.808594 -0.71875 -3.296875 C -0.714844 -3.777344 -0.949219 -4.183594 -1.421875 -4.519531 C -1.886719 -4.847656 -2.824219 -5.015625 -4.234375 -5.015625 C -5.648438 -5.015625 -6.589844 -4.847656 -7.054688 -4.519531 C -7.515625 -4.1875 -7.746094 -3.777344 -7.75 -3.289063 C -7.746094 -2.800781 -7.542969 -2.414063 -7.136719 -2.128906 C -6.613281 -1.761719 -5.644531 -1.582031 -4.234375 -1.582031 Z M -4.234375 -1.582031 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M 0 -1.089844 L -1.203125 -1.089844 L -1.199219 -2.289063 L 0 -2.289063 Z M 0 -1.089844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M -4.65625 -2.121094 C -4.816406 -1.683594 -5.046875 -1.359375 -5.34375 -1.148438 C -5.640625 -0.9375 -5.996094 -0.832031 -6.410156 -0.832031 C -7.035156 -0.832031 -7.558594 -1.054688 -7.984375 -1.503906 C -8.410156 -1.953125 -8.625 -2.550781 -8.625 -3.300781 C -8.625 -4.046875 -8.40625 -4.652344 -7.972656 -5.109375 C -7.535156 -5.566406 -7.003906 -5.792969 -6.382813 -5.796875 C -5.976563 -5.792969 -5.628906 -5.6875 -5.339844 -5.480469 C -5.042969 -5.269531 -4.816406 -4.953125 -4.65625 -4.53125 C -4.480469 -5.054688 -4.203125 -5.457031 -3.824219 -5.734375 C -3.4375 -6.007813 -2.980469 -6.144531 -2.453125 -6.148438 C -1.714844 -6.144531 -1.097656 -5.886719 -0.601563 -5.367188 C -0.101563 -4.84375 0.144531 -4.160156 0.148438 -3.316406 C 0.144531 -2.46875 -0.101563 -1.785156 -0.605469 -1.265625 C -1.105469 -0.746094 -1.734375 -0.484375 -2.484375 -0.488281 C -3.039063 -0.484375 -3.503906 -0.625 -3.886719 -0.910156 C -4.261719 -1.191406 -4.519531 -1.597656 -4.65625 -2.121094 Z M -6.445313 -1.910156 C -6.039063 -1.910156 -5.707031 -2.039063 -5.449219 -2.300781 C -5.191406 -2.5625 -5.0625 -2.902344 -5.0625 -3.324219 C -5.0625 -3.726563 -5.1875 -4.058594 -5.445313 -4.320313 C -5.695313 -4.578125 -6.011719 -4.710938 -6.386719 -4.710938 C -6.773438 -4.710938 -7.097656 -4.574219 -7.363281 -4.308594 C -7.625 -4.039063 -7.757813 -3.707031 -7.757813 -3.3125 C -7.757813 -2.90625 -7.628906 -2.574219 -7.371094 -2.308594 C -7.113281 -2.042969 -6.804688 -1.910156 -6.445313 -1.910156 Z M -2.476563 -1.570313 C -2.175781 -1.570313 -1.886719 -1.640625 -1.605469 -1.785156 C -1.324219 -1.925781 -1.105469 -2.136719 -0.949219 -2.421875 C -0.792969 -2.699219 -0.714844 -3.003906 -0.71875 -3.328125 C -0.714844 -3.832031 -0.875 -4.246094 -1.203125 -4.578125 C -1.523438 -4.902344 -1.9375 -5.066406 -2.441406 -5.070313 C -2.945313 -5.066406 -3.367188 -4.898438 -3.703125 -4.5625 C -4.035156 -4.222656 -4.199219 -3.800781 -4.203125 -3.292969 C -4.199219 -2.796875 -4.035156 -2.382813 -3.710938 -2.058594 C -3.378906 -1.730469 -2.96875 -1.570313 -2.476563 -1.570313 Z M -2.476563 -1.570313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 0 -0.878906 L -8.589844 -0.878906 L -8.589844 -2.015625 L -1.011719 -2.015625 L -1.011719 -6.246094 L 0 -6.246094 Z M 0 -0.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-13">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-14">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 7.824219 0 L 5.851563 0 L 5.851563 -3.8125 C 5.847656 -4.613281 5.804688 -5.132813 5.722656 -5.375 C 5.636719 -5.609375 5.5 -5.792969 5.3125 -5.925781 C 5.121094 -6.054688 4.890625 -6.121094 4.625 -6.125 C 4.28125 -6.121094 3.976563 -6.027344 3.703125 -5.84375 C 3.429688 -5.652344 3.242188 -5.40625 3.144531 -5.097656 C 3.042969 -4.785156 2.992188 -4.210938 2.996094 -3.382813 L 2.996094 0 L 1.019531 0 L 1.019531 -7.46875 L 2.855469 -7.46875 L 2.855469 -6.371094 C 3.503906 -7.210938 4.324219 -7.632813 5.316406 -7.636719 C 5.746094 -7.632813 6.144531 -7.554688 6.507813 -7.398438 C 6.867188 -7.238281 7.140625 -7.039063 7.328125 -6.796875 C 7.511719 -6.554688 7.640625 -6.277344 7.714844 -5.96875 C 7.785156 -5.65625 7.820313 -5.214844 7.824219 -4.640625 Z M 7.824219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d="M 7.285156 -1.835938 L 7.285156 0 L 0.359375 0 C 0.429688 -0.691406 0.65625 -1.347656 1.035156 -1.96875 C 1.40625 -2.589844 2.144531 -3.414063 3.253906 -4.445313 C 4.140625 -5.269531 4.6875 -5.832031 4.894531 -6.132813 C 5.160156 -6.535156 5.296875 -6.9375 5.300781 -7.339844 C 5.296875 -7.777344 5.179688 -8.117188 4.945313 -8.355469 C 4.707031 -8.589844 4.378906 -8.707031 3.964844 -8.710938 C 3.550781 -8.707031 3.222656 -8.582031 2.980469 -8.335938 C 2.734375 -8.085938 2.59375 -7.675781 2.558594 -7.101563 L 0.589844 -7.296875 C 0.703125 -8.382813 1.070313 -9.164063 1.691406 -9.640625 C 2.308594 -10.109375 3.082031 -10.347656 4.015625 -10.351563 C 5.027344 -10.347656 5.828125 -10.074219 6.410156 -9.527344 C 6.992188 -8.976563 7.28125 -8.292969 7.285156 -7.480469 C 7.28125 -7.015625 7.199219 -6.574219 7.035156 -6.15625 C 6.867188 -5.734375 6.601563 -5.292969 6.242188 -4.835938 C 6 -4.527344 5.570313 -4.089844 4.949219 -3.519531 C 4.324219 -2.945313 3.929688 -2.566406 3.765625 -2.382813 C 3.597656 -2.191406 3.460938 -2.007813 3.359375 -1.835938 Z M 7.285156 -1.835938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface11">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.890625 404.871094 C 84.890625 408.46875 79.492188 408.46875 79.492188 404.871094 C 79.492188 401.269531 84.890625 401.269531 84.890625 404.871094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.683594 396.914063 C 92.683594 400.515625 87.28125 400.515625 87.28125 396.914063 C 87.28125 393.316406 92.683594 393.316406 92.683594 396.914063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.03125 384.984375 C 101.03125 388.585938 95.628906 388.585938 95.628906 384.984375 C 95.628906 381.386719 101.03125 381.386719 101.03125 384.984375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.273438 371.066406 C 113.273438 374.664063 107.875 374.664063 107.875 371.066406 C 107.875 367.464844 113.273438 367.464844 113.273438 371.066406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.847656 357.148438 C 123.847656 360.746094 118.449219 360.746094 118.449219 357.148438 C 118.449219 353.546875 123.847656 353.546875 123.847656 357.148438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 132.753906 347.203125 C 132.753906 350.804688 127.351563 350.804688 127.351563 347.203125 C 127.351563 343.605469 132.753906 343.605469 132.753906 347.203125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.324219 335.273438 C 143.324219 338.875 137.925781 338.875 137.925781 335.273438 C 137.925781 331.675781 143.324219 331.675781 143.324219 335.273438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 155.011719 321.355469 C 155.011719 324.953125 149.613281 324.953125 149.613281 321.355469 C 149.613281 317.753906 155.011719 317.753906 155.011719 321.355469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.699219 307.4375 C 166.699219 311.035156 161.300781 311.035156 161.300781 307.4375 C 161.300781 303.835938 166.699219 303.835938 166.699219 307.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.167969 291.527344 C 181.167969 295.128906 175.769531 295.128906 175.769531 291.527344 C 175.769531 287.929688 181.167969 287.929688 181.167969 291.527344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 191.742188 283.574219 C 191.742188 287.175781 186.34375 287.175781 186.34375 283.574219 C 186.34375 279.972656 191.742188 279.972656 191.742188 283.574219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.875 269.65625 C 202.875 273.253906 197.472656 273.253906 197.472656 269.65625 C 197.472656 266.054688 202.875 266.054688 202.875 269.65625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 217.34375 257.726563 C 217.34375 261.324219 211.945313 261.324219 211.945313 257.726563 C 211.945313 254.125 217.34375 254.125 217.34375 257.726563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.246094 247.78125 C 226.246094 251.382813 220.847656 251.382813 220.847656 247.78125 C 220.847656 244.183594 226.246094 244.183594 226.246094 247.78125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 236.820313 235.851563 C 236.820313 239.453125 231.421875 239.453125 231.421875 235.851563 C 231.421875 232.253906 236.820313 232.253906 236.820313 235.851563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 251.292969 223.921875 C 251.292969 227.519531 245.890625 227.519531 245.890625 223.921875 C 245.890625 220.320313 251.292969 220.320313 251.292969 223.921875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 261.863281 211.992188 C 261.863281 215.589844 256.464844 215.589844 256.464844 211.992188 C 256.464844 208.390625 261.863281 208.390625 261.863281 211.992188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.890625 200.058594 C 276.890625 203.660156 271.492188 203.660156 271.492188 200.058594 C 271.492188 196.460938 276.890625 196.460938 276.890625 200.058594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 289.691406 188.128906 C 289.691406 191.730469 284.292969 191.730469 284.292969 188.128906 C 284.292969 184.53125 289.691406 184.53125 289.691406 188.128906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 301.933594 180.175781 C 301.933594 183.777344 296.535156 183.777344 296.535156 180.175781 C 296.535156 176.574219 301.933594 176.574219 301.933594 180.175781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.074219 166.257813 C 318.074219 169.855469 312.675781 169.855469 312.675781 166.257813 C 312.675781 162.65625 318.074219 162.65625 318.074219 166.257813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.429688 154.324219 C 331.429688 157.925781 326.03125 157.925781 326.03125 154.324219 C 326.03125 150.726563 331.429688 150.726563 331.429688 154.324219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344.785156 146.371094 C 344.785156 149.972656 339.386719 149.972656 339.386719 146.371094 C 339.386719 142.773438 344.785156 142.773438 344.785156 146.371094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 354.804688 138.417969 C 354.804688 142.019531 349.40625 142.019531 349.40625 138.417969 C 349.40625 134.820313 354.804688 134.820313 354.804688 138.417969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 367.046875 130.464844 C 367.046875 134.066406 361.648438 134.066406 361.648438 130.464844 C 361.648438 126.863281 367.046875 126.863281 367.046875 130.464844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.855469 118.535156 C 384.855469 122.132813 379.457031 122.132813 379.457031 118.535156 C 379.457031 114.933594 384.855469 114.933594 384.855469 118.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.324219 110.582031 C 399.324219 114.179688 393.925781 114.179688 393.925781 110.582031 C 393.925781 106.980469 399.324219 106.980469 399.324219 110.582031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.683594 100.636719 C 412.683594 104.238281 407.28125 104.238281 407.28125 100.636719 C 407.28125 97.039063 412.683594 97.039063 412.683594 100.636719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 430.492188 88.707031 C 430.492188 92.308594 425.089844 92.308594 425.089844 88.707031 C 425.089844 85.109375 430.492188 85.109375 430.492188 88.707031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.40625 82.742188 C 444.40625 86.34375 439.003906 86.34375 439.003906 82.742188 C 439.003906 79.140625 444.40625 79.140625 444.40625 82.742188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 66.609375 430.558594 L 458.957031 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 66.609375 430.558594 L 66.609375 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.660156 430.558594 L 122.660156 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 178.707031 430.558594 L 178.707031 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.757813 430.558594 L 234.757813 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 290.808594 430.558594 L 290.808594 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 346.855469 430.558594 L 346.855469 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 402.90625 430.558594 L 402.90625 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.957031 430.558594 L 458.957031 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="54.929688" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="61.603516" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="64.9375" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="71.611328" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="110.980469" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="117.654297" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="120.988281" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="127.662109" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="167.027344" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="173.701172" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="177.035156" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="183.708984" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="223.078125" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="229.751953" y="456.480469"/>
+  <use xlink:href="#glyph0-4" x="233.085938" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="239.759766" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="279.128906" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="285.802734" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="289.136719" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="295.810547" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="335.175781" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="341.849609" y="456.480469"/>
+  <use xlink:href="#glyph0-5" x="345.183594" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="351.857422" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="391.226563" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="397.900391" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="401.234375" y="456.480469"/>
+  <use xlink:href="#glyph0-1" x="407.908203" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="447.277344" y="456.480469"/>
+  <use xlink:href="#glyph0-2" x="453.951172" y="456.480469"/>
+  <use xlink:href="#glyph0-6" x="457.285156" y="456.480469"/>
+  <use xlink:href="#glyph0-3" x="463.958984" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 424.46875 L 59.039063 65.128906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 424.46875 L 51.839844 424.46875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 352.601563 L 51.839844 352.601563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 280.734375 L 51.839844 280.734375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 208.867188 L 51.839844 208.867188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 137 L 51.839844 137 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 65.128906 L 51.839844 65.128906 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="432.808594"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="426.134766"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="422.800781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="360.941406"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="354.267578"/>
+  <use xlink:href="#glyph1-4" x="41.761719" y="350.933594"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="289.074219"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="282.400391"/>
+  <use xlink:href="#glyph1-5" x="41.761719" y="279.066406"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="217.207031"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="210.533203"/>
+  <use xlink:href="#glyph1-6" x="41.761719" y="207.199219"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="145.339844"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="138.666016"/>
+  <use xlink:href="#glyph1-1" x="41.761719" y="135.332031"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="41.761719" y="73.46875"/>
+  <use xlink:href="#glyph1-2" x="41.761719" y="66.794922"/>
+  <use xlink:href="#glyph1-3" x="41.761719" y="63.460938"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="190.96875" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="199.764844" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="203.765625" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="211.774219" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="220.570313" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="228.578906" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="232.579687" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="241.375781" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="249.384375" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="254.179687" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="258.975" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="262.975781" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="270.984375" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="278.992969" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="282.99375" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="292.598437" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="296.599219" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="305.008594" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="309.009375" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="317.017969" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="325.026562" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="329.027344" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-7" x="259.398438" y="485.28125"/>
+  <use xlink:href="#glyph0-8" x="268.732422" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-8" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-13" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-14" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 416.800781 C 77.101563 420.398438 71.699219 420.398438 71.699219 416.800781 C 71.699219 413.199219 77.101563 413.199219 77.101563 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.890625 404.871094 C 84.890625 408.46875 79.492188 408.46875 79.492188 404.871094 C 79.492188 401.269531 84.890625 401.269531 84.890625 404.871094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.683594 396.914063 C 92.683594 400.515625 87.28125 400.515625 87.28125 396.914063 C 87.28125 393.316406 92.683594 393.316406 92.683594 396.914063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 101.03125 384.984375 C 101.03125 388.585938 95.628906 388.585938 95.628906 384.984375 C 95.628906 381.386719 101.03125 381.386719 101.03125 384.984375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 113.273438 371.066406 C 113.273438 374.664063 107.875 374.664063 107.875 371.066406 C 107.875 367.464844 113.273438 367.464844 113.273438 371.066406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 123.847656 357.148438 C 123.847656 360.746094 118.449219 360.746094 118.449219 357.148438 C 118.449219 353.546875 123.847656 353.546875 123.847656 357.148438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 132.753906 347.203125 C 132.753906 350.804688 127.351563 350.804688 127.351563 347.203125 C 127.351563 343.605469 132.753906 343.605469 132.753906 347.203125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 143.324219 335.273438 C 143.324219 338.875 137.925781 338.875 137.925781 335.273438 C 137.925781 331.675781 143.324219 331.675781 143.324219 335.273438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 155.011719 321.355469 C 155.011719 324.953125 149.613281 324.953125 149.613281 321.355469 C 149.613281 317.753906 155.011719 317.753906 155.011719 321.355469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.699219 307.4375 C 166.699219 311.035156 161.300781 311.035156 161.300781 307.4375 C 161.300781 303.835938 166.699219 303.835938 166.699219 307.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 181.167969 291.527344 C 181.167969 295.128906 175.769531 295.128906 175.769531 291.527344 C 175.769531 287.929688 181.167969 287.929688 181.167969 291.527344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 191.742188 283.574219 C 191.742188 287.175781 186.34375 287.175781 186.34375 283.574219 C 186.34375 279.972656 191.742188 279.972656 191.742188 283.574219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.875 269.65625 C 202.875 273.253906 197.472656 273.253906 197.472656 269.65625 C 197.472656 266.054688 202.875 266.054688 202.875 269.65625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 217.34375 257.726563 C 217.34375 261.324219 211.945313 261.324219 211.945313 257.726563 C 211.945313 254.125 217.34375 254.125 217.34375 257.726563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.246094 247.78125 C 226.246094 251.382813 220.847656 251.382813 220.847656 247.78125 C 220.847656 244.183594 226.246094 244.183594 226.246094 247.78125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 236.820313 235.851563 C 236.820313 239.453125 231.421875 239.453125 231.421875 235.851563 C 231.421875 232.253906 236.820313 232.253906 236.820313 235.851563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 251.292969 223.921875 C 251.292969 227.519531 245.890625 227.519531 245.890625 223.921875 C 245.890625 220.320313 251.292969 220.320313 251.292969 223.921875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 261.863281 211.992188 C 261.863281 215.589844 256.464844 215.589844 256.464844 211.992188 C 256.464844 208.390625 261.863281 208.390625 261.863281 211.992188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.890625 200.058594 C 276.890625 203.660156 271.492188 203.660156 271.492188 200.058594 C 271.492188 196.460938 276.890625 196.460938 276.890625 200.058594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 289.691406 188.128906 C 289.691406 191.730469 284.292969 191.730469 284.292969 188.128906 C 284.292969 184.53125 289.691406 184.53125 289.691406 188.128906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 301.933594 180.175781 C 301.933594 183.777344 296.535156 183.777344 296.535156 180.175781 C 296.535156 176.574219 301.933594 176.574219 301.933594 180.175781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 318.074219 166.257813 C 318.074219 169.855469 312.675781 169.855469 312.675781 166.257813 C 312.675781 162.65625 318.074219 162.65625 318.074219 166.257813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 331.429688 154.324219 C 331.429688 157.925781 326.03125 157.925781 326.03125 154.324219 C 326.03125 150.726563 331.429688 150.726563 331.429688 154.324219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344.785156 146.371094 C 344.785156 149.972656 339.386719 149.972656 339.386719 146.371094 C 339.386719 142.773438 344.785156 142.773438 344.785156 146.371094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 354.804688 138.417969 C 354.804688 142.019531 349.40625 142.019531 349.40625 138.417969 C 349.40625 134.820313 354.804688 134.820313 354.804688 138.417969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 367.046875 130.464844 C 367.046875 134.066406 361.648438 134.066406 361.648438 130.464844 C 361.648438 126.863281 367.046875 126.863281 367.046875 130.464844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 384.855469 118.535156 C 384.855469 122.132813 379.457031 122.132813 379.457031 118.535156 C 379.457031 114.933594 384.855469 114.933594 384.855469 118.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.324219 110.582031 C 399.324219 114.179688 393.925781 114.179688 393.925781 110.582031 C 393.925781 106.980469 399.324219 106.980469 399.324219 110.582031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 412.683594 100.636719 C 412.683594 104.238281 407.28125 104.238281 407.28125 100.636719 C 407.28125 97.039063 412.683594 97.039063 412.683594 100.636719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 430.492188 88.707031 C 430.492188 92.308594 425.089844 92.308594 425.089844 88.707031 C 425.089844 85.109375 430.492188 85.109375 430.492188 88.707031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 444.40625 82.742188 C 444.40625 86.34375 439.003906 86.34375 439.003906 82.742188 C 439.003906 79.140625 444.40625 79.140625 444.40625 82.742188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 415.53125 L 78.238281 410.625 L 82.078125 405.746094 L 85.921875 400.898438 L 89.761719 396.082031 L 93.601563 391.296875 L 97.441406 386.539063 L 101.28125 381.8125 L 105.121094 377.113281 L 108.960938 372.449219 L 112.800781 367.8125 L 116.640625 363.207031 L 120.480469 358.628906 L 124.320313 354.082031 L 128.160156 349.566406 L 132 345.082031 L 135.839844 340.625 L 139.679688 336.199219 L 143.519531 331.804688 L 147.359375 327.441406 L 151.199219 323.105469 L 155.039063 318.800781 L 158.878906 314.527344 L 162.71875 310.28125 L 166.558594 306.066406 L 170.398438 301.882813 L 174.238281 297.726563 L 178.078125 293.605469 L 181.921875 289.511719 L 185.761719 285.445313 L 189.601563 281.414063 L 193.441406 277.410156 L 197.28125 273.4375 L 201.121094 269.492188 L 204.960938 265.582031 L 208.800781 261.699219 L 212.640625 257.84375 L 216.480469 254.023438 L 220.320313 250.230469 L 224.160156 246.46875 L 228 242.734375 L 231.839844 239.035156 L 235.679688 235.363281 L 239.519531 231.722656 L 243.359375 228.109375 L 247.199219 224.527344 L 251.039063 220.976563 L 254.878906 217.457031 L 258.71875 213.964844 L 262.558594 210.503906 L 266.398438 207.074219 L 270.238281 203.671875 L 274.078125 200.300781 L 277.921875 196.960938 L 281.761719 193.652344 L 285.601563 190.371094 L 289.441406 187.121094 L 293.28125 183.902344 L 297.121094 180.714844 L 300.960938 177.554688 L 304.800781 174.425781 L 308.640625 171.328125 L 312.480469 168.257813 L 316.320313 165.21875 L 320.160156 162.210938 L 324 159.230469 L 327.839844 156.285156 L 331.679688 153.367188 L 335.519531 150.476563 L 339.359375 147.621094 L 343.199219 144.792969 L 347.039063 141.996094 L 350.878906 139.226563 L 354.71875 136.488281 L 358.558594 133.78125 L 362.398438 131.105469 L 366.238281 128.457031 L 370.078125 125.84375 L 373.921875 123.253906 L 377.761719 120.699219 L 381.601563 118.171875 L 385.441406 115.675781 L 389.28125 113.210938 L 393.121094 110.777344 L 396.960938 108.371094 L 400.800781 105.996094 L 404.640625 103.648438 L 408.480469 101.332031 L 412.320313 99.046875 L 416.160156 96.792969 L 420 94.570313 L 423.839844 92.375 L 427.679688 90.210938 L 431.519531 88.074219 L 435.359375 85.972656 L 439.199219 83.898438 L 443.039063 81.855469 L 446.878906 79.839844 L 450.71875 77.855469 L 454.558594 75.902344 L 458.398438 73.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 382.996094 L 78.21875 382.996094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 386.816406 L 74.398438 379.179688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 88.945313 363.113281 L 96.582031 363.113281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.765625 366.929688 L 92.765625 359.292969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 107.3125 341.238281 L 114.949219 341.238281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 111.128906 345.058594 L 111.128906 337.421875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 125.675781 319.367188 L 133.3125 319.367188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 129.496094 323.183594 L 129.496094 315.546875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 152.945313 291.527344 L 160.582031 291.527344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 156.765625 295.347656 L 156.765625 287.710938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 171.3125 271.644531 L 178.949219 271.644531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.128906 275.460938 L 175.128906 267.824219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 189.121094 251.757813 L 196.757813 251.757813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 192.9375 255.578125 L 192.9375 247.941406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 208.042969 235.851563 L 215.679688 235.851563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 211.859375 239.671875 L 211.859375 232.035156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 226.964844 219.945313 L 234.601563 219.945313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 230.78125 223.761719 L 230.78125 216.125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 245.328125 204.035156 L 252.964844 204.035156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 249.148438 207.855469 L 249.148438 200.21875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 272.597656 182.164063 L 280.234375 182.164063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.417969 185.984375 L 276.417969 178.347656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 291.519531 166.257813 L 299.15625 166.257813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 295.339844 170.074219 L 295.339844 162.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 310.441406 154.324219 L 318.078125 154.324219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 314.261719 158.144531 L 314.261719 150.507813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 328.808594 142.394531 L 336.445313 142.394531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 332.625 146.214844 L 332.625 138.578125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 348.285156 132.453125 L 355.921875 132.453125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 352.105469 136.273438 L 352.105469 128.636719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 367.207031 120.523438 L 374.84375 120.523438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 371.027344 124.339844 L 371.027344 116.703125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 395.589844 104.613281 L 403.226563 104.613281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.410156 108.433594 L 399.410156 100.796875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.417969 92.683594 L 431.054688 92.683594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 427.234375 96.503906 L 427.234375 88.867188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.894531 84.730469 L 450.53125 84.730469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 446.714844 88.550781 L 446.714844 80.914063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 452.910156 82.742188 L 460.546875 82.742188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 456.730469 86.5625 L 456.730469 78.921875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 384.386719 L 78.222656 379.664063 L 82.046875 374.980469 L 85.871094 370.324219 L 89.691406 365.707031 L 93.515625 361.125 L 97.339844 356.574219 L 101.164063 352.058594 L 104.988281 347.578125 L 108.808594 343.128906 L 112.632813 338.71875 L 116.457031 334.339844 L 120.28125 329.996094 L 124.101563 325.683594 L 127.925781 321.410156 L 131.75 317.167969 L 135.574219 312.960938 L 139.394531 308.789063 L 143.21875 304.648438 L 147.042969 300.542969 L 150.867188 296.472656 L 154.6875 292.4375 L 158.511719 288.4375 L 162.335938 284.46875 L 166.160156 280.535156 L 169.984375 276.636719 L 173.804688 272.773438 L 177.628906 268.945313 L 181.453125 265.148438 L 185.277344 261.386719 L 189.097656 257.660156 L 192.921875 253.964844 L 196.746094 250.308594 L 200.570313 246.683594 L 204.390625 243.09375 L 208.214844 239.535156 L 212.039063 236.015625 L 215.863281 232.527344 L 219.6875 229.074219 L 223.507813 225.65625 L 227.332031 222.269531 L 231.15625 218.921875 L 234.980469 215.605469 L 238.800781 212.324219 L 242.625 209.074219 L 246.449219 205.863281 L 250.273438 202.683594 L 254.09375 199.539063 L 257.917969 196.429688 L 261.742188 193.351563 L 265.566406 190.308594 L 269.386719 187.300781 L 273.210938 184.328125 L 277.035156 181.390625 L 280.859375 178.484375 L 284.683594 175.613281 L 288.503906 172.777344 L 292.328125 169.976563 L 296.152344 167.210938 L 299.976563 164.476563 L 303.796875 161.777344 L 307.621094 159.113281 L 311.445313 156.480469 L 315.269531 153.886719 L 319.089844 151.324219 L 322.914063 148.796875 L 326.738281 146.300781 L 330.5625 143.84375 L 334.382813 141.417969 L 338.207031 139.027344 L 342.03125 136.671875 L 345.855469 134.347656 L 349.679688 132.0625 L 353.5 129.808594 L 357.324219 127.589844 L 361.148438 125.402344 L 364.972656 123.253906 L 368.792969 121.136719 L 372.617188 119.054688 L 376.441406 117.003906 L 380.265625 114.992188 L 384.085938 113.011719 L 387.910156 111.066406 L 391.734375 109.15625 L 395.558594 107.28125 L 399.382813 105.4375 L 403.203125 103.628906 L 407.027344 101.855469 L 410.851563 100.117188 L 414.675781 98.410156 L 418.496094 96.742188 L 422.320313 95.105469 L 426.144531 93.5 L 429.96875 91.933594 L 433.789063 90.398438 L 437.613281 88.898438 L 441.4375 87.433594 L 445.261719 86.003906 L 449.082031 84.605469 L 452.90625 83.246094 L 456.730469 81.917969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="332.292969"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="332.292969"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="332.292969"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="332.292969"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="340.691406" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="345.361328" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="350.992188" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="357.666016" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="361" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="368.007813" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="371.341797" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="378.015625" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="381.349609" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="388.023438" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="394.697266" y="346.695313"/>
+  <use xlink:href="#glyph0-8" x="404.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="408.701172" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="412.035156" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="419.042969" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="422.376953" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="429.050781" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="432.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-20" x="439.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="445.732422" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-9" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-19" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="334.017578" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="338.6875" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="344.318359" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="350.992188" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="354.326172" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="361.333984" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="364.667969" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="371.341797" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="374.675781" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="381.349609" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="388.023438" y="375.496094"/>
+  <use xlink:href="#glyph0-8" x="397.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="402.027344" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="405.361328" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="412.369141" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="415.703125" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="422.376953" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="425.710938" y="375.496094"/>
+  <use xlink:href="#glyph0-21" x="432.384766" y="375.496094"/>
+  <use xlink:href="#glyph0-19" x="439.058594" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/baffle_fishway_suractif_slope_10_.svg b/docs/fr/calculators/par/baffle_fishway_suractif_slope_10_.svg
new file mode 100644
index 000000000..b115164fc
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_suractif_slope_10_.svg
@@ -0,0 +1,451 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 4.757813 2.382813 L 4.757813 -0.664063 C 4.59375 -0.429688 4.363281 -0.238281 4.066406 -0.0859375 C 3.769531 0.0664063 3.457031 0.140625 3.128906 0.140625 C 2.390625 0.140625 1.753906 -0.152344 1.222656 -0.742188 C 0.6875 -1.332031 0.421875 -2.140625 0.421875 -3.171875 C 0.421875 -3.792969 0.527344 -4.355469 0.746094 -4.851563 C 0.957031 -5.34375 1.273438 -5.71875 1.6875 -5.976563 C 2.101563 -6.234375 2.554688 -6.363281 3.046875 -6.363281 C 3.816406 -6.363281 4.421875 -6.039063 4.863281 -5.390625 L 4.863281 -6.222656 L 5.8125 -6.222656 L 5.8125 2.382813 Z M 1.507813 -3.128906 C 1.503906 -2.328125 1.671875 -1.726563 2.011719 -1.328125 C 2.34375 -0.925781 2.746094 -0.726563 3.21875 -0.726563 C 3.664063 -0.726563 4.050781 -0.914063 4.375 -1.296875 C 4.699219 -1.671875 4.863281 -2.253906 4.863281 -3.035156 C 4.863281 -3.863281 4.691406 -4.484375 4.347656 -4.902344 C 4.003906 -5.320313 3.601563 -5.53125 3.148438 -5.53125 C 2.6875 -5.53125 2.300781 -5.335938 1.984375 -4.949219 C 1.664063 -4.558594 1.503906 -3.953125 1.507813 -3.128906 Z M 1.507813 -3.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 0.65625 -1.984375 L 1.671875 -2.078125 C 1.75 -1.601563 1.914063 -1.257813 2.160156 -1.042969 C 2.398438 -0.824219 2.710938 -0.714844 3.09375 -0.71875 C 3.414063 -0.714844 3.695313 -0.789063 3.945313 -0.941406 C 4.1875 -1.085938 4.390625 -1.285156 4.546875 -1.535156 C 4.703125 -1.785156 4.832031 -2.121094 4.9375 -2.542969 C 5.042969 -2.964844 5.097656 -3.394531 5.097656 -3.832031 C 5.097656 -3.878906 5.09375 -3.949219 5.09375 -4.042969 C 4.875 -3.707031 4.585938 -3.433594 4.226563 -3.226563 C 3.859375 -3.015625 3.464844 -2.910156 3.039063 -2.914063 C 2.328125 -2.910156 1.726563 -3.167969 1.238281 -3.6875 C 0.742188 -4.199219 0.496094 -4.878906 0.5 -5.726563 C 0.496094 -6.59375 0.753906 -7.296875 1.269531 -7.828125 C 1.78125 -8.359375 2.425781 -8.625 3.199219 -8.625 C 3.757813 -8.625 4.265625 -8.472656 4.730469 -8.171875 C 5.191406 -7.871094 5.542969 -7.441406 5.785156 -6.886719 C 6.023438 -6.328125 6.144531 -5.523438 6.148438 -4.46875 C 6.144531 -3.371094 6.027344 -2.496094 5.789063 -1.847656 C 5.546875 -1.195313 5.191406 -0.703125 4.722656 -0.363281 C 4.253906 -0.0234375 3.703125 0.144531 3.070313 0.148438 C 2.398438 0.144531 1.847656 -0.0390625 1.421875 -0.410156 C 0.996094 -0.785156 0.742188 -1.308594 0.65625 -1.984375 Z M 4.976563 -5.777344 C 4.972656 -6.382813 4.8125 -6.863281 4.492188 -7.21875 C 4.167969 -7.570313 3.78125 -7.746094 3.328125 -7.75 C 2.859375 -7.746094 2.449219 -7.554688 2.101563 -7.175781 C 1.753906 -6.789063 1.582031 -6.292969 1.582031 -5.6875 C 1.582031 -5.136719 1.746094 -4.691406 2.074219 -4.355469 C 2.402344 -4.011719 2.808594 -3.84375 3.296875 -3.84375 C 3.785156 -3.84375 4.1875 -4.011719 4.503906 -4.355469 C 4.816406 -4.691406 4.972656 -5.167969 4.976563 -5.777344 Z M 4.976563 -5.777344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M -2.265625 -0.503906 L -2.40625 -1.558594 C -1.808594 -1.679688 -1.378906 -1.882813 -1.113281 -2.175781 C -0.847656 -2.464844 -0.714844 -2.820313 -0.71875 -3.242188 C -0.714844 -3.734375 -0.886719 -4.152344 -1.234375 -4.496094 C -1.574219 -4.832031 -2 -5.003906 -2.511719 -5.007813 C -2.992188 -5.003906 -3.390625 -4.847656 -3.710938 -4.535156 C -4.023438 -4.21875 -4.183594 -3.816406 -4.183594 -3.328125 C -4.183594 -3.128906 -4.144531 -2.878906 -4.066406 -2.585938 L -4.992188 -2.703125 C -4.984375 -2.769531 -4.980469 -2.828125 -4.980469 -2.871094 C -4.980469 -3.320313 -5.097656 -3.722656 -5.332031 -4.085938 C -5.566406 -4.441406 -5.925781 -4.621094 -6.414063 -4.625 C -6.800781 -4.621094 -7.121094 -4.492188 -7.375 -4.230469 C -7.628906 -3.96875 -7.757813 -3.628906 -7.757813 -3.21875 C -7.757813 -2.804688 -7.628906 -2.464844 -7.371094 -2.191406 C -7.113281 -1.917969 -6.726563 -1.742188 -6.210938 -1.664063 L -6.398438 -0.609375 C -7.105469 -0.738281 -7.652344 -1.03125 -8.042969 -1.488281 C -8.429688 -1.945313 -8.625 -2.511719 -8.625 -3.195313 C -8.625 -3.660156 -8.523438 -4.09375 -8.324219 -4.488281 C -8.121094 -4.882813 -7.847656 -5.183594 -7.5 -5.394531 C -7.148438 -5.601563 -6.777344 -5.707031 -6.390625 -5.707031 C -6.019531 -5.707031 -5.683594 -5.605469 -5.378906 -5.40625 C -5.074219 -5.207031 -4.832031 -4.914063 -4.652344 -4.523438 C -4.535156 -5.03125 -4.289063 -5.425781 -3.921875 -5.707031 C -3.546875 -5.988281 -3.085938 -6.128906 -2.535156 -6.128906 C -1.78125 -6.128906 -1.144531 -5.855469 -0.628906 -5.308594 C -0.105469 -4.761719 0.152344 -4.070313 0.152344 -3.234375 C 0.152344 -2.476563 -0.0703125 -1.847656 -0.519531 -1.355469 C -0.96875 -0.855469 -1.550781 -0.574219 -2.265625 -0.503906 Z M -2.265625 -0.503906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -2.25 -0.5 L -2.34375 -1.605469 C -1.804688 -1.683594 -1.398438 -1.871094 -1.125 -2.175781 C -0.851563 -2.472656 -0.714844 -2.835938 -0.71875 -3.257813 C -0.714844 -3.765625 -0.90625 -4.195313 -1.292969 -4.546875 C -1.671875 -4.898438 -2.179688 -5.074219 -2.816406 -5.074219 C -3.414063 -5.074219 -3.890625 -4.902344 -4.242188 -4.566406 C -4.589844 -4.226563 -4.761719 -3.785156 -4.765625 -3.242188 C -4.761719 -2.898438 -4.683594 -2.59375 -4.53125 -2.320313 C -4.375 -2.046875 -4.175781 -1.832031 -3.929688 -1.675781 L -4.0625 -0.6875 L -8.472656 -1.519531 L -8.472656 -5.789063 L -7.464844 -5.789063 L -7.464844 -2.363281 L -5.15625 -1.898438 C -5.515625 -2.414063 -5.695313 -2.953125 -5.695313 -3.523438 C -5.695313 -4.269531 -5.433594 -4.902344 -4.914063 -5.421875 C -4.394531 -5.933594 -3.726563 -6.191406 -2.910156 -6.195313 C -2.132813 -6.191406 -1.460938 -5.964844 -0.894531 -5.515625 C -0.199219 -4.960938 0.144531 -4.210938 0.148438 -3.257813 C 0.144531 -2.476563 -0.0703125 -1.835938 -0.507813 -1.34375 C -0.941406 -0.847656 -1.523438 -0.566406 -2.25 -0.5 Z M -2.25 -0.5 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M -6.484375 -5.96875 L -6.40625 -4.921875 C -6.8125 -4.828125 -7.113281 -4.695313 -7.304688 -4.523438 C -7.605469 -4.238281 -7.757813 -3.886719 -7.757813 -3.46875 C -7.757813 -3.132813 -7.664063 -2.835938 -7.476563 -2.585938 C -7.234375 -2.25 -6.878906 -1.988281 -6.414063 -1.796875 C -5.949219 -1.605469 -5.289063 -1.507813 -4.429688 -1.5 C -4.8125 -1.753906 -5.097656 -2.0625 -5.289063 -2.433594 C -5.472656 -2.796875 -5.566406 -3.183594 -5.570313 -3.585938 C -5.566406 -4.289063 -5.308594 -4.886719 -4.792969 -5.382813 C -4.277344 -5.875 -3.609375 -6.121094 -2.789063 -6.125 C -2.25 -6.121094 -1.746094 -6.003906 -1.285156 -5.773438 C -0.816406 -5.539063 -0.460938 -5.222656 -0.21875 -4.816406 C 0.0273438 -4.410156 0.144531 -3.949219 0.148438 -3.433594 C 0.144531 -2.554688 -0.175781 -1.835938 -0.820313 -1.285156 C -1.46875 -0.726563 -2.535156 -0.449219 -4.019531 -0.453125 C -5.675781 -0.449219 -6.882813 -0.757813 -7.640625 -1.371094 C -8.296875 -1.90625 -8.625 -2.625 -8.625 -3.535156 C -8.625 -4.207031 -8.433594 -4.761719 -8.054688 -5.195313 C -7.675781 -5.625 -7.152344 -5.882813 -6.484375 -5.96875 Z M -2.78125 -1.664063 C -2.417969 -1.664063 -2.070313 -1.738281 -1.738281 -1.894531 C -1.40625 -2.042969 -1.152344 -2.261719 -0.980469 -2.542969 C -0.800781 -2.820313 -0.714844 -3.109375 -0.71875 -3.414063 C -0.714844 -3.859375 -0.894531 -4.242188 -1.257813 -4.566406 C -1.613281 -4.882813 -2.101563 -5.042969 -2.722656 -5.046875 C -3.3125 -5.042969 -3.78125 -4.886719 -4.125 -4.570313 C -4.46875 -4.25 -4.640625 -3.851563 -4.640625 -3.375 C -4.640625 -2.898438 -4.46875 -2.492188 -4.128906 -2.160156 C -3.785156 -1.828125 -3.335938 -1.664063 -2.78125 -1.664063 Z M -2.78125 -1.664063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-12">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 2.925781 0 L 0.949219 0 L 0.949219 -7.46875 L 2.785156 -7.46875 L 2.785156 -6.40625 C 3.09375 -6.902344 3.375 -7.234375 3.628906 -7.394531 C 3.878906 -7.554688 4.164063 -7.632813 4.484375 -7.636719 C 4.929688 -7.632813 5.363281 -7.507813 5.785156 -7.261719 L 5.175781 -5.539063 C 4.839844 -5.75 4.53125 -5.859375 4.246094 -5.863281 C 3.96875 -5.859375 3.734375 -5.78125 3.542969 -5.632813 C 3.347656 -5.476563 3.195313 -5.203125 3.089844 -4.808594 C 2.976563 -4.40625 2.921875 -3.570313 2.925781 -2.304688 Z M 2.925781 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d="M 0.808594 -2.75 L 0.808594 -4.726563 L 4.691406 -4.726563 L 4.691406 -2.75 Z M 0.808594 -2.75 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 7.542969 -5.257813 L 5.597656 -4.90625 C 5.527344 -5.292969 5.378906 -5.585938 5.148438 -5.785156 C 4.914063 -5.980469 4.613281 -6.082031 4.246094 -6.082031 C 3.75 -6.082031 3.355469 -5.910156 3.066406 -5.570313 C 2.769531 -5.230469 2.625 -4.664063 2.628906 -3.867188 C 2.625 -2.980469 2.773438 -2.351563 3.074219 -1.988281 C 3.371094 -1.621094 3.769531 -1.441406 4.273438 -1.441406 C 4.644531 -1.441406 4.953125 -1.546875 5.195313 -1.761719 C 5.433594 -1.972656 5.601563 -2.339844 5.703125 -2.863281 L 7.644531 -2.53125 C 7.4375 -1.640625 7.050781 -0.964844 6.480469 -0.511719 C 5.910156 -0.0585938 5.144531 0.164063 4.183594 0.167969 C 3.089844 0.164063 2.21875 -0.175781 1.570313 -0.863281 C 0.921875 -1.550781 0.597656 -2.507813 0.597656 -3.726563 C 0.597656 -4.957031 0.921875 -5.914063 1.574219 -6.605469 C 2.222656 -7.289063 3.105469 -7.632813 4.21875 -7.636719 C 5.125 -7.632813 5.847656 -7.4375 6.386719 -7.046875 C 6.921875 -6.652344 7.304688 -6.054688 7.542969 -5.257813 Z M 7.542969 -5.257813 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 1.035156 -8.480469 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 -8.480469 Z M 1.035156 0 L 1.035156 -7.46875 L 3.007813 -7.46875 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 3.085938 0 L 0.078125 -7.46875 L 2.152344 -7.46875 L 3.558594 -3.65625 L 3.964844 -2.382813 C 4.070313 -2.703125 4.136719 -2.917969 4.167969 -3.023438 C 4.230469 -3.234375 4.300781 -3.445313 4.378906 -3.65625 L 5.800781 -7.46875 L 7.832031 -7.46875 L 4.867188 0 Z M 3.085938 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-15">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-16">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-17">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-18">
+<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-19">
+<path style="stroke:none;" d="M 3.953125 -10.351563 C 4.949219 -10.347656 5.730469 -9.992188 6.292969 -9.28125 C 6.960938 -8.4375 7.292969 -7.035156 7.296875 -5.082031 C 7.292969 -3.128906 6.957031 -1.730469 6.285156 -0.878906 C 5.726563 -0.175781 4.949219 0.175781 3.953125 0.175781 C 2.945313 0.175781 2.136719 -0.207031 1.523438 -0.980469 C 0.910156 -1.746094 0.601563 -3.121094 0.605469 -5.105469 C 0.601563 -7.042969 0.941406 -8.441406 1.617188 -9.296875 C 2.171875 -9.996094 2.949219 -10.347656 3.953125 -10.351563 Z M 3.953125 -8.710938 C 3.710938 -8.707031 3.496094 -8.628906 3.3125 -8.480469 C 3.121094 -8.324219 2.976563 -8.054688 2.875 -7.664063 C 2.738281 -7.152344 2.671875 -6.289063 2.671875 -5.082031 C 2.671875 -3.871094 2.730469 -3.042969 2.855469 -2.589844 C 2.972656 -2.136719 3.128906 -1.835938 3.316406 -1.6875 C 3.5 -1.535156 3.710938 -1.457031 3.953125 -1.460938 C 4.1875 -1.457031 4.398438 -1.535156 4.589844 -1.6875 C 4.773438 -1.839844 4.921875 -2.113281 5.027344 -2.511719 C 5.160156 -3.015625 5.226563 -3.871094 5.230469 -5.082031 C 5.226563 -6.289063 5.164063 -7.121094 5.046875 -7.574219 C 4.921875 -8.023438 4.769531 -8.324219 4.585938 -8.480469 C 4.398438 -8.628906 4.1875 -8.707031 3.953125 -8.710938 Z M 3.953125 -8.710938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-20">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface31">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 403.375 C 77.101563 406.976563 71.699219 406.976563 71.699219 403.375 C 71.699219 399.777344 77.101563 399.777344 77.101563 403.375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 99.023438 379.882813 C 99.023438 383.484375 93.625 383.484375 93.625 379.882813 C 93.625 376.28125 99.023438 376.28125 99.023438 379.882813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.304688 364.78125 C 114.304688 368.378906 108.902344 368.378906 108.902344 364.78125 C 108.902344 361.179688 114.304688 361.179688 114.304688 364.78125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 130.25 348 C 130.25 351.601563 124.847656 351.601563 124.847656 348 C 124.847656 344.398438 130.25 344.398438 130.25 348 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 150.179688 327.863281 C 150.179688 331.464844 144.78125 331.464844 144.78125 327.863281 C 144.78125 324.261719 150.179688 324.261719 150.179688 327.863281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 170.773438 307.726563 C 170.773438 311.328125 165.375 311.328125 165.375 307.726563 C 165.375 304.125 170.773438 304.125 170.773438 307.726563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 196.019531 282.554688 C 196.019531 286.15625 190.621094 286.15625 190.621094 282.554688 C 190.621094 278.957031 196.019531 278.957031 196.019531 282.554688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 219.9375 260.742188 C 219.9375 264.339844 214.539063 264.339844 214.539063 260.742188 C 214.539063 257.140625 219.9375 257.140625 219.9375 260.742188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 239.203125 243.960938 C 239.203125 247.5625 233.804688 247.5625 233.804688 243.960938 C 233.804688 240.359375 239.203125 240.359375 239.203125 243.960938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 255.8125 230.535156 C 255.8125 234.136719 250.414063 234.136719 250.414063 230.535156 C 250.414063 226.9375 255.8125 226.9375 255.8125 230.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.40625 212.078125 C 276.40625 215.679688 271.007813 215.679688 271.007813 212.078125 C 271.007813 208.476563 276.40625 208.476563 276.40625 212.078125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.660156 191.941406 C 299.660156 195.542969 294.261719 195.542969 294.261719 191.941406 C 294.261719 188.339844 299.660156 188.339844 299.660156 191.941406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.253906 175.160156 C 320.253906 178.761719 314.855469 178.761719 314.855469 175.160156 C 314.855469 171.5625 320.253906 171.5625 320.253906 175.160156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 340.851563 158.378906 C 340.851563 161.980469 335.449219 161.980469 335.449219 158.378906 C 335.449219 154.78125 340.851563 154.78125 340.851563 158.378906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 362.109375 143.277344 C 362.109375 146.878906 356.710938 146.878906 356.710938 143.277344 C 356.710938 139.679688 362.109375 139.679688 362.109375 143.277344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 383.371094 126.496094 C 383.371094 130.097656 377.96875 130.097656 377.96875 126.496094 C 377.96875 122.898438 383.371094 122.898438 383.371094 126.496094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.316406 114.75 C 399.316406 118.351563 393.914063 118.351563 393.914063 114.75 C 393.914063 111.152344 399.316406 111.152344 399.316406 114.75 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421.238281 99.648438 C 421.238281 103.25 415.839844 103.25 415.839844 99.648438 C 415.839844 96.046875 421.238281 96.046875 421.238281 99.648438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.164063 84.546875 C 443.164063 88.144531 437.761719 88.144531 437.761719 84.546875 C 437.761719 80.945313 443.164063 80.945313 443.164063 84.546875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.457031 430.558594 L 434.59375 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.457031 430.558594 L 121.457031 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 199.742188 430.558594 L 199.742188 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.027344 430.558594 L 278.027344 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 356.308594 430.558594 L 356.308594 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.59375 430.558594 L 434.59375 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="118.121094" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="196.40625" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="274.691406" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="352.972656" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="431.257813" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 395.824219 L 59.039063 64.410156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 395.824219 L 51.839844 395.824219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 329.542969 L 51.839844 329.542969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 263.257813 L 51.839844 263.257813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 196.976563 L 51.839844 196.976563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 130.691406 L 51.839844 130.691406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 64.410156 L 51.839844 64.410156 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="399.160156"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-2" x="41.761719" y="332.878906"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-3" x="41.761719" y="266.59375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-4" x="41.761719" y="200.3125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-5" x="41.761719" y="134.027344"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-6" x="41.761719" y="67.746094"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="166.554688" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="176.159375" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="184.955469" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="193.751563" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="201.760156" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="207.364063" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="212.159375" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="220.167969" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="228.176562" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="232.971875" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="236.972656" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="244.98125" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="252.989844" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="256.990625" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="265.786719" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="273.795312" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="278.590625" y="34.675781"/>
+  <use xlink:href="#glyph2-15" x="283.385938" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="287.386719" y="34.675781"/>
+  <use xlink:href="#glyph2-16" x="295.395312" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="303.403906" y="34.675781"/>
+  <use xlink:href="#glyph2-1" x="307.404687" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="317.009375" y="34.675781"/>
+  <use xlink:href="#glyph2-17" x="321.010156" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="329.419531" y="34.675781"/>
+  <use xlink:href="#glyph2-18" x="333.420312" y="34.675781"/>
+  <use xlink:href="#glyph2-19" x="341.428906" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="349.4375" y="34.675781"/>
+  <use xlink:href="#glyph2-20" x="353.438281" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="260.726563" y="485.28125"/>
+  <use xlink:href="#glyph0-7" x="267.400391" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-7" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-12" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-7" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 403.375 C 77.101563 406.976563 71.699219 406.976563 71.699219 403.375 C 71.699219 399.777344 77.101563 399.777344 77.101563 403.375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 99.023438 379.882813 C 99.023438 383.484375 93.625 383.484375 93.625 379.882813 C 93.625 376.28125 99.023438 376.28125 99.023438 379.882813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 114.304688 364.78125 C 114.304688 368.378906 108.902344 368.378906 108.902344 364.78125 C 108.902344 361.179688 114.304688 361.179688 114.304688 364.78125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 130.25 348 C 130.25 351.601563 124.847656 351.601563 124.847656 348 C 124.847656 344.398438 130.25 344.398438 130.25 348 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 150.179688 327.863281 C 150.179688 331.464844 144.78125 331.464844 144.78125 327.863281 C 144.78125 324.261719 150.179688 324.261719 150.179688 327.863281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 170.773438 307.726563 C 170.773438 311.328125 165.375 311.328125 165.375 307.726563 C 165.375 304.125 170.773438 304.125 170.773438 307.726563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 196.019531 282.554688 C 196.019531 286.15625 190.621094 286.15625 190.621094 282.554688 C 190.621094 278.957031 196.019531 278.957031 196.019531 282.554688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 219.9375 260.742188 C 219.9375 264.339844 214.539063 264.339844 214.539063 260.742188 C 214.539063 257.140625 219.9375 257.140625 219.9375 260.742188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 239.203125 243.960938 C 239.203125 247.5625 233.804688 247.5625 233.804688 243.960938 C 233.804688 240.359375 239.203125 240.359375 239.203125 243.960938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 255.8125 230.535156 C 255.8125 234.136719 250.414063 234.136719 250.414063 230.535156 C 250.414063 226.9375 255.8125 226.9375 255.8125 230.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 276.40625 212.078125 C 276.40625 215.679688 271.007813 215.679688 271.007813 212.078125 C 271.007813 208.476563 276.40625 208.476563 276.40625 212.078125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 299.660156 191.941406 C 299.660156 195.542969 294.261719 195.542969 294.261719 191.941406 C 294.261719 188.339844 299.660156 188.339844 299.660156 191.941406 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 320.253906 175.160156 C 320.253906 178.761719 314.855469 178.761719 314.855469 175.160156 C 314.855469 171.5625 320.253906 171.5625 320.253906 175.160156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 340.851563 158.378906 C 340.851563 161.980469 335.449219 161.980469 335.449219 158.378906 C 335.449219 154.78125 340.851563 154.78125 340.851563 158.378906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 362.109375 143.277344 C 362.109375 146.878906 356.710938 146.878906 356.710938 143.277344 C 356.710938 139.679688 362.109375 139.679688 362.109375 143.277344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 383.371094 126.496094 C 383.371094 130.097656 377.96875 130.097656 377.96875 126.496094 C 377.96875 122.898438 383.371094 122.898438 383.371094 126.496094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 399.316406 114.75 C 399.316406 118.351563 393.914063 118.351563 393.914063 114.75 C 393.914063 111.152344 399.316406 111.152344 399.316406 114.75 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 421.238281 99.648438 C 421.238281 103.25 415.839844 103.25 415.839844 99.648438 C 415.839844 96.046875 421.238281 96.046875 421.238281 99.648438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.164063 84.546875 C 443.164063 88.144531 437.761719 88.144531 437.761719 84.546875 C 437.761719 80.945313 443.164063 80.945313 443.164063 84.546875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 403.304688 L 78.238281 399.199219 L 82.078125 395.109375 L 85.921875 391.035156 L 89.761719 386.976563 L 93.601563 382.933594 L 97.441406 378.910156 L 101.28125 374.898438 L 105.121094 370.90625 L 108.960938 366.929688 L 112.800781 362.96875 L 116.640625 359.023438 L 120.480469 355.09375 L 124.320313 351.179688 L 128.160156 347.285156 L 132 343.40625 L 135.839844 339.542969 L 139.679688 335.695313 L 143.519531 331.863281 L 147.359375 328.046875 L 151.199219 324.25 L 155.039063 320.464844 L 158.878906 316.699219 L 162.71875 312.949219 L 166.558594 309.214844 L 170.398438 305.496094 L 174.238281 301.792969 L 178.078125 298.109375 L 181.921875 294.4375 L 185.761719 290.785156 L 189.601563 287.148438 L 193.441406 283.527344 L 197.28125 279.921875 L 201.121094 276.335938 L 204.960938 272.761719 L 208.800781 269.207031 L 212.640625 265.667969 L 216.480469 262.144531 L 220.320313 258.636719 L 224.160156 255.144531 L 228 251.667969 L 231.839844 248.210938 L 235.679688 244.769531 L 239.519531 241.339844 L 243.359375 237.929688 L 247.199219 234.539063 L 251.039063 231.160156 L 254.878906 227.796875 L 258.71875 224.453125 L 262.558594 221.121094 L 266.398438 217.808594 L 270.238281 214.511719 L 274.078125 211.230469 L 277.921875 207.96875 L 281.761719 204.71875 L 285.601563 201.488281 L 289.441406 198.269531 L 293.28125 195.070313 L 297.121094 191.886719 L 300.960938 188.71875 L 304.800781 185.570313 L 308.640625 182.433594 L 312.480469 179.316406 L 316.320313 176.214844 L 320.160156 173.125 L 324 170.058594 L 327.839844 167.003906 L 331.679688 163.964844 L 335.519531 160.945313 L 339.359375 157.9375 L 343.199219 154.949219 L 347.039063 151.976563 L 350.878906 149.019531 L 354.71875 146.078125 L 358.558594 143.152344 L 362.398438 140.246094 L 366.238281 137.355469 L 370.078125 134.476563 L 373.921875 131.617188 L 377.761719 128.773438 L 381.601563 125.949219 L 385.441406 123.136719 L 389.28125 120.34375 L 393.121094 117.5625 L 396.960938 114.800781 L 400.800781 112.054688 L 404.640625 109.324219 L 408.480469 106.609375 L 412.320313 103.914063 L 416.160156 101.230469 L 420 98.566406 L 423.839844 95.917969 L 427.679688 93.285156 L 431.519531 90.667969 L 435.359375 88.066406 L 439.199219 85.484375 L 443.039063 82.914063 L 446.878906 80.363281 L 450.71875 77.828125 L 454.558594 75.308594 L 458.398438 72.804688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 84.53125 398.339844 L 92.171875 398.339844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 88.351563 402.160156 L 88.351563 394.523438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 96.492188 384.917969 L 104.128906 384.917969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 100.308594 388.734375 L 100.308594 381.097656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.078125 361.425781 L 126.714844 361.425781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 122.898438 365.242188 L 122.898438 357.605469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 132.367188 346.320313 L 140.003906 346.320313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 136.183594 350.140625 L 136.183594 342.503906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 148.976563 332.898438 L 156.613281 332.898438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 152.792969 336.714844 L 152.792969 329.078125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 162.925781 319.472656 L 170.5625 319.472656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 166.746094 323.292969 L 166.746094 315.65625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 182.859375 304.371094 L 190.496094 304.371094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 186.675781 308.1875 L 186.675781 300.550781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 198.804688 289.269531 L 206.441406 289.269531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 202.621094 293.085938 L 202.621094 285.449219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216.742188 277.523438 L 224.378906 277.523438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 220.558594 281.339844 L 220.558594 273.703125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 234.679688 264.097656 L 242.316406 264.097656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.496094 267.914063 L 238.496094 260.277344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 255.9375 250.671875 L 263.574219 250.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 259.757813 254.492188 L 259.757813 246.855469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 269.890625 240.605469 L 277.527344 240.605469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 273.707031 244.421875 L 273.707031 236.785156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 284.503906 230.535156 L 292.140625 230.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 288.324219 234.355469 L 288.324219 226.71875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 308.421875 213.757813 L 316.058594 213.757813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 312.242188 217.574219 L 312.242188 209.9375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 321.710938 205.367188 L 329.347656 205.367188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 325.527344 209.183594 L 325.527344 201.546875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.640625 193.621094 L 349.277344 193.621094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 345.457031 197.4375 L 345.457031 189.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 353.597656 185.230469 L 361.234375 185.230469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.417969 189.046875 L 357.417969 181.410156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 370.871094 173.484375 L 378.507813 173.484375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 374.691406 177.300781 L 374.691406 169.664063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 386.816406 163.414063 L 394.453125 163.414063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 390.636719 167.234375 L 390.636719 159.597656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 406.082031 151.667969 L 413.71875 151.667969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 409.902344 155.488281 L 409.902344 147.851563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 423.355469 139.921875 L 430.992188 139.921875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 427.175781 143.742188 L 427.175781 136.105469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 438.636719 129.855469 L 446.273438 129.855469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.457031 133.671875 L 442.457031 126.035156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 118.105469 L 462.21875 118.105469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 121.925781 L 458.398438 114.289063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 408.75 L 78.238281 405.027344 L 82.078125 401.324219 L 85.921875 397.640625 L 89.761719 393.972656 L 93.601563 390.320313 L 97.441406 386.6875 L 101.28125 383.074219 L 105.121094 379.476563 L 108.960938 375.898438 L 112.800781 372.335938 L 116.640625 368.792969 L 120.480469 365.265625 L 124.320313 361.757813 L 128.160156 358.265625 L 132 354.792969 L 135.839844 351.335938 L 139.679688 347.898438 L 143.519531 344.476563 L 147.359375 341.074219 L 151.199219 337.691406 L 155.039063 334.324219 L 158.878906 330.972656 L 162.71875 327.640625 L 166.558594 324.328125 L 170.398438 321.03125 L 174.238281 317.75 L 178.078125 314.488281 L 181.921875 311.246094 L 185.761719 308.019531 L 189.601563 304.8125 L 193.441406 301.621094 L 197.28125 298.449219 L 201.121094 295.292969 L 204.960938 292.15625 L 208.800781 289.035156 L 212.640625 285.933594 L 216.480469 282.847656 L 220.320313 279.78125 L 224.160156 276.734375 L 228 273.699219 L 231.839844 270.6875 L 235.679688 267.691406 L 239.519531 264.710938 L 243.359375 261.75 L 247.199219 258.808594 L 251.039063 255.882813 L 254.878906 252.976563 L 258.71875 250.085938 L 262.558594 247.214844 L 266.398438 244.359375 L 270.238281 241.519531 L 274.078125 238.703125 L 277.921875 235.898438 L 281.761719 233.117188 L 285.601563 230.351563 L 289.441406 227.601563 L 293.28125 224.871094 L 297.121094 222.15625 L 300.960938 219.460938 L 304.800781 216.78125 L 308.640625 214.121094 L 312.480469 211.480469 L 316.320313 208.855469 L 320.160156 206.25 L 324 203.660156 L 327.839844 201.085938 L 331.679688 198.53125 L 335.519531 195.996094 L 339.359375 193.476563 L 343.199219 190.976563 L 347.039063 188.492188 L 350.878906 186.027344 L 354.71875 183.578125 L 358.558594 181.148438 L 362.398438 178.734375 L 366.238281 176.339844 L 370.078125 173.960938 L 373.921875 171.601563 L 377.761719 169.261719 L 381.601563 166.9375 L 385.441406 164.628906 L 389.28125 162.339844 L 393.121094 160.070313 L 396.960938 157.816406 L 400.800781 155.578125 L 404.640625 153.359375 L 408.480469 151.160156 L 412.320313 148.976563 L 416.160156 146.8125 L 420 144.664063 L 423.839844 142.535156 L 427.679688 140.421875 L 431.519531 138.328125 L 435.359375 136.25 L 439.199219 134.191406 L 443.039063 132.148438 L 446.878906 130.125 L 450.71875 128.117188 L 454.558594 126.128906 L 458.398438 124.160156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="263.640625" y="332.296875"/>
+  <use xlink:href="#glyph0-9" x="270.314453" y="332.296875"/>
+  <use xlink:href="#glyph0-10" x="276.988281" y="332.296875"/>
+  <use xlink:href="#glyph0-9" x="280.322266" y="332.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-9" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-9" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="338.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="344.705078" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="351.378906" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="356.048828" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="361.679688" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="368.353516" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="371.6875" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="378.695313" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="382.029297" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="388.703125" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="392.037109" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="398.710938" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="405.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="412.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="416.728516" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="420.0625" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="427.070313" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="430.404297" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="437.078125" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="440.412109" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="447.085938" y="346.695313"/>
+  <use xlink:href="#glyph0-4" x="453.759766" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-9" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-9" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="331.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="338.03125" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="344.705078" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="349.375" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="355.005859" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="361.679688" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="365.013672" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="372.021484" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="375.355469" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="382.029297" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="385.363281" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="392.037109" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="398.710938" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="405.384766" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="410.054688" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="413.388672" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="420.396484" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="423.730469" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="430.404297" y="375.496094"/>
+  <use xlink:href="#glyph0-3" x="433.738281" y="375.496094"/>
+  <use xlink:href="#glyph0-3" x="440.412109" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="447.085938" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/baffle_fishway_suractif_slope_15_.svg b/docs/fr/calculators/par/baffle_fishway_suractif_slope_15_.svg
new file mode 100644
index 000000000..95a96f51b
--- /dev/null
+++ b/docs/fr/calculators/par/baffle_fishway_suractif_slope_15_.svg
@@ -0,0 +1,454 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="504pt" height="504pt" viewBox="0 0 504 504" version="1.1">
+<defs>
+<g>
+<symbol overflow="visible" id="glyph0-0">
+<path style="stroke:none;" d="M 1.5 0 L 1.5 -7.5 L 7.5 -7.5 L 7.5 0 Z M 1.6875 -0.1875 L 7.3125 -0.1875 L 7.3125 -7.3125 L 1.6875 -7.3125 Z M 1.6875 -0.1875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-1">
+<path style="stroke:none;" d="M 4.46875 0 L 3.414063 0 L 3.414063 -6.71875 C 3.160156 -6.476563 2.828125 -6.234375 2.414063 -5.996094 C 2 -5.75 1.628906 -5.570313 1.304688 -5.449219 L 1.304688 -6.46875 C 1.894531 -6.742188 2.410156 -7.078125 2.851563 -7.476563 C 3.292969 -7.871094 3.605469 -8.253906 3.789063 -8.625 L 4.46875 -8.625 Z M 4.46875 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-2">
+<path style="stroke:none;" d="M 6.039063 -1.015625 L 6.039063 0 L 0.363281 0 C 0.355469 -0.253906 0.394531 -0.496094 0.484375 -0.734375 C 0.628906 -1.117188 0.859375 -1.5 1.179688 -1.875 C 1.492188 -2.25 1.953125 -2.683594 2.5625 -3.175781 C 3.492188 -3.941406 4.125 -4.546875 4.453125 -4.992188 C 4.78125 -5.4375 4.945313 -5.859375 4.945313 -6.265625 C 4.945313 -6.679688 4.792969 -7.03125 4.496094 -7.320313 C 4.191406 -7.601563 3.804688 -7.746094 3.328125 -7.75 C 2.820313 -7.746094 2.414063 -7.59375 2.109375 -7.292969 C 1.804688 -6.984375 1.648438 -6.5625 1.648438 -6.03125 L 0.5625 -6.140625 C 0.632813 -6.945313 0.910156 -7.558594 1.398438 -7.988281 C 1.878906 -8.410156 2.53125 -8.625 3.351563 -8.625 C 4.171875 -8.625 4.824219 -8.394531 5.308594 -7.9375 C 5.789063 -7.480469 6.027344 -6.914063 6.03125 -6.242188 C 6.027344 -5.894531 5.957031 -5.558594 5.820313 -5.226563 C 5.675781 -4.890625 5.441406 -4.539063 5.117188 -4.175781 C 4.789063 -3.804688 4.25 -3.300781 3.492188 -2.664063 C 2.859375 -2.128906 2.453125 -1.769531 2.273438 -1.582031 C 2.09375 -1.394531 1.945313 -1.203125 1.828125 -1.015625 Z M 6.039063 -1.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-3">
+<path style="stroke:none;" d="M 0.503906 -2.265625 L 1.558594 -2.40625 C 1.679688 -1.808594 1.882813 -1.378906 2.175781 -1.113281 C 2.464844 -0.847656 2.820313 -0.714844 3.242188 -0.71875 C 3.734375 -0.714844 4.152344 -0.886719 4.496094 -1.234375 C 4.832031 -1.574219 5.003906 -2 5.007813 -2.515625 C 5.003906 -2.996094 4.847656 -3.394531 4.535156 -3.710938 C 4.21875 -4.023438 3.816406 -4.183594 3.328125 -4.183594 C 3.128906 -4.183594 2.878906 -4.144531 2.585938 -4.066406 L 2.703125 -4.992188 C 2.765625 -4.984375 2.824219 -4.980469 2.871094 -4.980469 C 3.320313 -4.980469 3.722656 -5.097656 4.085938 -5.332031 C 4.441406 -5.566406 4.621094 -5.925781 4.625 -6.414063 C 4.621094 -6.800781 4.492188 -7.121094 4.230469 -7.375 C 3.964844 -7.628906 3.625 -7.757813 3.21875 -7.757813 C 2.804688 -7.757813 2.464844 -7.628906 2.191406 -7.371094 C 1.917969 -7.113281 1.742188 -6.726563 1.664063 -6.210938 L 0.609375 -6.398438 C 0.738281 -7.105469 1.03125 -7.652344 1.488281 -8.042969 C 1.941406 -8.429688 2.507813 -8.625 3.195313 -8.625 C 3.660156 -8.625 4.09375 -8.523438 4.488281 -8.324219 C 4.878906 -8.121094 5.179688 -7.847656 5.390625 -7.5 C 5.601563 -7.148438 5.707031 -6.777344 5.707031 -6.390625 C 5.707031 -6.019531 5.605469 -5.683594 5.40625 -5.378906 C 5.207031 -5.074219 4.914063 -4.832031 4.523438 -4.652344 C 5.03125 -4.535156 5.425781 -4.289063 5.707031 -3.921875 C 5.988281 -3.546875 6.128906 -3.085938 6.128906 -2.539063 C 6.128906 -1.785156 5.855469 -1.148438 5.308594 -0.628906 C 4.761719 -0.105469 4.070313 0.152344 3.234375 0.152344 C 2.476563 0.152344 1.847656 -0.0703125 1.355469 -0.519531 C 0.855469 -0.96875 0.574219 -1.550781 0.503906 -2.265625 Z M 0.503906 -2.265625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-4">
+<path style="stroke:none;" d="M 3.878906 0 L 3.878906 -2.054688 L 0.152344 -2.054688 L 0.152344 -3.023438 L 4.070313 -8.589844 L 4.933594 -8.589844 L 4.933594 -3.023438 L 6.09375 -3.023438 L 6.09375 -2.054688 L 4.933594 -2.054688 L 4.933594 0 Z M 3.878906 -3.023438 L 3.878906 -6.898438 L 1.1875 -3.023438 Z M 3.878906 -3.023438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-5">
+<path style="stroke:none;" d="M 0.5 -2.25 L 1.605469 -2.34375 C 1.683594 -1.804688 1.871094 -1.398438 2.175781 -1.125 C 2.472656 -0.851563 2.835938 -0.714844 3.257813 -0.71875 C 3.765625 -0.714844 4.195313 -0.90625 4.546875 -1.292969 C 4.898438 -1.671875 5.074219 -2.179688 5.074219 -2.820313 C 5.074219 -3.414063 4.902344 -3.890625 4.566406 -4.242188 C 4.226563 -4.589844 3.785156 -4.761719 3.242188 -4.765625 C 2.898438 -4.761719 2.59375 -4.683594 2.320313 -4.53125 C 2.046875 -4.375 1.832031 -4.175781 1.675781 -3.929688 L 0.6875 -4.0625 L 1.515625 -8.472656 L 5.789063 -8.472656 L 5.789063 -7.464844 L 2.359375 -7.464844 L 1.898438 -5.15625 C 2.414063 -5.515625 2.953125 -5.695313 3.523438 -5.695313 C 4.269531 -5.695313 4.902344 -5.433594 5.421875 -4.914063 C 5.933594 -4.394531 6.191406 -3.726563 6.195313 -2.914063 C 6.191406 -2.132813 5.964844 -1.460938 5.515625 -0.898438 C 4.960938 -0.199219 4.210938 0.144531 3.257813 0.148438 C 2.476563 0.144531 1.835938 -0.0703125 1.34375 -0.507813 C 0.84375 -0.941406 0.5625 -1.523438 0.5 -2.25 Z M 0.5 -2.25 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-6">
+<path style="stroke:none;" d="M 4.757813 2.382813 L 4.757813 -0.664063 C 4.59375 -0.429688 4.363281 -0.238281 4.066406 -0.0859375 C 3.769531 0.0664063 3.457031 0.140625 3.128906 0.140625 C 2.390625 0.140625 1.753906 -0.152344 1.222656 -0.742188 C 0.6875 -1.332031 0.421875 -2.140625 0.421875 -3.171875 C 0.421875 -3.792969 0.527344 -4.355469 0.746094 -4.851563 C 0.957031 -5.34375 1.273438 -5.71875 1.6875 -5.976563 C 2.101563 -6.234375 2.554688 -6.363281 3.046875 -6.363281 C 3.816406 -6.363281 4.421875 -6.039063 4.863281 -5.390625 L 4.863281 -6.222656 L 5.8125 -6.222656 L 5.8125 2.382813 Z M 1.507813 -3.128906 C 1.503906 -2.328125 1.671875 -1.726563 2.011719 -1.328125 C 2.34375 -0.925781 2.746094 -0.726563 3.21875 -0.726563 C 3.664063 -0.726563 4.050781 -0.914063 4.375 -1.296875 C 4.699219 -1.671875 4.863281 -2.253906 4.863281 -3.035156 C 4.863281 -3.863281 4.691406 -4.484375 4.347656 -4.902344 C 4.003906 -5.320313 3.601563 -5.53125 3.148438 -5.53125 C 2.6875 -5.53125 2.300781 -5.335938 1.984375 -4.949219 C 1.664063 -4.558594 1.503906 -3.953125 1.507813 -3.128906 Z M 1.507813 -3.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-7">
+<path style="stroke:none;" d="M 0.375 -7.015625 L 0.644531 -7.84375 C 1.265625 -7.621094 1.714844 -7.433594 2 -7.277344 C 1.921875 -7.980469 1.882813 -8.464844 1.882813 -8.734375 L 2.730469 -8.734375 C 2.714844 -8.347656 2.667969 -7.863281 2.59375 -7.28125 C 2.996094 -7.480469 3.457031 -7.667969 3.976563 -7.84375 L 4.25 -7.015625 C 3.75 -6.84375 3.265625 -6.734375 2.789063 -6.6875 C 3.027344 -6.476563 3.363281 -6.109375 3.796875 -5.578125 L 3.09375 -5.078125 C 2.867188 -5.386719 2.597656 -5.808594 2.289063 -6.339844 C 2 -5.789063 1.746094 -5.367188 1.53125 -5.078125 L 0.835938 -5.578125 C 1.285156 -6.132813 1.609375 -6.5 1.8125 -6.6875 C 1.304688 -6.78125 0.828125 -6.890625 0.375 -7.015625 Z M 0.375 -7.015625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-8">
+<path style="stroke:none;" d="M 0.789063 0 L 0.789063 -8.589844 L 1.84375 -8.589844 L 1.84375 -5.507813 C 2.335938 -6.078125 2.957031 -6.363281 3.710938 -6.363281 C 4.164063 -6.363281 4.566406 -6.269531 4.910156 -6.089844 C 5.25 -5.90625 5.492188 -5.65625 5.640625 -5.339844 C 5.785156 -5.015625 5.859375 -4.550781 5.859375 -3.945313 L 5.859375 0 L 4.804688 0 L 4.804688 -3.945313 C 4.804688 -4.46875 4.6875 -4.851563 4.460938 -5.09375 C 4.226563 -5.328125 3.90625 -5.449219 3.492188 -5.453125 C 3.179688 -5.449219 2.882813 -5.367188 2.609375 -5.210938 C 2.328125 -5.046875 2.132813 -4.828125 2.019531 -4.550781 C 1.898438 -4.273438 1.839844 -3.890625 1.84375 -3.40625 L 1.84375 0 Z M 0.789063 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-9">
+<path style="stroke:none;" d="M 4.851563 -0.765625 C 4.460938 -0.433594 4.082031 -0.199219 3.722656 -0.0625 C 3.355469 0.0742188 2.96875 0.140625 2.5625 0.140625 C 1.875 0.140625 1.351563 -0.0234375 0.984375 -0.359375 C 0.617188 -0.6875 0.433594 -1.117188 0.433594 -1.640625 C 0.433594 -1.945313 0.5 -2.222656 0.640625 -2.472656 C 0.777344 -2.722656 0.960938 -2.925781 1.1875 -3.082031 C 1.410156 -3.234375 1.664063 -3.347656 1.945313 -3.429688 C 2.152344 -3.476563 2.464844 -3.53125 2.882813 -3.585938 C 3.734375 -3.6875 4.359375 -3.808594 4.765625 -3.949219 C 4.765625 -4.089844 4.769531 -4.179688 4.769531 -4.226563 C 4.769531 -4.648438 4.667969 -4.953125 4.46875 -5.132813 C 4.199219 -5.371094 3.800781 -5.488281 3.269531 -5.492188 C 2.769531 -5.488281 2.402344 -5.402344 2.167969 -5.230469 C 1.933594 -5.054688 1.757813 -4.746094 1.648438 -4.304688 L 0.617188 -4.445313 C 0.707031 -4.886719 0.863281 -5.242188 1.078125 -5.515625 C 1.289063 -5.78125 1.597656 -5.992188 2.007813 -6.140625 C 2.410156 -6.289063 2.882813 -6.363281 3.421875 -6.363281 C 3.953125 -6.363281 4.382813 -6.300781 4.714844 -6.175781 C 5.046875 -6.050781 5.292969 -5.890625 5.449219 -5.703125 C 5.605469 -5.511719 5.714844 -5.273438 5.777344 -4.984375 C 5.808594 -4.804688 5.824219 -4.480469 5.828125 -4.015625 L 5.828125 -2.609375 C 5.824219 -1.625 5.847656 -1.003906 5.894531 -0.746094 C 5.941406 -0.484375 6.03125 -0.238281 6.164063 0 L 5.0625 0 C 4.953125 -0.21875 4.882813 -0.472656 4.851563 -0.765625 Z M 4.765625 -3.125 C 4.375 -2.964844 3.800781 -2.832031 3.039063 -2.726563 C 2.605469 -2.660156 2.300781 -2.589844 2.121094 -2.515625 C 1.941406 -2.433594 1.800781 -2.320313 1.703125 -2.171875 C 1.605469 -2.019531 1.558594 -1.851563 1.558594 -1.671875 C 1.558594 -1.386719 1.664063 -1.152344 1.875 -0.96875 C 2.085938 -0.777344 2.398438 -0.683594 2.8125 -0.6875 C 3.21875 -0.683594 3.578125 -0.773438 3.894531 -0.953125 C 4.210938 -1.128906 4.445313 -1.371094 4.59375 -1.679688 C 4.707031 -1.917969 4.761719 -2.269531 4.765625 -2.734375 Z M 4.765625 -3.125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-10">
+<path style="stroke:none;" d="M 0 0.148438 L 2.492188 -8.734375 L 3.335938 -8.734375 L 0.851563 0.148438 Z M 0 0.148438 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-11">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph0-12">
+<path style="stroke:none;" d="M 6.339844 -5.050781 L 0.667969 -5.050781 L 0.667969 -6.035156 L 6.339844 -6.035156 Z M 6.339844 -2.445313 L 0.667969 -2.445313 L 0.667969 -3.429688 L 6.339844 -3.429688 Z M 6.339844 -2.445313 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-13">
+<path style="stroke:none;" d="M 0.382813 -2.578125 L 0.382813 -3.640625 L 3.621094 -3.640625 L 3.621094 -2.578125 Z M 0.382813 -2.578125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-14">
+<path style="stroke:none;" d="M 0.5 -4.234375 C 0.496094 -5.246094 0.601563 -6.0625 0.8125 -6.6875 C 1.019531 -7.304688 1.328125 -7.785156 1.742188 -8.121094 C 2.148438 -8.457031 2.667969 -8.625 3.296875 -8.625 C 3.757813 -8.625 4.164063 -8.53125 4.511719 -8.347656 C 4.855469 -8.160156 5.140625 -7.890625 5.371094 -7.542969 C 5.59375 -7.191406 5.773438 -6.765625 5.90625 -6.265625 C 6.035156 -5.761719 6.097656 -5.085938 6.101563 -4.234375 C 6.097656 -3.226563 5.996094 -2.414063 5.789063 -1.796875 C 5.578125 -1.175781 5.265625 -0.695313 4.859375 -0.359375 C 4.445313 -0.0195313 3.925781 0.144531 3.296875 0.148438 C 2.464844 0.144531 1.816406 -0.148438 1.347656 -0.742188 C 0.78125 -1.457031 0.496094 -2.621094 0.5 -4.234375 Z M 1.582031 -4.234375 C 1.582031 -2.824219 1.746094 -1.886719 2.074219 -1.417969 C 2.402344 -0.949219 2.808594 -0.714844 3.296875 -0.71875 C 3.777344 -0.714844 4.183594 -0.949219 4.519531 -1.421875 C 4.847656 -1.886719 5.015625 -2.824219 5.015625 -4.234375 C 5.015625 -5.648438 4.847656 -6.589844 4.519531 -7.054688 C 4.183594 -7.515625 3.773438 -7.746094 3.289063 -7.75 C 2.800781 -7.746094 2.414063 -7.542969 2.125 -7.136719 C 1.761719 -6.613281 1.582031 -5.644531 1.582031 -4.234375 Z M 1.582031 -4.234375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-15">
+<path style="stroke:none;" d="M 1.089844 0 L 1.089844 -1.203125 L 2.289063 -1.203125 L 2.289063 0 Z M 1.089844 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-16">
+<path style="stroke:none;" d="M 5.96875 -6.484375 L 4.921875 -6.40625 C 4.828125 -6.8125 4.695313 -7.113281 4.523438 -7.304688 C 4.234375 -7.605469 3.882813 -7.757813 3.46875 -7.757813 C 3.132813 -7.757813 2.835938 -7.664063 2.585938 -7.476563 C 2.25 -7.234375 1.988281 -6.878906 1.796875 -6.414063 C 1.605469 -5.949219 1.507813 -5.289063 1.5 -4.429688 C 1.753906 -4.8125 2.0625 -5.097656 2.433594 -5.289063 C 2.796875 -5.472656 3.183594 -5.566406 3.585938 -5.570313 C 4.289063 -5.566406 4.886719 -5.308594 5.382813 -4.792969 C 5.875 -4.277344 6.121094 -3.609375 6.125 -2.789063 C 6.121094 -2.25 6.003906 -1.746094 5.773438 -1.285156 C 5.539063 -0.820313 5.222656 -0.46875 4.816406 -0.222656 C 4.410156 0.0234375 3.949219 0.144531 3.433594 0.148438 C 2.554688 0.144531 1.835938 -0.175781 1.285156 -0.820313 C 0.726563 -1.46875 0.449219 -2.535156 0.453125 -4.019531 C 0.449219 -5.675781 0.757813 -6.882813 1.371094 -7.640625 C 1.902344 -8.296875 2.621094 -8.625 3.53125 -8.625 C 4.207031 -8.625 4.761719 -8.433594 5.195313 -8.054688 C 5.625 -7.675781 5.882813 -7.152344 5.96875 -6.484375 Z M 1.664063 -2.78125 C 1.664063 -2.417969 1.738281 -2.070313 1.894531 -1.738281 C 2.042969 -1.40625 2.261719 -1.152344 2.542969 -0.980469 C 2.820313 -0.800781 3.109375 -0.714844 3.414063 -0.71875 C 3.859375 -0.714844 4.242188 -0.894531 4.566406 -1.257813 C 4.882813 -1.613281 5.042969 -2.101563 5.046875 -2.726563 C 5.042969 -3.316406 4.886719 -3.785156 4.570313 -4.128906 C 4.25 -4.46875 3.851563 -4.640625 3.375 -4.640625 C 2.898438 -4.640625 2.492188 -4.46875 2.160156 -4.128906 C 1.828125 -3.785156 1.664063 -3.335938 1.664063 -2.78125 Z M 1.664063 -2.78125 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-17">
+<path style="stroke:none;" d="M 2.121094 -4.65625 C 1.683594 -4.816406 1.359375 -5.046875 1.148438 -5.34375 C 0.9375 -5.640625 0.832031 -5.996094 0.832031 -6.410156 C 0.832031 -7.035156 1.054688 -7.558594 1.503906 -7.984375 C 1.953125 -8.410156 2.550781 -8.625 3.296875 -8.625 C 4.042969 -8.625 4.648438 -8.40625 5.109375 -7.972656 C 5.566406 -7.535156 5.792969 -7.003906 5.796875 -6.382813 C 5.792969 -5.976563 5.6875 -5.628906 5.480469 -5.339844 C 5.269531 -5.042969 4.953125 -4.816406 4.53125 -4.65625 C 5.054688 -4.480469 5.457031 -4.203125 5.734375 -3.824219 C 6.007813 -3.4375 6.144531 -2.980469 6.148438 -2.453125 C 6.144531 -1.714844 5.886719 -1.097656 5.367188 -0.601563 C 4.84375 -0.101563 4.160156 0.144531 3.316406 0.148438 C 2.46875 0.144531 1.785156 -0.101563 1.265625 -0.605469 C 0.742188 -1.105469 0.480469 -1.734375 0.484375 -2.484375 C 0.480469 -3.039063 0.621094 -3.503906 0.910156 -3.886719 C 1.191406 -4.261719 1.597656 -4.519531 2.121094 -4.65625 Z M 1.910156 -6.445313 C 1.910156 -6.039063 2.039063 -5.707031 2.300781 -5.449219 C 2.5625 -5.191406 2.902344 -5.0625 3.320313 -5.0625 C 3.722656 -5.0625 4.054688 -5.1875 4.320313 -5.445313 C 4.578125 -5.695313 4.710938 -6.011719 4.710938 -6.386719 C 4.710938 -6.773438 4.574219 -7.097656 4.308594 -7.363281 C 4.035156 -7.625 3.703125 -7.757813 3.3125 -7.757813 C 2.90625 -7.757813 2.574219 -7.628906 2.308594 -7.371094 C 2.042969 -7.113281 1.910156 -6.804688 1.910156 -6.445313 Z M 1.570313 -2.476563 C 1.570313 -2.175781 1.640625 -1.886719 1.785156 -1.605469 C 1.925781 -1.324219 2.136719 -1.105469 2.421875 -0.949219 C 2.699219 -0.792969 3.003906 -0.714844 3.328125 -0.71875 C 3.832031 -0.714844 4.246094 -0.878906 4.578125 -1.207031 C 4.902344 -1.53125 5.066406 -1.941406 5.070313 -2.445313 C 5.066406 -2.945313 4.898438 -3.367188 4.5625 -3.703125 C 4.222656 -4.035156 3.800781 -4.199219 3.292969 -4.203125 C 2.792969 -4.199219 2.378906 -4.035156 2.058594 -3.710938 C 1.730469 -3.378906 1.570313 -2.96875 1.570313 -2.476563 Z M 1.570313 -2.476563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-18">
+<path style="stroke:none;" d="M 1.398438 -4.042969 L 0.316406 -4.042969 L 2.382813 -8.734375 L 3.234375 -8.734375 L 5.3125 -4.042969 L 4.253906 -4.042969 L 2.804688 -7.539063 Z M 1.398438 -4.042969 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-19">
+<path style="stroke:none;" d="M 3.007813 -1.390625 L 3.007813 -3.742188 L 0.667969 -3.742188 L 0.667969 -4.726563 L 3.007813 -4.726563 L 3.007813 -7.066406 L 4 -7.066406 L 4 -4.726563 L 6.339844 -4.726563 L 6.339844 -3.742188 L 4 -3.742188 L 4 -1.390625 Z M 3.007813 -1.390625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph0-20">
+<path style="stroke:none;" d="M 0.570313 -7.464844 L 0.570313 -8.476563 L 6.128906 -8.476563 L 6.128906 -7.65625 C 5.582031 -7.074219 5.039063 -6.300781 4.5 -5.335938 C 3.960938 -4.371094 3.546875 -3.378906 3.257813 -2.359375 C 3.046875 -1.636719 2.910156 -0.851563 2.851563 0 L 1.769531 0 C 1.78125 -0.675781 1.914063 -1.492188 2.167969 -2.449219 C 2.417969 -3.402344 2.78125 -4.324219 3.257813 -5.214844 C 3.734375 -6.105469 4.238281 -6.855469 4.773438 -7.464844 Z M 0.570313 -7.464844 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-0">
+<path style="stroke:none;" d="M 0 -1.5 L -7.5 -1.5 L -7.5 -7.5 L 0 -7.5 Z M -0.1875 -1.6875 L -0.1875 -7.3125 L -7.3125 -7.3125 L -7.3125 -1.6875 Z M -0.1875 -1.6875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-1">
+<path style="stroke:none;" d="M 0 -4.46875 L 0 -3.414063 L -6.71875 -3.417969 C -6.476563 -3.160156 -6.234375 -2.828125 -5.996094 -2.417969 C -5.75 -2.003906 -5.570313 -1.632813 -5.449219 -1.308594 L -6.46875 -1.308594 C -6.742188 -1.894531 -7.078125 -2.410156 -7.476563 -2.851563 C -7.871094 -3.292969 -8.253906 -3.605469 -8.625 -3.792969 L -8.625 -4.472656 Z M 0 -4.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-2">
+<path style="stroke:none;" d="M -1.011719 -6.039063 L 0 -6.039063 L 0 -0.363281 C -0.253906 -0.355469 -0.496094 -0.394531 -0.734375 -0.488281 C -1.117188 -0.628906 -1.5 -0.859375 -1.875 -1.179688 C -2.25 -1.496094 -2.683594 -1.957031 -3.175781 -2.5625 C -3.941406 -3.492188 -4.546875 -4.125 -4.992188 -4.453125 C -5.4375 -4.78125 -5.859375 -4.945313 -6.265625 -4.945313 C -6.679688 -4.945313 -7.03125 -4.792969 -7.320313 -4.496094 C -7.601563 -4.195313 -7.746094 -3.808594 -7.75 -3.328125 C -7.746094 -2.820313 -7.59375 -2.414063 -7.292969 -2.109375 C -6.984375 -1.804688 -6.5625 -1.648438 -6.03125 -1.648438 L -6.140625 -0.5625 C -6.945313 -0.636719 -7.558594 -0.914063 -7.988281 -1.402344 C -8.410156 -1.882813 -8.625 -2.535156 -8.625 -3.351563 C -8.625 -4.175781 -8.394531 -4.828125 -7.9375 -5.308594 C -7.480469 -5.789063 -6.914063 -6.027344 -6.242188 -6.03125 C -5.894531 -6.027344 -5.558594 -5.957031 -5.226563 -5.820313 C -4.890625 -5.675781 -4.539063 -5.441406 -4.175781 -5.117188 C -3.804688 -4.789063 -3.300781 -4.25 -2.664063 -3.492188 C -2.128906 -2.859375 -1.769531 -2.453125 -1.582031 -2.273438 C -1.394531 -2.09375 -1.203125 -1.945313 -1.011719 -1.828125 Z M -1.011719 -6.039063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-3">
+<path style="stroke:none;" d="M -2.265625 -0.503906 L -2.40625 -1.558594 C -1.808594 -1.679688 -1.378906 -1.882813 -1.113281 -2.175781 C -0.847656 -2.464844 -0.714844 -2.820313 -0.71875 -3.242188 C -0.714844 -3.734375 -0.886719 -4.152344 -1.234375 -4.496094 C -1.574219 -4.832031 -2 -5.003906 -2.511719 -5.007813 C -2.992188 -5.003906 -3.390625 -4.847656 -3.710938 -4.535156 C -4.023438 -4.21875 -4.183594 -3.816406 -4.183594 -3.328125 C -4.183594 -3.128906 -4.144531 -2.878906 -4.066406 -2.585938 L -4.992188 -2.703125 C -4.984375 -2.769531 -4.980469 -2.828125 -4.980469 -2.871094 C -4.980469 -3.320313 -5.097656 -3.722656 -5.332031 -4.085938 C -5.566406 -4.441406 -5.925781 -4.621094 -6.414063 -4.625 C -6.800781 -4.621094 -7.121094 -4.492188 -7.375 -4.230469 C -7.628906 -3.96875 -7.757813 -3.628906 -7.757813 -3.21875 C -7.757813 -2.804688 -7.628906 -2.464844 -7.371094 -2.191406 C -7.113281 -1.917969 -6.726563 -1.742188 -6.210938 -1.664063 L -6.398438 -0.609375 C -7.105469 -0.738281 -7.652344 -1.03125 -8.042969 -1.488281 C -8.429688 -1.945313 -8.625 -2.511719 -8.625 -3.195313 C -8.625 -3.660156 -8.523438 -4.09375 -8.324219 -4.488281 C -8.121094 -4.882813 -7.847656 -5.183594 -7.5 -5.394531 C -7.148438 -5.601563 -6.777344 -5.707031 -6.390625 -5.707031 C -6.019531 -5.707031 -5.683594 -5.605469 -5.378906 -5.40625 C -5.074219 -5.207031 -4.832031 -4.914063 -4.652344 -4.523438 C -4.535156 -5.03125 -4.289063 -5.425781 -3.921875 -5.707031 C -3.546875 -5.988281 -3.085938 -6.128906 -2.535156 -6.128906 C -1.78125 -6.128906 -1.144531 -5.855469 -0.628906 -5.308594 C -0.105469 -4.761719 0.152344 -4.070313 0.152344 -3.234375 C 0.152344 -2.476563 -0.0703125 -1.847656 -0.519531 -1.355469 C -0.96875 -0.855469 -1.550781 -0.574219 -2.265625 -0.503906 Z M -2.265625 -0.503906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-4">
+<path style="stroke:none;" d="M 0 -3.878906 L -2.054688 -3.878906 L -2.054688 -0.152344 L -3.023438 -0.152344 L -8.589844 -4.074219 L -8.589844 -4.933594 L -3.023438 -4.933594 L -3.023438 -6.09375 L -2.054688 -6.09375 L -2.054688 -4.933594 L 0 -4.933594 Z M -3.023438 -3.878906 L -6.898438 -3.878906 L -3.023438 -1.191406 Z M -3.023438 -3.878906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-5">
+<path style="stroke:none;" d="M -2.25 -0.5 L -2.34375 -1.605469 C -1.804688 -1.683594 -1.398438 -1.871094 -1.125 -2.175781 C -0.851563 -2.472656 -0.714844 -2.835938 -0.71875 -3.257813 C -0.714844 -3.765625 -0.90625 -4.195313 -1.292969 -4.546875 C -1.671875 -4.898438 -2.179688 -5.074219 -2.816406 -5.074219 C -3.414063 -5.074219 -3.890625 -4.902344 -4.242188 -4.566406 C -4.589844 -4.226563 -4.761719 -3.785156 -4.765625 -3.242188 C -4.761719 -2.898438 -4.683594 -2.59375 -4.53125 -2.320313 C -4.375 -2.046875 -4.175781 -1.832031 -3.929688 -1.675781 L -4.0625 -0.6875 L -8.472656 -1.519531 L -8.472656 -5.789063 L -7.464844 -5.789063 L -7.464844 -2.363281 L -5.15625 -1.898438 C -5.515625 -2.414063 -5.695313 -2.953125 -5.695313 -3.523438 C -5.695313 -4.269531 -5.433594 -4.902344 -4.914063 -5.421875 C -4.394531 -5.933594 -3.726563 -6.191406 -2.910156 -6.195313 C -2.132813 -6.191406 -1.460938 -5.964844 -0.894531 -5.515625 C -0.199219 -4.960938 0.144531 -4.210938 0.148438 -3.257813 C 0.144531 -2.476563 -0.0703125 -1.835938 -0.507813 -1.34375 C -0.941406 -0.847656 -1.523438 -0.566406 -2.25 -0.5 Z M -2.25 -0.5 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-6">
+<path style="stroke:none;" d="M 0 -0.789063 L -8.589844 -0.792969 L -8.589844 -1.847656 L -5.507813 -1.847656 C -6.078125 -2.335938 -6.363281 -2.957031 -6.363281 -3.710938 C -6.363281 -4.164063 -6.269531 -4.566406 -6.089844 -4.910156 C -5.90625 -5.25 -5.65625 -5.492188 -5.339844 -5.640625 C -5.015625 -5.785156 -4.550781 -5.859375 -3.941406 -5.859375 L 0 -5.859375 L 0 -4.804688 L -3.941406 -4.804688 C -4.46875 -4.804688 -4.851563 -4.6875 -5.09375 -4.460938 C -5.328125 -4.226563 -5.449219 -3.90625 -5.453125 -3.492188 C -5.449219 -3.179688 -5.367188 -2.882813 -5.210938 -2.609375 C -5.046875 -2.332031 -4.828125 -2.136719 -4.550781 -2.023438 C -4.273438 -1.902344 -3.890625 -1.84375 -3.40625 -1.847656 L 0 -1.84375 Z M 0 -0.789063 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-7">
+<path style="stroke:none;" d="M -0.765625 -4.851563 C -0.433594 -4.460938 -0.199219 -4.082031 -0.0625 -3.722656 C 0.0742188 -3.355469 0.140625 -2.96875 0.140625 -2.5625 C 0.140625 -1.875 -0.0234375 -1.351563 -0.359375 -0.984375 C -0.6875 -0.617188 -1.117188 -0.433594 -1.640625 -0.433594 C -1.945313 -0.433594 -2.222656 -0.5 -2.472656 -0.640625 C -2.722656 -0.777344 -2.925781 -0.960938 -3.082031 -1.1875 C -3.234375 -1.410156 -3.347656 -1.664063 -3.429688 -1.945313 C -3.476563 -2.152344 -3.53125 -2.464844 -3.585938 -2.882813 C -3.6875 -3.734375 -3.808594 -4.359375 -3.949219 -4.765625 C -4.089844 -4.765625 -4.179688 -4.769531 -4.226563 -4.769531 C -4.648438 -4.769531 -4.953125 -4.667969 -5.132813 -4.46875 C -5.371094 -4.199219 -5.488281 -3.800781 -5.492188 -3.269531 C -5.488281 -2.773438 -5.402344 -2.40625 -5.230469 -2.171875 C -5.054688 -1.933594 -4.746094 -1.757813 -4.304688 -1.648438 L -4.445313 -0.617188 C -4.886719 -0.707031 -5.242188 -0.863281 -5.515625 -1.078125 C -5.78125 -1.292969 -5.992188 -1.601563 -6.140625 -2.011719 C -6.289063 -2.414063 -6.363281 -2.886719 -6.363281 -3.421875 C -6.363281 -3.953125 -6.300781 -4.382813 -6.175781 -4.714844 C -6.050781 -5.046875 -5.890625 -5.292969 -5.703125 -5.449219 C -5.511719 -5.605469 -5.273438 -5.714844 -4.984375 -5.777344 C -4.804688 -5.808594 -4.480469 -5.824219 -4.015625 -5.828125 L -2.605469 -5.828125 C -1.625 -5.824219 -1.003906 -5.847656 -0.746094 -5.894531 C -0.480469 -5.941406 -0.234375 -6.03125 0 -6.164063 L 0 -5.0625 C -0.21875 -4.953125 -0.472656 -4.882813 -0.765625 -4.851563 Z M -3.121094 -4.765625 C -2.960938 -4.375 -2.828125 -3.800781 -2.726563 -3.039063 C -2.660156 -2.605469 -2.589844 -2.300781 -2.515625 -2.121094 C -2.433594 -1.941406 -2.320313 -1.800781 -2.171875 -1.703125 C -2.019531 -1.605469 -1.851563 -1.558594 -1.671875 -1.558594 C -1.386719 -1.558594 -1.152344 -1.664063 -0.964844 -1.875 C -0.773438 -2.085938 -0.679688 -2.398438 -0.683594 -2.8125 C -0.679688 -3.21875 -0.769531 -3.578125 -0.949219 -3.894531 C -1.128906 -4.210938 -1.371094 -4.445313 -1.679688 -4.59375 C -1.917969 -4.707031 -2.269531 -4.761719 -2.734375 -4.765625 Z M -3.121094 -4.765625 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-8">
+<path style="stroke:none;" d="M 0.148438 0 L -8.734375 -2.492188 L -8.734375 -3.335938 L 0.148438 -0.851563 Z M 0.148438 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-9">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph1-10">
+<path style="stroke:none;" d="M -3.109375 -0.398438 C -4.261719 -0.398438 -5.117188 -0.71875 -5.671875 -1.359375 C -6.132813 -1.894531 -6.363281 -2.546875 -6.363281 -3.316406 C -6.363281 -4.171875 -6.082031 -4.871094 -5.519531 -5.414063 C -4.957031 -5.953125 -4.183594 -6.222656 -3.199219 -6.226563 C -2.394531 -6.222656 -1.761719 -6.101563 -1.308594 -5.867188 C -0.847656 -5.625 -0.492188 -5.277344 -0.238281 -4.820313 C 0.015625 -4.359375 0.140625 -3.859375 0.140625 -3.316406 C 0.140625 -2.441406 -0.136719 -1.734375 -0.695313 -1.203125 C -1.253906 -0.664063 -2.058594 -0.398438 -3.109375 -0.398438 Z M -3.109375 -1.484375 C -2.308594 -1.480469 -1.710938 -1.65625 -1.320313 -2.003906 C -0.921875 -2.347656 -0.726563 -2.785156 -0.726563 -3.316406 C -0.726563 -3.839844 -0.925781 -4.273438 -1.324219 -4.621094 C -1.722656 -4.96875 -2.328125 -5.144531 -3.144531 -5.144531 C -3.914063 -5.144531 -4.496094 -4.96875 -4.894531 -4.617188 C -5.289063 -4.265625 -5.488281 -3.832031 -5.492188 -3.316406 C -5.488281 -2.789063 -5.292969 -2.351563 -4.898438 -2.003906 C -4.5 -1.65625 -3.902344 -1.480469 -3.109375 -1.484375 Z M -3.109375 -1.484375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph1-11">
+<path style="stroke:none;" d="M 0 -4.867188 L -0.914063 -4.867188 C -0.210938 -4.378906 0.140625 -3.722656 0.140625 -2.894531 C 0.140625 -2.527344 0.0703125 -2.183594 -0.0703125 -1.867188 C -0.210938 -1.546875 -0.386719 -1.308594 -0.597656 -1.15625 C -0.808594 -1 -1.070313 -0.894531 -1.382813 -0.832031 C -1.589844 -0.789063 -1.917969 -0.765625 -2.367188 -0.769531 L -6.222656 -0.769531 L -6.222656 -1.824219 L -2.773438 -1.824219 C -2.21875 -1.820313 -1.847656 -1.84375 -1.65625 -1.886719 C -1.378906 -1.949219 -1.160156 -2.089844 -1.003906 -2.308594 C -0.839844 -2.523438 -0.761719 -2.789063 -0.765625 -3.105469 C -0.761719 -3.417969 -0.84375 -3.714844 -1.007813 -3.996094 C -1.171875 -4.273438 -1.390625 -4.46875 -1.671875 -4.585938 C -1.945313 -4.699219 -2.351563 -4.757813 -2.886719 -4.757813 L -6.222656 -4.757813 L -6.222656 -5.8125 L 0 -5.8125 Z M 0 -4.867188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-0">
+<path style="stroke:none;" d="M 1.800781 0 L 1.800781 -9 L 9 -9 L 9 0 Z M 2.023438 -0.226563 L 8.773438 -0.226563 L 8.773438 -8.773438 L 2.023438 -8.773438 Z M 2.023438 -0.226563 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-1">
+<path style="stroke:none;" d="M 0.519531 -3.355469 L 2.546875 -3.550781 C 2.664063 -2.871094 2.910156 -2.371094 3.285156 -2.050781 C 3.65625 -1.730469 4.160156 -1.570313 4.796875 -1.574219 C 5.464844 -1.570313 5.96875 -1.710938 6.308594 -2 C 6.648438 -2.28125 6.820313 -2.613281 6.820313 -2.996094 C 6.820313 -3.234375 6.746094 -3.441406 6.605469 -3.617188 C 6.457031 -3.785156 6.207031 -3.933594 5.855469 -4.0625 C 5.609375 -4.144531 5.054688 -4.296875 4.191406 -4.515625 C 3.070313 -4.789063 2.289063 -5.128906 1.84375 -5.535156 C 1.207031 -6.097656 0.890625 -6.789063 0.894531 -7.609375 C 0.890625 -8.128906 1.039063 -8.617188 1.339844 -9.078125 C 1.632813 -9.53125 2.0625 -9.882813 2.625 -10.125 C 3.183594 -10.363281 3.859375 -10.480469 4.65625 -10.484375 C 5.945313 -10.480469 6.917969 -10.199219 7.574219 -9.632813 C 8.226563 -9.0625 8.570313 -8.304688 8.605469 -7.363281 L 6.523438 -7.269531 C 6.429688 -7.796875 6.238281 -8.179688 5.949219 -8.414063 C 5.652344 -8.644531 5.214844 -8.757813 4.632813 -8.761719 C 4.027344 -8.757813 3.554688 -8.632813 3.214844 -8.386719 C 2.992188 -8.222656 2.882813 -8.011719 2.882813 -7.75 C 2.882813 -7.503906 2.984375 -7.292969 3.191406 -7.121094 C 3.453125 -6.898438 4.089844 -6.671875 5.105469 -6.433594 C 6.113281 -6.191406 6.863281 -5.941406 7.351563 -5.691406 C 7.832031 -5.433594 8.210938 -5.085938 8.488281 -4.644531 C 8.761719 -4.199219 8.898438 -3.652344 8.902344 -3.003906 C 8.898438 -2.410156 8.734375 -1.855469 8.410156 -1.34375 C 8.078125 -0.824219 7.613281 -0.441406 7.015625 -0.191406 C 6.414063 0.0585938 5.667969 0.179688 4.773438 0.183594 C 3.46875 0.179688 2.46875 -0.117188 1.769531 -0.71875 C 1.070313 -1.320313 0.652344 -2.199219 0.519531 -3.355469 Z M 0.519531 -3.355469 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-2">
+<path style="stroke:none;" d="M 5.949219 0 L 5.949219 -1.117188 C 5.671875 -0.714844 5.316406 -0.402344 4.875 -0.175781 C 4.429688 0.0507813 3.960938 0.164063 3.472656 0.167969 C 2.96875 0.164063 2.519531 0.0585938 2.125 -0.160156 C 1.722656 -0.378906 1.433594 -0.691406 1.257813 -1.089844 C 1.078125 -1.488281 0.988281 -2.039063 0.992188 -2.742188 L 0.992188 -7.46875 L 2.96875 -7.46875 L 2.96875 -4.035156 C 2.964844 -2.984375 3 -2.339844 3.074219 -2.105469 C 3.144531 -1.863281 3.277344 -1.675781 3.472656 -1.542969 C 3.664063 -1.402344 3.90625 -1.335938 4.203125 -1.335938 C 4.539063 -1.335938 4.84375 -1.425781 5.109375 -1.613281 C 5.375 -1.792969 5.558594 -2.023438 5.660156 -2.300781 C 5.757813 -2.574219 5.804688 -3.246094 5.808594 -4.316406 L 5.808594 -7.46875 L 7.785156 -7.46875 L 7.785156 0 Z M 5.949219 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-3">
+<path style="stroke:none;" d="M 0.976563 -7.46875 L 2.820313 -7.46875 L 2.820313 -6.371094 C 3.054688 -6.742188 3.378906 -7.046875 3.789063 -7.285156 C 4.195313 -7.515625 4.648438 -7.632813 5.148438 -7.636719 C 6.011719 -7.632813 6.746094 -7.292969 7.355469 -6.617188 C 7.957031 -5.933594 8.261719 -4.988281 8.261719 -3.777344 C 8.261719 -2.527344 7.957031 -1.558594 7.347656 -0.867188 C 6.738281 -0.179688 6 0.164063 5.132813 0.167969 C 4.71875 0.164063 4.34375 0.0859375 4.011719 -0.078125 C 3.671875 -0.238281 3.320313 -0.519531 2.953125 -0.921875 L 2.953125 2.839844 L 0.976563 2.839844 Z M 2.933594 -3.859375 C 2.929688 -3.019531 3.09375 -2.398438 3.429688 -2 C 3.757813 -1.59375 4.164063 -1.394531 4.648438 -1.398438 C 5.101563 -1.394531 5.484375 -1.578125 5.792969 -1.949219 C 6.09375 -2.316406 6.246094 -2.921875 6.25 -3.761719 C 6.246094 -4.542969 6.089844 -5.121094 5.777344 -5.503906 C 5.464844 -5.878906 5.074219 -6.070313 4.613281 -6.074219 C 4.125 -6.070313 3.726563 -5.882813 3.410156 -5.515625 C 3.089844 -5.140625 2.929688 -4.589844 2.933594 -3.859375 Z M 2.933594 -3.859375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-4">
+<path style="stroke:none;" d="M 5.359375 -2.375 L 7.328125 -2.046875 C 7.070313 -1.320313 6.667969 -0.773438 6.125 -0.398438 C 5.578125 -0.0234375 4.898438 0.164063 4.078125 0.167969 C 2.777344 0.164063 1.816406 -0.257813 1.195313 -1.105469 C 0.703125 -1.78125 0.457031 -2.636719 0.457031 -3.675781 C 0.457031 -4.910156 0.777344 -5.882813 1.425781 -6.585938 C 2.070313 -7.285156 2.890625 -7.632813 3.882813 -7.636719 C 4.988281 -7.632813 5.863281 -7.265625 6.507813 -6.535156 C 7.148438 -5.796875 7.457031 -4.675781 7.433594 -3.164063 L 2.480469 -3.164063 C 2.492188 -2.578125 2.652344 -2.121094 2.960938 -1.796875 C 3.261719 -1.46875 3.640625 -1.304688 4.097656 -1.308594 C 4.402344 -1.304688 4.664063 -1.390625 4.878906 -1.558594 C 5.085938 -1.726563 5.246094 -1.996094 5.359375 -2.375 Z M 5.46875 -4.375 C 5.453125 -4.941406 5.308594 -5.375 5.027344 -5.675781 C 4.746094 -5.972656 4.402344 -6.121094 4 -6.125 C 3.566406 -6.121094 3.210938 -5.964844 2.933594 -5.652344 C 2.648438 -5.335938 2.507813 -4.910156 2.515625 -4.375 Z M 5.46875 -4.375 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-5">
+<path style="stroke:none;" d="M 2.925781 0 L 0.949219 0 L 0.949219 -7.46875 L 2.785156 -7.46875 L 2.785156 -6.40625 C 3.09375 -6.902344 3.375 -7.234375 3.628906 -7.394531 C 3.878906 -7.554688 4.164063 -7.632813 4.484375 -7.636719 C 4.929688 -7.632813 5.363281 -7.507813 5.785156 -7.261719 L 5.175781 -5.539063 C 4.839844 -5.75 4.53125 -5.859375 4.246094 -5.863281 C 3.96875 -5.859375 3.734375 -5.78125 3.542969 -5.632813 C 3.347656 -5.476563 3.195313 -5.203125 3.089844 -4.808594 C 2.976563 -4.40625 2.921875 -3.570313 2.925781 -2.304688 Z M 2.925781 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-6">
+<path style="stroke:none;" d="M 0.808594 -2.75 L 0.808594 -4.726563 L 4.691406 -4.726563 L 4.691406 -2.75 Z M 0.808594 -2.75 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-7">
+<path style="stroke:none;" d="M 2.511719 -5.1875 L 0.71875 -5.511719 C 0.917969 -6.230469 1.265625 -6.765625 1.757813 -7.113281 C 2.25 -7.460938 2.980469 -7.632813 3.953125 -7.636719 C 4.832031 -7.632813 5.488281 -7.53125 5.917969 -7.324219 C 6.347656 -7.113281 6.648438 -6.847656 6.828125 -6.527344 C 7 -6.207031 7.089844 -5.617188 7.09375 -4.761719 L 7.074219 -2.453125 C 7.070313 -1.792969 7.101563 -1.308594 7.167969 -1 C 7.226563 -0.6875 7.347656 -0.355469 7.523438 0 L 5.570313 0 C 5.515625 -0.128906 5.453125 -0.320313 5.378906 -0.582031 C 5.34375 -0.695313 5.320313 -0.773438 5.308594 -0.816406 C 4.96875 -0.484375 4.605469 -0.238281 4.222656 -0.078125 C 3.835938 0.0859375 3.425781 0.164063 2.996094 0.167969 C 2.222656 0.164063 1.617188 -0.0429688 1.175781 -0.457031 C 0.730469 -0.871094 0.507813 -1.398438 0.511719 -2.039063 C 0.507813 -2.460938 0.609375 -2.835938 0.8125 -3.167969 C 1.011719 -3.496094 1.292969 -3.75 1.660156 -3.925781 C 2.019531 -4.101563 2.546875 -4.253906 3.234375 -4.386719 C 4.15625 -4.558594 4.792969 -4.71875 5.152344 -4.871094 L 5.152344 -5.070313 C 5.148438 -5.445313 5.054688 -5.71875 4.871094 -5.882813 C 4.679688 -6.042969 4.328125 -6.121094 3.8125 -6.125 C 3.457031 -6.121094 3.183594 -6.054688 2.988281 -5.917969 C 2.789063 -5.777344 2.628906 -5.53125 2.511719 -5.1875 Z M 5.152344 -3.585938 C 4.894531 -3.5 4.496094 -3.398438 3.949219 -3.285156 C 3.402344 -3.164063 3.042969 -3.046875 2.875 -2.9375 C 2.613281 -2.75 2.484375 -2.519531 2.488281 -2.242188 C 2.484375 -1.964844 2.585938 -1.726563 2.796875 -1.523438 C 3 -1.320313 3.265625 -1.21875 3.585938 -1.222656 C 3.941406 -1.21875 4.28125 -1.335938 4.605469 -1.574219 C 4.84375 -1.75 5 -1.96875 5.078125 -2.230469 C 5.125 -2.394531 5.148438 -2.714844 5.152344 -3.191406 Z M 5.152344 -3.585938 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-8">
+<path style="stroke:none;" d="M 7.542969 -5.257813 L 5.597656 -4.90625 C 5.527344 -5.292969 5.378906 -5.585938 5.148438 -5.785156 C 4.914063 -5.980469 4.613281 -6.082031 4.246094 -6.082031 C 3.75 -6.082031 3.355469 -5.910156 3.066406 -5.570313 C 2.769531 -5.230469 2.625 -4.664063 2.628906 -3.867188 C 2.625 -2.980469 2.773438 -2.351563 3.074219 -1.988281 C 3.371094 -1.621094 3.769531 -1.441406 4.273438 -1.441406 C 4.644531 -1.441406 4.953125 -1.546875 5.195313 -1.761719 C 5.433594 -1.972656 5.601563 -2.339844 5.703125 -2.863281 L 7.644531 -2.53125 C 7.4375 -1.640625 7.050781 -0.964844 6.480469 -0.511719 C 5.910156 -0.0585938 5.144531 0.164063 4.183594 0.167969 C 3.089844 0.164063 2.21875 -0.175781 1.570313 -0.863281 C 0.921875 -1.550781 0.597656 -2.507813 0.597656 -3.726563 C 0.597656 -4.957031 0.921875 -5.914063 1.574219 -6.605469 C 2.222656 -7.289063 3.105469 -7.632813 4.21875 -7.636719 C 5.125 -7.632813 5.847656 -7.4375 6.386719 -7.046875 C 6.921875 -6.652344 7.304688 -6.054688 7.542969 -5.257813 Z M 7.542969 -5.257813 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-9">
+<path style="stroke:none;" d="M 4.457031 -7.46875 L 4.457031 -5.890625 L 3.109375 -5.890625 L 3.109375 -2.882813 C 3.105469 -2.273438 3.117188 -1.917969 3.144531 -1.816406 C 3.167969 -1.714844 3.226563 -1.628906 3.320313 -1.566406 C 3.410156 -1.496094 3.523438 -1.464844 3.65625 -1.46875 C 3.835938 -1.464844 4.097656 -1.527344 4.449219 -1.660156 L 4.621094 -0.125 C 4.15625 0.0703125 3.636719 0.164063 3.058594 0.167969 C 2.699219 0.164063 2.375 0.105469 2.09375 -0.0117188 C 1.804688 -0.128906 1.597656 -0.28125 1.464844 -0.472656 C 1.332031 -0.660156 1.238281 -0.917969 1.1875 -1.246094 C 1.144531 -1.472656 1.125 -1.9375 1.125 -2.636719 L 1.125 -5.890625 L 0.21875 -5.890625 L 0.21875 -7.46875 L 1.125 -7.46875 L 1.125 -8.949219 L 3.109375 -10.105469 L 3.109375 -7.46875 Z M 4.457031 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-10">
+<path style="stroke:none;" d="M 1.035156 -8.480469 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 -8.480469 Z M 1.035156 0 L 1.035156 -7.46875 L 3.007813 -7.46875 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-11">
+<path style="stroke:none;" d="M 3.085938 0 L 0.078125 -7.46875 L 2.152344 -7.46875 L 3.558594 -3.65625 L 3.964844 -2.382813 C 4.070313 -2.703125 4.136719 -2.917969 4.167969 -3.023438 C 4.230469 -3.234375 4.300781 -3.445313 4.378906 -3.65625 L 5.800781 -7.46875 L 7.832031 -7.46875 L 4.867188 0 Z M 3.085938 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-12">
+<path style="stroke:none;" d=""/>
+</symbol>
+<symbol overflow="visible" id="glyph2-13">
+<path style="stroke:none;" d="M 0.949219 0 L 0.949219 -10.308594 L 2.925781 -10.308594 L 2.925781 -6.59375 C 3.53125 -7.285156 4.253906 -7.632813 5.089844 -7.636719 C 5.996094 -7.632813 6.75 -7.304688 7.347656 -6.648438 C 7.941406 -5.988281 8.238281 -5.042969 8.242188 -3.8125 C 8.238281 -2.535156 7.933594 -1.550781 7.328125 -0.863281 C 6.71875 -0.175781 5.980469 0.164063 5.117188 0.167969 C 4.6875 0.164063 4.269531 0.0585938 3.855469 -0.152344 C 3.441406 -0.363281 3.082031 -0.675781 2.785156 -1.097656 L 2.785156 0 Z M 2.910156 -3.894531 C 2.90625 -3.117188 3.027344 -2.546875 3.277344 -2.179688 C 3.613281 -1.652344 4.070313 -1.386719 4.640625 -1.390625 C 5.074219 -1.386719 5.445313 -1.574219 5.753906 -1.949219 C 6.058594 -2.320313 6.210938 -2.90625 6.214844 -3.710938 C 6.210938 -4.5625 6.054688 -5.179688 5.75 -5.558594 C 5.4375 -5.933594 5.042969 -6.121094 4.5625 -6.125 C 4.085938 -6.121094 3.691406 -5.9375 3.378906 -5.570313 C 3.0625 -5.199219 2.90625 -4.640625 2.910156 -3.894531 Z M 2.910156 -3.894531 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-14">
+<path style="stroke:none;" d="M 0.167969 -7.46875 L 1.265625 -7.46875 L 1.265625 -8.03125 C 1.265625 -8.65625 1.332031 -9.125 1.464844 -9.433594 C 1.597656 -9.742188 1.84375 -9.992188 2.203125 -10.191406 C 2.5625 -10.382813 3.015625 -10.480469 3.566406 -10.484375 C 4.125 -10.480469 4.675781 -10.398438 5.21875 -10.230469 L 4.949219 -8.851563 C 4.632813 -8.925781 4.332031 -8.964844 4.042969 -8.964844 C 3.753906 -8.964844 3.546875 -8.894531 3.425781 -8.761719 C 3.300781 -8.625 3.238281 -8.371094 3.242188 -7.996094 L 3.242188 -7.46875 L 4.71875 -7.46875 L 4.71875 -5.914063 L 3.242188 -5.914063 L 3.242188 0 L 1.265625 0 L 1.265625 -5.914063 L 0.167969 -5.914063 Z M 0.167969 -7.46875 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-15">
+<path style="stroke:none;" d="M 1.035156 0 L 1.035156 -10.308594 L 3.007813 -10.308594 L 3.007813 0 Z M 1.035156 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-16">
+<path style="stroke:none;" d="M 0.335938 -2.128906 L 2.320313 -2.433594 C 2.402344 -2.042969 2.570313 -1.75 2.832031 -1.554688 C 3.085938 -1.351563 3.449219 -1.253906 3.917969 -1.257813 C 4.425781 -1.253906 4.808594 -1.347656 5.070313 -1.539063 C 5.238281 -1.667969 5.324219 -1.84375 5.328125 -2.066406 C 5.324219 -2.214844 5.277344 -2.339844 5.1875 -2.441406 C 5.085938 -2.53125 4.867188 -2.617188 4.527344 -2.699219 C 2.929688 -3.046875 1.917969 -3.367188 1.496094 -3.664063 C 0.902344 -4.0625 0.609375 -4.625 0.613281 -5.34375 C 0.609375 -5.988281 0.863281 -6.53125 1.378906 -6.972656 C 1.886719 -7.414063 2.679688 -7.632813 3.753906 -7.636719 C 4.773438 -7.632813 5.53125 -7.46875 6.03125 -7.136719 C 6.523438 -6.800781 6.867188 -6.308594 7.058594 -5.660156 L 5.195313 -5.316406 C 5.113281 -5.601563 4.960938 -5.824219 4.742188 -5.980469 C 4.515625 -6.132813 4.199219 -6.210938 3.789063 -6.214844 C 3.265625 -6.210938 2.894531 -6.136719 2.671875 -5.996094 C 2.519531 -5.890625 2.441406 -5.757813 2.445313 -5.597656 C 2.441406 -5.453125 2.507813 -5.335938 2.644531 -5.238281 C 2.816406 -5.105469 3.433594 -4.917969 4.488281 -4.683594 C 5.539063 -4.441406 6.273438 -4.148438 6.695313 -3.804688 C 7.105469 -3.449219 7.3125 -2.960938 7.3125 -2.335938 C 7.3125 -1.648438 7.023438 -1.058594 6.453125 -0.570313 C 5.878906 -0.078125 5.035156 0.164063 3.917969 0.167969 C 2.898438 0.164063 2.09375 -0.0390625 1.5 -0.449219 C 0.90625 -0.859375 0.515625 -1.417969 0.335938 -2.128906 Z M 0.335938 -2.128906 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-17">
+<path style="stroke:none;" d="M 0.597656 -5.738281 L 0.597656 -7.550781 L 7.804688 -7.550781 L 7.804688 -5.738281 Z M 0.597656 -2.617188 L 0.597656 -4.4375 L 7.804688 -4.4375 L 7.804688 -2.617188 Z M 0.597656 -2.617188 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-18">
+<path style="stroke:none;" d="M 5.667969 0 L 3.691406 0 L 3.691406 -7.445313 C 2.96875 -6.769531 2.117188 -6.269531 1.140625 -5.949219 L 1.140625 -7.742188 C 1.652344 -7.90625 2.210938 -8.226563 2.820313 -8.699219 C 3.421875 -9.167969 3.835938 -9.71875 4.0625 -10.351563 L 5.667969 -10.351563 Z M 5.667969 0 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-19">
+<path style="stroke:none;" d="M 0.640625 -2.652344 L 2.609375 -2.855469 C 2.660156 -2.40625 2.828125 -2.054688 3.105469 -1.796875 C 3.382813 -1.535156 3.699219 -1.40625 4.0625 -1.40625 C 4.472656 -1.40625 4.824219 -1.570313 5.109375 -1.90625 C 5.394531 -2.238281 5.535156 -2.746094 5.539063 -3.425781 C 5.535156 -4.054688 5.394531 -4.527344 5.113281 -4.847656 C 4.828125 -5.160156 4.460938 -5.320313 4.007813 -5.324219 C 3.4375 -5.320313 2.925781 -5.070313 2.480469 -4.570313 L 0.878906 -4.800781 L 1.890625 -10.167969 L 7.117188 -10.167969 L 7.117188 -8.316406 L 3.390625 -8.316406 L 3.078125 -6.566406 C 3.515625 -6.785156 3.96875 -6.894531 4.429688 -6.898438 C 5.304688 -6.894531 6.046875 -6.578125 6.660156 -5.941406 C 7.265625 -5.300781 7.570313 -4.472656 7.574219 -3.460938 C 7.570313 -2.609375 7.324219 -1.851563 6.835938 -1.1875 C 6.160156 -0.277344 5.230469 0.175781 4.042969 0.175781 C 3.089844 0.175781 2.3125 -0.078125 1.714844 -0.589844 C 1.113281 -1.097656 0.753906 -1.785156 0.640625 -2.652344 Z M 0.640625 -2.652344 "/>
+</symbol>
+<symbol overflow="visible" id="glyph2-20">
+<path style="stroke:none;" d="M 0.625 -7.761719 C 0.621094 -8.683594 0.824219 -9.367188 1.234375 -9.816406 C 1.636719 -10.257813 2.1875 -10.480469 2.882813 -10.484375 C 3.597656 -10.480469 4.15625 -10.261719 4.566406 -9.820313 C 4.96875 -9.375 5.171875 -8.6875 5.175781 -7.761719 C 5.171875 -6.835938 4.96875 -6.152344 4.566406 -5.710938 C 4.15625 -5.261719 3.609375 -5.039063 2.917969 -5.042969 C 2.199219 -5.039063 1.636719 -5.261719 1.234375 -5.707031 C 0.824219 -6.148438 0.621094 -6.832031 0.625 -7.761719 Z M 2.164063 -7.777344 C 2.160156 -7.101563 2.238281 -6.652344 2.398438 -6.425781 C 2.511719 -6.253906 2.675781 -6.167969 2.882813 -6.171875 C 3.09375 -6.167969 3.257813 -6.253906 3.375 -6.425781 C 3.523438 -6.652344 3.597656 -7.101563 3.601563 -7.777344 C 3.597656 -8.441406 3.523438 -8.890625 3.375 -9.121094 C 3.257813 -9.289063 3.09375 -9.375 2.882813 -9.378906 C 2.675781 -9.375 2.511719 -9.289063 2.398438 -9.125 C 2.238281 -8.890625 2.160156 -8.441406 2.164063 -7.777344 Z M 4.386719 0.394531 L 2.925781 0.394531 L 8.417969 -10.484375 L 9.835938 -10.484375 Z M 7.578125 -2.3125 C 7.574219 -3.234375 7.777344 -3.917969 8.1875 -4.367188 C 8.589844 -4.808594 9.144531 -5.03125 9.851563 -5.035156 C 10.554688 -5.03125 11.113281 -4.808594 11.519531 -4.367188 C 11.925781 -3.917969 12.128906 -3.234375 12.128906 -2.3125 C 12.128906 -1.382813 11.925781 -0.695313 11.519531 -0.253906 C 11.113281 0.191406 10.5625 0.410156 9.871094 0.414063 C 9.152344 0.410156 8.589844 0.191406 8.1875 -0.253906 C 7.777344 -0.695313 7.574219 -1.382813 7.578125 -2.3125 Z M 9.121094 -2.320313 C 9.117188 -1.648438 9.195313 -1.199219 9.351563 -0.976563 C 9.46875 -0.800781 9.628906 -0.714844 9.835938 -0.71875 C 10.042969 -0.714844 10.203125 -0.796875 10.320313 -0.96875 C 10.472656 -1.195313 10.550781 -1.648438 10.554688 -2.320313 C 10.550781 -2.988281 10.476563 -3.4375 10.328125 -3.671875 C 10.207031 -3.835938 10.042969 -3.917969 9.835938 -3.921875 C 9.621094 -3.917969 9.460938 -3.835938 9.351563 -3.671875 C 9.195313 -3.4375 9.117188 -2.988281 9.121094 -2.320313 Z M 9.121094 -2.320313 "/>
+</symbol>
+</g>
+</defs>
+<g id="surface36">
+<rect x="0" y="0" width="504" height="504" style="fill:rgb(100%,100%,100%);fill-opacity:1;stroke:none;"/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 403.992188 C 77.101563 407.589844 71.699219 407.589844 71.699219 403.992188 C 71.699219 400.390625 77.101563 400.390625 77.101563 403.992188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 94.464844 385.695313 C 94.464844 389.292969 89.0625 389.292969 89.0625 385.695313 C 89.0625 382.09375 94.464844 382.09375 94.464844 385.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 107.152344 371.054688 C 107.152344 374.65625 101.753906 374.65625 101.753906 371.054688 C 101.753906 367.457031 107.152344 367.457031 107.152344 371.054688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.84375 354.585938 C 121.84375 358.1875 116.445313 358.1875 116.445313 354.585938 C 116.445313 350.988281 121.84375 350.988281 121.84375 354.585938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.875 332.628906 C 139.875 336.230469 134.476563 336.230469 134.476563 332.628906 C 134.476563 329.03125 139.875 329.03125 139.875 332.628906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.578125 312.503906 C 160.578125 316.101563 155.179688 316.101563 155.179688 312.503906 C 155.179688 308.902344 160.578125 308.902344 160.578125 312.503906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.269531 296.035156 C 175.269531 299.632813 169.871094 299.632813 169.871094 296.035156 C 169.871094 292.433594 175.269531 292.433594 175.269531 296.035156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 195.304688 277.734375 C 195.304688 281.335938 189.90625 281.335938 189.90625 277.734375 C 189.90625 274.136719 195.304688 274.136719 195.304688 277.734375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216.007813 257.609375 C 216.007813 261.207031 210.609375 261.207031 210.609375 257.609375 C 210.609375 254.007813 216.007813 254.007813 216.007813 257.609375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 237.378906 237.480469 C 237.378906 241.082031 231.976563 241.082031 231.976563 237.480469 C 231.976563 233.878906 237.378906 233.878906 237.378906 237.480469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 256.746094 221.011719 C 256.746094 224.613281 251.34375 224.613281 251.34375 221.011719 C 251.34375 217.414063 256.746094 217.414063 256.746094 221.011719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.785156 200.886719 C 278.785156 204.484375 273.382813 204.484375 273.382813 200.886719 C 273.382813 197.285156 278.785156 197.285156 278.785156 200.886719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 300.820313 180.757813 C 300.820313 184.359375 295.421875 184.359375 295.421875 180.757813 C 295.421875 177.15625 300.820313 177.15625 300.820313 180.757813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 328.203125 160.628906 C 328.203125 164.230469 322.800781 164.230469 322.800781 160.628906 C 322.800781 157.03125 328.203125 157.03125 328.203125 160.628906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 343.5625 147.820313 C 343.5625 151.421875 338.164063 151.421875 338.164063 147.820313 C 338.164063 144.222656 343.5625 144.222656 343.5625 147.820313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.585938 138.671875 C 357.585938 142.273438 352.1875 142.273438 352.1875 138.671875 C 352.1875 135.074219 357.585938 135.074219 357.585938 138.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 372.277344 127.695313 C 372.277344 131.292969 366.878906 131.292969 366.878906 127.695313 C 366.878906 124.09375 372.277344 124.09375 372.277344 127.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.976563 118.542969 C 388.976563 122.144531 383.574219 122.144531 383.574219 118.542969 C 383.574219 114.945313 388.976563 114.945313 388.976563 118.542969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.003906 105.734375 C 405.003906 109.335938 399.601563 109.335938 399.601563 105.734375 C 399.601563 102.136719 405.003906 102.136719 405.003906 105.734375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 430.378906 89.269531 C 430.378906 92.867188 424.980469 92.867188 424.980469 89.269531 C 424.980469 85.667969 430.378906 85.667969 430.378906 89.269531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.738281 81.949219 C 443.738281 85.550781 438.335938 85.550781 438.335938 81.949219 C 438.335938 78.347656 443.738281 78.347656 443.738281 81.949219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.925781 430.558594 L 434.914063 430.558594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.925781 430.558594 L 121.925781 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 200.175781 430.558594 L 200.175781 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.421875 430.558594 L 278.421875 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 356.667969 430.558594 L 356.667969 437.761719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 434.914063 430.558594 L 434.914063 437.761719 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-1" x="118.589844" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-2" x="196.839844" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-3" x="275.085938" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-4" x="353.332031" y="456.480469"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-5" x="431.578125" y="456.480469"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 388.742188 L 59.039063 100.855469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 388.742188 L 51.839844 388.742188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 316.773438 L 51.839844 316.773438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 244.800781 L 51.839844 244.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 172.828125 L 51.839844 172.828125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 100.855469 L 51.839844 100.855469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-1" x="41.761719" y="392.078125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-2" x="41.761719" y="320.109375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-3" x="41.761719" y="248.136719"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-4" x="41.761719" y="176.164063"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-5" x="41.761719" y="104.191406"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 59.039063 430.558594 L 473.761719 430.558594 L 473.761719 59.039063 L 59.039063 59.039063 L 59.039063 430.558594 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph2-1" x="166.554688" y="34.675781"/>
+  <use xlink:href="#glyph2-2" x="176.159375" y="34.675781"/>
+  <use xlink:href="#glyph2-3" x="184.955469" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="193.751563" y="34.675781"/>
+  <use xlink:href="#glyph2-5" x="201.760156" y="34.675781"/>
+  <use xlink:href="#glyph2-6" x="207.364063" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="212.159375" y="34.675781"/>
+  <use xlink:href="#glyph2-8" x="220.167969" y="34.675781"/>
+  <use xlink:href="#glyph2-9" x="228.176562" y="34.675781"/>
+  <use xlink:href="#glyph2-10" x="232.971875" y="34.675781"/>
+  <use xlink:href="#glyph2-11" x="236.972656" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="244.98125" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="252.989844" y="34.675781"/>
+  <use xlink:href="#glyph2-13" x="256.990625" y="34.675781"/>
+  <use xlink:href="#glyph2-7" x="265.786719" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="273.795312" y="34.675781"/>
+  <use xlink:href="#glyph2-14" x="278.590625" y="34.675781"/>
+  <use xlink:href="#glyph2-15" x="283.385938" y="34.675781"/>
+  <use xlink:href="#glyph2-4" x="287.386719" y="34.675781"/>
+  <use xlink:href="#glyph2-16" x="295.395312" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="303.403906" y="34.675781"/>
+  <use xlink:href="#glyph2-1" x="307.404687" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="317.009375" y="34.675781"/>
+  <use xlink:href="#glyph2-17" x="321.010156" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="329.419531" y="34.675781"/>
+  <use xlink:href="#glyph2-18" x="333.420312" y="34.675781"/>
+  <use xlink:href="#glyph2-19" x="341.428906" y="34.675781"/>
+  <use xlink:href="#glyph2-12" x="349.4375" y="34.675781"/>
+  <use xlink:href="#glyph2-20" x="353.438281" y="34.675781"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-6" x="260.726563" y="485.28125"/>
+  <use xlink:href="#glyph0-7" x="267.400391" y="485.28125"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph1-6" x="12.960938" y="274.828125"/>
+  <use xlink:href="#glyph1-7" x="12.960938" y="268.154297"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="261.480469"/>
+  <use xlink:href="#glyph1-7" x="12.960938" y="258.146484"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="251.472656"/>
+  <use xlink:href="#glyph1-10" x="12.960938" y="248.138672"/>
+  <use xlink:href="#glyph1-11" x="12.960938" y="241.464844"/>
+  <use xlink:href="#glyph1-9" x="12.960938" y="234.791016"/>
+  <use xlink:href="#glyph1-6" x="12.960938" y="231.457031"/>
+  <use xlink:href="#glyph1-8" x="12.960938" y="224.783203"/>
+  <use xlink:href="#glyph1-7" x="12.960938" y="221.449219"/>
+</g>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 77.101563 403.992188 C 77.101563 407.589844 71.699219 407.589844 71.699219 403.992188 C 71.699219 400.390625 77.101563 400.390625 77.101563 403.992188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 94.464844 385.695313 C 94.464844 389.292969 89.0625 389.292969 89.0625 385.695313 C 89.0625 382.09375 94.464844 382.09375 94.464844 385.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 107.152344 371.054688 C 107.152344 374.65625 101.753906 374.65625 101.753906 371.054688 C 101.753906 367.457031 107.152344 367.457031 107.152344 371.054688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 121.84375 354.585938 C 121.84375 358.1875 116.445313 358.1875 116.445313 354.585938 C 116.445313 350.988281 121.84375 350.988281 121.84375 354.585938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.875 332.628906 C 139.875 336.230469 134.476563 336.230469 134.476563 332.628906 C 134.476563 329.03125 139.875 329.03125 139.875 332.628906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 160.578125 312.503906 C 160.578125 316.101563 155.179688 316.101563 155.179688 312.503906 C 155.179688 308.902344 160.578125 308.902344 160.578125 312.503906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 175.269531 296.035156 C 175.269531 299.632813 169.871094 299.632813 169.871094 296.035156 C 169.871094 292.433594 175.269531 292.433594 175.269531 296.035156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 195.304688 277.734375 C 195.304688 281.335938 189.90625 281.335938 189.90625 277.734375 C 189.90625 274.136719 195.304688 274.136719 195.304688 277.734375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 216.007813 257.609375 C 216.007813 261.207031 210.609375 261.207031 210.609375 257.609375 C 210.609375 254.007813 216.007813 254.007813 216.007813 257.609375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 237.378906 237.480469 C 237.378906 241.082031 231.976563 241.082031 231.976563 237.480469 C 231.976563 233.878906 237.378906 233.878906 237.378906 237.480469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 256.746094 221.011719 C 256.746094 224.613281 251.34375 224.613281 251.34375 221.011719 C 251.34375 217.414063 256.746094 217.414063 256.746094 221.011719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 278.785156 200.886719 C 278.785156 204.484375 273.382813 204.484375 273.382813 200.886719 C 273.382813 197.285156 278.785156 197.285156 278.785156 200.886719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 300.820313 180.757813 C 300.820313 184.359375 295.421875 184.359375 295.421875 180.757813 C 295.421875 177.15625 300.820313 177.15625 300.820313 180.757813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 328.203125 160.628906 C 328.203125 164.230469 322.800781 164.230469 322.800781 160.628906 C 322.800781 157.03125 328.203125 157.03125 328.203125 160.628906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 343.5625 147.820313 C 343.5625 151.421875 338.164063 151.421875 338.164063 147.820313 C 338.164063 144.222656 343.5625 144.222656 343.5625 147.820313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 357.585938 138.671875 C 357.585938 142.273438 352.1875 142.273438 352.1875 138.671875 C 352.1875 135.074219 357.585938 135.074219 357.585938 138.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 372.277344 127.695313 C 372.277344 131.292969 366.878906 131.292969 366.878906 127.695313 C 366.878906 124.09375 372.277344 124.09375 372.277344 127.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 388.976563 118.542969 C 388.976563 122.144531 383.574219 122.144531 383.574219 118.542969 C 383.574219 114.945313 388.976563 114.945313 388.976563 118.542969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 405.003906 105.734375 C 405.003906 109.335938 399.601563 109.335938 399.601563 105.734375 C 399.601563 102.136719 405.003906 102.136719 405.003906 105.734375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 430.378906 89.269531 C 430.378906 92.867188 424.980469 92.867188 424.980469 89.269531 C 424.980469 85.667969 430.378906 85.667969 430.378906 89.269531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 443.738281 81.949219 C 443.738281 85.550781 438.335938 85.550781 438.335938 81.949219 C 438.335938 78.347656 443.738281 78.347656 443.738281 81.949219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 461.101563 72.800781 C 461.101563 76.398438 455.699219 76.398438 455.699219 72.800781 C 455.699219 69.199219 461.101563 69.199219 461.101563 72.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 404.910156 L 78.238281 400.410156 L 82.078125 395.929688 L 85.921875 391.476563 L 89.761719 387.042969 L 93.601563 382.636719 L 97.441406 378.253906 L 101.28125 373.894531 L 105.121094 369.558594 L 108.960938 365.246094 L 112.800781 360.957031 L 116.640625 356.691406 L 120.480469 352.453125 L 124.320313 348.234375 L 128.160156 344.042969 L 132 339.871094 L 135.839844 335.726563 L 139.679688 331.601563 L 143.519531 327.503906 L 147.359375 323.429688 L 151.199219 319.378906 L 155.039063 315.351563 L 158.878906 311.347656 L 162.71875 307.367188 L 166.558594 303.414063 L 170.398438 299.480469 L 174.238281 295.570313 L 178.078125 291.6875 L 181.921875 287.828125 L 185.761719 283.988281 L 189.601563 280.175781 L 193.441406 276.386719 L 197.28125 272.621094 L 201.121094 268.878906 L 204.960938 265.160156 L 208.800781 261.464844 L 212.640625 257.792969 L 216.480469 254.144531 L 220.320313 250.523438 L 224.160156 246.921875 L 228 243.347656 L 231.839844 239.792969 L 235.679688 236.265625 L 239.519531 232.761719 L 243.359375 229.28125 L 247.199219 225.824219 L 251.039063 222.390625 L 254.878906 218.980469 L 258.71875 215.59375 L 262.558594 212.230469 L 266.398438 208.894531 L 270.238281 205.578125 L 274.078125 202.289063 L 277.921875 199.019531 L 281.761719 195.777344 L 285.601563 192.558594 L 289.441406 189.363281 L 293.28125 186.1875 L 297.121094 183.039063 L 300.960938 179.917969 L 304.800781 176.816406 L 308.640625 173.738281 L 312.480469 170.683594 L 316.320313 167.65625 L 320.160156 164.648438 L 324 161.667969 L 327.839844 158.707031 L 331.679688 155.773438 L 335.519531 152.863281 L 339.359375 149.976563 L 343.199219 147.113281 L 347.039063 144.273438 L 350.878906 141.457031 L 354.71875 138.664063 L 358.558594 135.894531 L 362.398438 133.152344 L 366.238281 130.429688 L 370.078125 127.730469 L 373.921875 125.058594 L 377.761719 122.410156 L 381.601563 119.785156 L 385.441406 117.179688 L 389.28125 114.601563 L 393.121094 112.046875 L 396.960938 109.515625 L 400.800781 107.007813 L 404.640625 104.527344 L 408.480469 102.066406 L 412.320313 99.628906 L 416.160156 97.21875 L 420 94.828125 L 423.839844 92.464844 L 427.679688 90.125 L 431.519531 87.808594 L 435.359375 85.511719 L 439.199219 83.242188 L 443.039063 80.996094 L 446.878906 78.777344 L 450.71875 76.578125 L 454.558594 74.402344 L 458.398438 72.25 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 70.582031 416.800781 L 78.21875 416.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 420.617188 L 74.398438 412.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 81.265625 402.160156 L 88.902344 402.160156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 85.085938 405.980469 L 85.085938 398.34375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 92.621094 389.351563 L 100.257813 389.351563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 96.4375 393.171875 L 96.4375 385.535156 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 104.640625 376.542969 L 112.277344 376.542969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 108.460938 380.363281 L 108.460938 372.726563 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 115.324219 363.734375 L 122.960938 363.734375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 119.144531 367.554688 L 119.144531 359.917969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 125.34375 352.757813 L 132.980469 352.757813 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 129.160156 356.574219 L 129.160156 348.9375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 135.359375 341.777344 L 142.996094 341.777344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 139.179688 345.597656 L 139.179688 337.960938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 149.386719 328.96875 L 157.023438 328.96875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 153.203125 332.789063 L 153.203125 325.152344 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 164.746094 314.332031 L 172.382813 314.332031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 168.5625 318.148438 L 168.5625 310.511719 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 182.777344 299.695313 L 190.414063 299.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 186.59375 303.511719 L 186.59375 295.875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 194.128906 288.714844 L 201.765625 288.714844 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 197.949219 292.535156 L 197.949219 284.898438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 209.488281 277.734375 L 217.125 277.734375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 213.308594 281.554688 L 213.308594 273.917969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 227.519531 263.097656 L 235.15625 263.097656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.339844 266.917969 L 231.339844 259.28125 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 240.878906 253.949219 L 248.515625 253.949219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.695313 257.765625 L 244.695313 250.128906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 254.234375 244.800781 L 261.871094 244.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 258.050781 248.617188 L 258.050781 240.980469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 270.261719 233.820313 L 277.898438 233.820313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 274.078125 237.640625 L 274.078125 230.003906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 284.953125 224.671875 L 292.589844 224.671875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 288.773438 228.492188 L 288.773438 220.855469 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 304.320313 213.695313 L 311.957031 213.695313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 308.140625 217.511719 L 308.140625 209.875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 315.671875 206.375 L 323.3125 206.375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 319.492188 210.191406 L 319.492188 202.554688 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 341.050781 191.734375 L 348.6875 191.734375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 344.871094 195.554688 L 344.871094 187.917969 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 356.410156 182.585938 L 364.046875 182.585938 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 360.230469 186.40625 L 360.230469 178.769531 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 370.433594 173.4375 L 378.074219 173.4375 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 374.253906 177.257813 L 374.253906 169.621094 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 392.472656 164.289063 L 400.109375 164.289063 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 396.292969 168.109375 L 396.292969 160.472656 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 411.171875 155.140625 L 418.808594 155.140625 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 414.992188 158.957031 L 414.992188 151.320313 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 429.871094 145.992188 L 437.507813 145.992188 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 433.691406 149.808594 L 433.691406 142.171875 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 442.5625 140.503906 L 450.199219 140.503906 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 446.378906 144.320313 L 446.378906 136.683594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 454.582031 133.183594 L 462.21875 133.183594 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 458.398438 137 L 458.398438 129.363281 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 74.398438 411.421875 L 78.238281 407.253906 L 82.078125 403.117188 L 85.921875 399.007813 L 89.761719 394.929688 L 93.601563 390.878906 L 97.441406 386.855469 L 101.28125 382.863281 L 105.121094 378.898438 L 108.960938 374.960938 L 112.800781 371.054688 L 116.640625 367.179688 L 120.480469 363.328125 L 124.320313 359.511719 L 128.160156 355.71875 L 132 351.957031 L 135.839844 348.222656 L 139.679688 344.519531 L 143.519531 340.84375 L 147.359375 337.199219 L 151.199219 333.582031 L 155.039063 329.992188 L 158.878906 326.433594 L 162.71875 322.902344 L 166.558594 319.398438 L 170.398438 315.925781 L 174.238281 312.480469 L 178.078125 309.066406 L 181.921875 305.679688 L 185.761719 302.324219 L 189.601563 298.996094 L 193.441406 295.695313 L 197.28125 292.425781 L 201.121094 289.183594 L 204.960938 285.96875 L 208.800781 282.785156 L 212.640625 279.632813 L 216.480469 276.503906 L 220.320313 273.40625 L 224.160156 270.339844 L 228 267.300781 L 231.839844 264.289063 L 235.679688 261.308594 L 239.519531 258.355469 L 243.359375 255.429688 L 247.199219 252.535156 L 251.039063 249.671875 L 254.878906 246.832031 L 258.71875 244.027344 L 262.558594 241.246094 L 266.398438 238.496094 L 270.238281 235.773438 L 274.078125 233.082031 L 277.921875 230.417969 L 281.761719 227.785156 L 285.601563 225.175781 L 289.441406 222.601563 L 293.28125 220.050781 L 297.121094 217.535156 L 300.960938 215.042969 L 304.800781 212.582031 L 308.640625 210.148438 L 312.480469 207.746094 L 316.320313 205.371094 L 320.160156 203.027344 L 324 200.710938 L 327.839844 198.421875 L 331.679688 196.164063 L 335.519531 193.933594 L 339.359375 191.730469 L 343.199219 189.558594 L 347.039063 187.414063 L 350.878906 185.300781 L 354.71875 183.214844 L 358.558594 181.160156 L 362.398438 179.132813 L 366.238281 177.132813 L 370.078125 175.164063 L 373.921875 173.222656 L 377.761719 171.308594 L 381.601563 169.425781 L 385.441406 167.570313 L 389.28125 165.746094 L 393.121094 163.949219 L 396.960938 162.183594 L 400.800781 160.445313 L 404.640625 158.734375 L 408.480469 157.054688 L 412.320313 155.402344 L 416.160156 153.777344 L 420 152.183594 L 423.839844 150.617188 L 427.679688 149.082031 L 431.519531 147.574219 L 435.359375 146.097656 L 439.199219 144.644531 L 443.039063 143.226563 L 446.878906 141.832031 L 450.71875 140.472656 L 454.558594 139.136719 L 458.398438 137.832031 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,100%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 342.398438 L 252.839844 342.398438 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,100%);stroke-opacity:1;stroke-miterlimit:10;" d="M 231.238281 371.199219 L 252.839844 371.199219 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 244.738281 328 C 244.738281 331.601563 239.339844 331.601563 239.339844 328 C 239.339844 324.398438 244.738281 324.398438 244.738281 328 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 238.222656 356.800781 L 245.859375 356.800781 "/>
+<path style="fill:none;stroke-width:0.75;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 242.039063 360.617188 L 242.039063 352.980469 "/>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="263.640625" y="332.296875"/>
+  <use xlink:href="#glyph0-9" x="270.314453" y="332.296875"/>
+  <use xlink:href="#glyph0-10" x="276.988281" y="332.296875"/>
+  <use xlink:href="#glyph0-9" x="280.322266" y="332.296875"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="263.640625" y="346.695313"/>
+  <use xlink:href="#glyph0-9" x="270.314453" y="346.695313"/>
+  <use xlink:href="#glyph0-10" x="276.988281" y="346.695313"/>
+  <use xlink:href="#glyph0-9" x="280.322266" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="286.996094" y="346.695313"/>
+  <use xlink:href="#glyph0-12" x="290.330078" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="297.337891" y="346.695313"/>
+  <use xlink:href="#glyph0-13" x="300.671875" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="304.667969" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="308.001953" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="314.675781" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="318.009766" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="324.683594" y="346.695313"/>
+  <use xlink:href="#glyph0-17" x="331.357422" y="346.695313"/>
+  <use xlink:href="#glyph0-5" x="338.03125" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="344.705078" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="351.378906" y="346.695313"/>
+  <use xlink:href="#glyph0-18" x="356.048828" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="361.679688" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="368.353516" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="371.6875" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="378.695313" y="346.695313"/>
+  <use xlink:href="#glyph0-1" x="382.029297" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="388.703125" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="392.037109" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="398.710938" y="346.695313"/>
+  <use xlink:href="#glyph0-6" x="405.384766" y="346.695313"/>
+  <use xlink:href="#glyph0-7" x="412.058594" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="416.728516" y="346.695313"/>
+  <use xlink:href="#glyph0-19" x="420.0625" y="346.695313"/>
+  <use xlink:href="#glyph0-11" x="427.070313" y="346.695313"/>
+  <use xlink:href="#glyph0-14" x="430.404297" y="346.695313"/>
+  <use xlink:href="#glyph0-15" x="437.078125" y="346.695313"/>
+  <use xlink:href="#glyph0-2" x="440.412109" y="346.695313"/>
+  <use xlink:href="#glyph0-16" x="447.085938" y="346.695313"/>
+  <use xlink:href="#glyph0-3" x="453.759766" y="346.695313"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="263.640625" y="361.09375"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="361.09375"/>
+  <use xlink:href="#glyph0-9" x="273.648438" y="361.09375"/>
+</g>
+<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
+  <use xlink:href="#glyph0-8" x="263.640625" y="375.496094"/>
+  <use xlink:href="#glyph0-10" x="270.314453" y="375.496094"/>
+  <use xlink:href="#glyph0-9" x="273.648438" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="280.322266" y="375.496094"/>
+  <use xlink:href="#glyph0-12" x="283.65625" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="290.664063" y="375.496094"/>
+  <use xlink:href="#glyph0-13" x="293.998047" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="297.994141" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="301.328125" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="308.001953" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="311.335938" y="375.496094"/>
+  <use xlink:href="#glyph0-17" x="318.009766" y="375.496094"/>
+  <use xlink:href="#glyph0-3" x="324.683594" y="375.496094"/>
+  <use xlink:href="#glyph0-4" x="331.357422" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="338.03125" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="344.705078" y="375.496094"/>
+  <use xlink:href="#glyph0-18" x="349.375" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="355.005859" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="361.679688" y="375.496094"/>
+  <use xlink:href="#glyph0-19" x="365.013672" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="372.021484" y="375.496094"/>
+  <use xlink:href="#glyph0-1" x="375.355469" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="382.029297" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="385.363281" y="375.496094"/>
+  <use xlink:href="#glyph0-5" x="392.037109" y="375.496094"/>
+  <use xlink:href="#glyph0-6" x="398.710938" y="375.496094"/>
+  <use xlink:href="#glyph0-7" x="405.384766" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="410.054688" y="375.496094"/>
+  <use xlink:href="#glyph0-19" x="413.388672" y="375.496094"/>
+  <use xlink:href="#glyph0-11" x="420.396484" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="423.730469" y="375.496094"/>
+  <use xlink:href="#glyph0-15" x="430.404297" y="375.496094"/>
+  <use xlink:href="#glyph0-2" x="433.738281" y="375.496094"/>
+  <use xlink:href="#glyph0-14" x="440.412109" y="375.496094"/>
+  <use xlink:href="#glyph0-20" x="447.085938" y="375.496094"/>
+</g>
+</g>
+</svg>
diff --git a/docs/fr/calculators/par/calage.md b/docs/fr/calculators/par/calage.md
new file mode 100644
index 000000000..905f051dc
--- /dev/null
+++ b/docs/fr/calculators/par/calage.md
@@ -0,0 +1,38 @@
+# Calage d'une passe à ralentisseurs
+
+Ce module permet de dimensionner une passe à ralentisseur. Les types de passes à ralentisseurs supportés sont:
+
+- [passes à ralentisseurs plans](theorie_plans.md)&nbsp;;
+- [passes à ralentisseurs "Fatou"](theorie_fatou.md)&nbsp;;
+- [passes à ralentisseurs à fonds suractifs](theorie_suractif.md)&nbsp;;
+- [passes à ralentisseurs mixtes](theorie_mixte.md).
+
+Voir [l'ensemble des formules utilisées pour les passes à ralentisseurs](formules.md).
+
+## Calage hydraulique de la passe
+
+L'outil permet de calculer l'une des valeurs suivantes&nbsp;:
+
+- le débit passant dans la passe (m<sup>3</sup>/s)&nbsp;;
+- la charge en amont de la passe (m)&nbsp;;
+- la largeur de la passe (m) pour les types ralentisseurs plans et Fatou&nbsp;.
+
+Compte tenu des paramètres obligatoires suivants&nbsp;:
+
+- le type de passe (Plans, Fatou, fonds suractifs ou mixtes)&nbsp;;
+- [la pente (m/m)](../hsl/pente.md).
+
+Le paramètre "Espacement entre les ralentisseurs (m)" est facultatif. S'il n'est pas renseigné, Sa valeur standard est alors calculée. S'il est fourni, si sa valeur s'écarte de plus de 10% de la valeur standard, une erreur est générée.
+
+## Calage altimétrique de la passe
+
+Les paramètres de calage altimétriques (cote de l'eau amont et cote de l'eau aval) sont facultatifs et permettent de calculer:
+
+- la longueur longitudinale et au fil de l'eau de la passe
+- le nombre de ralentisseurs
+- les cotes de radier et de déversement à l'amont et à l'aval de la passe
+- les cotes d'arase des murs latéraux à l'amont de la passe.
+
+## Génération d'un module de simulation de passe à ralentisseurs
+
+Les résultats d'une passe calée en altimétrie peuvent servir à générer un module de [simulation de passe à ralentisseurs](simulation.md) à l'aide du bouton ad hoc.
\ No newline at end of file
diff --git a/docs/fr/calculators/par/formules.md b/docs/fr/calculators/par/formules.md
new file mode 100644
index 000000000..0d638ff10
--- /dev/null
+++ b/docs/fr/calculators/par/formules.md
@@ -0,0 +1,51 @@
+# Formules de calcul des passes à ralentisseurs
+
+Pour le calcul de :
+
+- la charge amont \(ha\)&nbsp;;
+- la hauteur d'eau dans la passe \(h\)&nbsp;;
+- du débit \(Q\)&nbsp;;
+- de la vitesse débitante \(V\)&nbsp;;
+- la cote de radier amont \(Z_{r1}\)&nbsp;;
+- la cote d'arase minimale des murs latéraux \(Z_m\)
+
+Se référer aux formules propres à chaque type de passe à ralentisseurs:
+
+- [passes à ralentisseurs plans](theorie_plans.md)&nbsp;;
+- [passes à ralentisseurs "Fatou"](theorie_fatou.md)&nbsp;;
+- [passes à ralentisseurs à fonds suractifs](theorie_suractif.md)&nbsp;;
+- [passes à ralentisseurs mixtes](theorie_mixte.md).
+
+## Cote de l'eau à l'amont de la passe \(Z_1\)
+
+$$Z_{1} = Z_{d1} + h_a$$
+
+Avec \(Z_{d1}\) la cote de déversment du premier ralentisseur amont, \(h_a\) la charge amont.
+
+## Longueur de la passe
+
+La longueur de la passe le long d'une ligne d'eau parallèle à la pente de la passe \(L_w\) est égale à&nbsp;
+
+$$L_w = (Z_1 - Z_2)\dfrac{\sqrt{1 + S^2}}{S}$$
+
+avec \(Z_1\) et \(Z_1\) les cotes de l'eau à l'amont et l'aval de la passe, \(S\) la pente.
+
+La longueur de la passe le long de la pente \(L_S\) doit être un multiple de la longueur entre les ralentisseurs \(P\) arrondi à l'entier supérieur&nbsp;:
+
+$$L_S = \lceil (L_w - \epsilon) / P \rceil \times P $$
+
+Avec \(\epsilon\) = 1 mm pour laisser une marge avant le rajout d'un ralentisseur supplémentaire.
+
+La projection horizontale de la longueur de la passe \(L_h\) est alors égale à&nbsp;:
+
+$$L_h = L_S \dfrac{S}{\sqrt{1 + S^2}} $$
+
+## Nombre de ralentisseurs \(N_b\)
+
+$$N_b = L_S / P + 1$$
+
+## Cotes de radier à l'aval \(Z_{r2}\) et de déversement à l'aval \(Z_{r2}\)
+
+$$Z_{r2} = Z_{r1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$
+
+$$Z_{d2} = Z_{d1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$
diff --git a/docs/fr/calculators/par/simulation.md b/docs/fr/calculators/par/simulation.md
new file mode 100644
index 000000000..d6005c233
--- /dev/null
+++ b/docs/fr/calculators/par/simulation.md
@@ -0,0 +1,26 @@
+# Simulation d'une passe à ralentisseurs
+
+Ce module permet de calculer différentes conditions hydrauliques sur une passe à ralentisseur dont la géométrie est connue. Cette géométrie provient de mesures topographiques ou du [résultat d'un calage de passe à ralentisseurs](calage.md).
+
+Les types de passes à ralentisseurs supportés sont:
+
+- [passes à ralentisseurs plans](theorie_plans.md)&nbsp;;
+- [passes à ralentisseurs "Fatou"](theorie_fatou.md)&nbsp;;
+- [passes à ralentisseurs à fonds suractifs](theorie_suractif.md)&nbsp;;
+- [passes à ralentisseurs mixtes](theorie_mixte.md).
+
+Voir [l'ensemble des formules utilisées pour les passes à ralentisseurs](formules.md).
+
+L'outil permet de calculer l'une des valeurs suivantes&nbsp;:
+
+- le débit passant dans la passe (m<sup>3</sup>/s)&nbsp;;
+- la cote de l'eau en amont de la passe (m)&nbsp;;
+- la cote de déversement en amont de la passe (m).
+
+Compte tenu des paramètres obligatoires suivants&nbsp;:
+
+- le type de passe (Plans, Fatou, fonds suractifs ou mixtes)&nbsp;;
+- [la pente (m/m)](../hsl/pente.md)&nbsp;;
+- la largeur de la passe (m)&nbsp;;
+- la cote de déversement ou la cote de radier à l'amont (m)&nbsp;;
+- la cote de déversement ou la cote de radier à l'aval (m)&nbsp;.
diff --git a/docs/fr/calculators/par/theorie_fatou.md b/docs/fr/calculators/par/theorie_fatou.md
new file mode 100644
index 000000000..d8948bfc4
--- /dev/null
+++ b/docs/fr/calculators/par/theorie_fatou.md
@@ -0,0 +1,91 @@
+# Passe à ralentisseurs "Fatou"
+
+## Caractéristiques géométriques
+
+![Caractéristiques d'une passe à ralentisseurs Fatou](theorie_fatou_schema.png)
+
+*Extrait de Larinier, 2002[^1]*
+
+## Lois hydrauliques issues des abaques
+
+Les expériences effectuées par Larinier, 2002[^1] ont permis d'établir des abaques permettant de relier le débit adimensionnel \(Q^*\)&nbsp;:
+
+$$ Q^* = \dfrac{Q}{\sqrt{g}L^{2,5}} $$
+
+ à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) :
+
+![Abaques d'une passe à ralentisseurs Fatou pour une pente de 10%](baffle_fishway_Fatou_slope_10_.svg)
+
+*Abaques d'une passe à ralentisseurs Fatou pour une pente de 10% (Extrait de Larinier, 2002[^1])*
+
+![Abaques d'une passe à ralentisseurs Fatou pour une pente de 15%](baffle_fishway_Fatou_slope_15_.svg)
+
+*Abaques d'une passe à ralentisseurs Fatou pour une pente de 15% (Extrait de Larinier, 2002[^1])*
+
+![Abaques d'une passe à ralentisseurs Fatou pour une pente de 20%](baffle_fishway_Fatou_slope_20_.svg)
+
+*Abaques d'une passe à ralentisseurs Fatou pour une pente de 20% (Extrait de Larinier, 2002[^1])*
+
+Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\).
+
+On a donc&nbsp;:
+
+$$ ha/L = a_2(S) Q^{*2} + a_1(S) Q^* + a_0(S) $$
+
+$$a_2(S) = - 783.592S^2 + 269.991S - 25.2637$$
+
+$$a_1(S) = 302.623S^2 - 106.203S + 13.2957$$
+
+$$a_0(S) = 15.8096S^2 - 5.19282S + 0.465827$$
+
+Et&nbsp;:
+
+$$ h/L = b_2(S) Q^{*2} + b_1(S) Q^* + b_0 $$
+
+$$b_2(S) = - 73.4829S^2 + 54.6733S - 14.0622$$
+
+$$b_1(S) = 42.4113S^2 - 24.4941S + 8.84146$$
+
+$$b_0(S) = - 3.56494S^2 + 0.450262S + 0.0407576$$
+
+## Calcul de \(ha\), \(h\) et \(Q\)
+
+On peut ensuite utilise ces coefficients pour calculer \(ha\), \(h\) et \(Q^*\)&nbsp;:
+
+$$ ha = L \left( a_2 (Q^*)^2 + a_1 Q^* + a_0 \right)$$
+
+$$ h = L \left( b_2 (Q^*)^2 + b_1 Q^* + b_0 \right)$$
+
+En utilisant la fonction inverse positive en fonction de \(ha/L\), on obtient:
+
+$$ Q^* = \dfrac{-a_1 + \sqrt{a_1^2 - 4 a_2 (a_0 - h_a/L)}}{2 a_2}$$
+
+Et on a enfin&nbsp;:
+
+$$ Q = Q^* \sqrt{g} L^{2,5} $$
+
+Les limites de calcul de \(Q^*\), \(ha/L\) et \(h/L\) sont fixées à partir des extrémités des courbes des abaques.
+
+## Vitesse débitante
+
+La vitesse débitante \(V\) va correspondre à la vitesse moyenne d'écoulement compte tenu de la section d'écoulement \(A_w\) au droit du ralentisseur :
+
+$$ V = \dfrac{Q}{A_w} $$
+
+pour les passes à ralentisseurs Fatou en utilisation les notations du schéma ci-dessus, on aura :
+
+$$ A_w = B \times h $$
+
+Ce qui donne avec les proportions standards :
+
+$$ A_w = 0.6hL $$
+
+## Cote de radier amont \(Z_{r1}\)
+
+$$ Z_{r1} = Z_{d1} + \frac{0.3 S - 0.2}{\sqrt{1 + S^2}} $$
+
+## Cote d'arase minimale des murs latéraux \(Z_m\)
+
+$$ Z_m = Z_{r1} + \frac{4 L}{3 \sqrt{1 + S^2}} $$
+
+[^1]: Larinier, M. 2002. “BAFFLE FISHWAYS.” Bulletin Français de La Pêche et de La Pisciculture, no. 364: 83–101. doi:[10.1051/kmae/2002109](https://doi.org/10.1051/kmae/2002109).
diff --git a/docs/fr/calculators/par/theorie_fatou_schema.png b/docs/fr/calculators/par/theorie_fatou_schema.png
new file mode 100644
index 0000000000000000000000000000000000000000..36e32a67245d6a04746cfdd59638c267741f19e0
GIT binary patch
literal 138046
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
NXUsFXGR@ZSe*yC50x$po

literal 0
HcmV?d00001

diff --git a/docs/fr/calculators/par/theorie_mixte.md b/docs/fr/calculators/par/theorie_mixte.md
new file mode 100644
index 000000000..b9c77c510
--- /dev/null
+++ b/docs/fr/calculators/par/theorie_mixte.md
@@ -0,0 +1,78 @@
+# Passe à ralentisseurs mixte ou à chevrons
+
+![Caractéristiques d'une passe à ralentisseurs mixte ou à chevrons](theorie_mixte_schema.png)
+
+*Extrait de Larinier, 2002[^1]*
+
+## Lois hydrauliques issues des abaques
+
+Les expériences effectuées par Larinier, 2002[^1] ont permis d'établir des abaques permettant de relier le débit adimensionnel \(q^*\)&nbsp;:
+
+$$ q^* = \dfrac{Q/L}{\sqrt{2g}a^{1,5}} $$
+
+ à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) :
+
+![Abaques d'une passe à ralentisseurs mixte pour une pente de 10%](baffle_fishway_mixte_slope_10_.svg)
+
+*Abaques d'une passe à ralentisseurs mixte pour une pente de 10% (Extrait de Larinier, 2002[^1])*
+
+![Abaques d'une passe à ralentisseurs mixte pour une pente de 16%](baffle_fishway_mixte_slope_16_.svg)
+
+*Abaques d'une passe à ralentisseurs mixte pour une pente de 15% (Extrait de Larinier, 2002[^1])*
+
+Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\).
+
+On a donc&nbsp;:
+
+$$ ha/a = a_2(S) q^{*2} + a_1(S) q^* + a_0(S) $$
+
+$$a_2(S) = 0.188324S - 0.0427461$$
+
+$$a_1(S) =  - 2.47998S + 1.25363$$
+
+$$a_0(S) = 5.02138S + 0.709434$$
+
+Et&nbsp;:
+
+$$ h/a = b_2(S) q^{*2} + b_1(S) q^* + b_0 $$
+
+$$b_2(S) = - 0.0733832S - 0.00839864$$
+
+$$b_1(S) = 0.176261S + 0.661656$$
+
+$$b_0(S) =  - 4.97686S + 1.30546$$
+
+## Calcul de \(ha\), \(h\) et \(Q\)
+
+On peut ensuite utilise ces coefficients pour calculer \(ha\), \(h\) et \(q^*\)&nbsp;:
+
+$$ ha = a \left( a_2 (q^*)^2 + a_1 q^* + a_0 \right)$$
+
+$$ h = a \left( b_2 (q^*)^2 + b_1 q^* + b_0 \right)$$
+
+En utilisant la fonction inverse positive en fonction de \(ha/L\), on obtient:
+
+$$ q^* = \dfrac{-a_1 + \sqrt{a_1^2 - 4 a_2 (a_0 - h_a/a)}}{2 a_2}$$
+
+Et on a enfin&nbsp;:
+
+$$ Q = L q^* \sqrt{g} a^{1,5} $$
+
+Les limites de calcul de \(q^*\), \(ha/a\) et \(h/a\) sont fixées à partir des extrémités des courbes des abaques.
+
+## Vitesse débitante
+
+La vitesse débitante \(V\) va correspondre à la vitesse moyenne d'écoulement compte tenu de la section d'écoulement \(A_w\) au droit du ralentisseur :
+
+$$ V = \dfrac{Q}{A_w} $$
+
+pour les passes à ralentisseurs mixte en utilisation les notations du schéma ci-dessus, on aura :
+
+$$ A_w = h \times L$$
+
+## Cote de radier amont \(Z_{r1}\)
+
+$$ Z_{r1} = Z_{d1} + \frac{3 a S - a}{\sqrt{1 + S^2}} $$
+
+[^1]: Larinier, M. 2002. “BAFFLE FISHWAYS.” Bulletin Français de La Pêche et de La Pisciculture, no. 364: 83–101. doi:[10.1051/kmae/2002109](https://doi.org/10.1051/kmae/2002109).
+
diff --git a/docs/fr/calculators/par/theorie_mixte_schema.png b/docs/fr/calculators/par/theorie_mixte_schema.png
new file mode 100644
index 0000000000000000000000000000000000000000..400c43e8eaebe4fb753b91bc51276975adb24b8d
GIT binary patch
literal 99570
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%0DxeJ_kuwpEVm)~yEdHAFcnO4N-gc7h4x?Q>5B
z+y}<N7Hg2P(PkECVcmr3(;v5%Z)1Jn&|Dau93h<t&Wj)O;|XXAZM{s-<@WX)(QLyK
z&$x08dn2-Eu-w5b8q!r@Vc#@fZY%Om*ta5elQZ&@4Iy@h6lYVvy>u($ar(`h7uwRa
zC1ktd<*BEaw#+`f17Dj7f46;&FD#UxZUUl3*Gmg+HReG)?!f~G%0g}W|Lg0rpWAQg
ze~+ULDIA_s^SMw}11nLaWXBi7qUA8jKR(I*1|xFy@8;9R`$^zv$4mSEB$&y!QNi;l
z{*&b_9b-$&`_y0H>|hn4R%=)_722;~y&5B$c6MQk%AvVJC3^Yqp8=>3n;VWa8I8C1
zBkXY`8=2j-nBd}aFTAz9SBCEln`>~G!05Q894X)mG#V-{`-8T0lT}t#U0b|D<~YMU
zL1K$o{cynG(9^WHE7MZ+YfrBD^oVp&RmUPc#7`D~{!R5(jdWy#EqpS;=(Tcrdkm@p
z{FOS_CcleTt2i*eqfT-Dq>J;*_ZGmtd*K9~j?-vG|2<G(tgWr@w+%WS+*Id{8!3)R
z@LB*^P1C7cvXYN9FWui-I9&Gce|~Y5{I%-`Kq06uTOA5(ZZI8wC4I@uE8yLkt2}K<
z3&4WC>aOyjsefF*86{;zs!8_Xt3`f~KZsBWB_yyf@x0uzU-g1b7puYZ$@Dte{@gG*
z>S*J|Zd=eOe*rK<Kn3CvZyu|*FC#;6wAOQ;;B3Eb+cuh;X;zTy@1X~K7_2KwbHC@a
z^i7D<f`nPbLvCY|!}lHRPY#^L<_c}PHvjy&<oH%QBfb8!O98Uy^szC~6p{+!BgqOT
zYH2X#$?-7VhKj&f=IzVJx6|3?(SRVdm^Xf`S_;>bl!=;d`l)$Nu+3*5IC7>xc?&2o
zpiAAO@v6$;(4z<gyi(>0Ww@)N$U;4PEDfgR%o<DmcA>|pQ8SYlhE%@gooVH0PF_%T
zWJ*uBW82gM$(Z%7lXe$HwWoTk@lAS0r~#lqvG|1q<$Uz>FM}35N=Qn&`{9H`1Urv3
z_u-8jo1Ug|N;LO;UQ#lL`l{x)9ykM6nf>f4%ol&FP%fGxG4PsClv+lw`Ofz~I}A1@
z%jZ$Fi;XPJ;pFc^$h$QWv&V)Sfy;!g0$(gVJ{e!v;yc>Tm~rVxPcVMr#^mHIS-u?h
z7T(~HTVe@6EM0oX@aw^9@u#SM_?e@@G2Or8xZt3m>`~X^d*{q$15p|VQM~Hs0UWLP
zvo<QqmNeq*g2%Aav>>#g^q@Vew~>=mcIpAId3ukwnSs9k$Li`jt~Kb!SX<i@PX$Rl
z4-7iIC-g0`!qm8<-?y5klas7#(|&E@Rmu<lks<VOHfi@IN2;#Fups-SJMKWiKR#db
zE@}h9LnkG|y87kIDMeDF9zARp3!ROMi(0x-WROc1FGfoi`5Tb1_-+K}&t+P+4-|wd
zdROUDtN(HVPR;d4TG64ef#h9nk@47184H}rYVF65=j=-i`5EZv3<mq|!-qfg!@l}E
zyScm5zQ^{EFVM^|p+=w+b7uZd7C2w?Gsh#!TLHBJW*q;+l1w;h1PHui$E7qAo4Q1v
z9H4R+!7kv#rsw5r*renw7QL79%<D2~V(l)Qaoo|wgPYPauu#v11N5}j(Cl#Glzx9G
z*9ge9T!J6p<I8K-5O!J8;@O0A%LLpd3j186f}9mSE=`Z;J^%c?O1Un7YhJ8JumXmn
za~3<++_|^(=6Sm8O6qcbRZCMp^Qu;^myq++PjPAYKzCYR=+IpoE3aNv3ibt00c+h2
z7qxvP)xbT++Z>ox_Yc9BcmA};U{si3DR$h#d_YdX!#*qia$NN7+jr#1OH}m;+mJ>I
zEh^SM>nrib<IduS$m*Imr}y9Qz3>^?Z<?cM$)eA%<@-cp0dxu(3@c{RYYqbSW)F%W
z%&|rbva_WtS3(-3ZSjHdgNav4#vQVZb6Elq!HIywkaq~hMe2xEfe4eL8z!PE=VpBS
z{(TQH;^SL=|FoI&1J;Fr8Ie8B_w^+kA1T=Y4!&*M-M7ci9ykCpeuzwn7oR-2ubJ8P
z$B!RBcyQ)Tv%|&f90eaMg)<pYVHl7+=Nn4vnY8rDgi%O;TYBgj&!3ZFI%*B}5Gig(
z--UDMzF|kNq_ZxuW0{<sdn+UFs@G)14RqR>wm^DC1PumBki`SMpIGmb^_TL<Fw2)a
z2GjV`rAwsK1)V%=rA3Jx>WD0;j~4Seg?gB*32{5kFYz0v1>$jWU1t!Gc>A}<hG7m>
z9NjVgxOxBnTNi8>XpgnEu#mGYalInlr?-4Rwk-d+xh!wS?#?|%<@xW|<k;*f%buCy
z0WaUa<F@15j~sa~;O$E~ClQ-b>Os(gTOIOaq1(5lPqX5^E4;uO(pDCgmd-=9gmQp;
zGi$hwS9!N@(P$=au9rPqFMKG01>m!^-*W1LyLYFIu+JguV5>;GtZ21vuxgiK=v1hv
zd%M59wbIr$>e8i=)0g^5>NT8{zaL1bpgP>4oO$4YX4kHspI$h=;L%xI^*Q%}RDZ*l
zrOgd~JI+vdzN@azxAJNDyCT%3_lW-eD{z_PT(rEoGF;v}W#PFG+^J2YTzW^FL<af6
zKl8Z~6Jg$^{B?cqvqT&cB{dG`{0SiSJ<G3N^#vg*w>g6~lirm)Ls{O;9V1V!a4`=7
zAXPkYnlg?)_$3t0!?X70!PO}>Tj1-ft)cPtZR#4yz6^8<5<3{DGm`eryLVW9j2=mm
zSSl}`O^qFIkWE9VZs~I9q;#<|Hg6@Z`Tiruna-vlCbp}{M$bk{STvec8YJoZwQJKz
z4@sbB?^xp`g#~%((r^B@chOokI>c-*kmR14%0fx^@uSDmjA&Hq0M{HT*-txZ&}oJ=
z(qrldV;LvR=m7aY(_LH!&bgkzRnXd`Ufei2wTi5c^@}M?4uSN{9)0A}gWwk8oOSCV
zrR;Dl1Zlom&MU9x$`(92m6kel)IN+ghYS%qz^S`*U%Y(D>gW&n9{q`uAJeHelQbl#
z!C1MiYtv6JeA*1pXX}moVp*Q{x%qCNDvcvgoCu_=JJ2*}gePm?_vVfqD5J6CcXQ`t
zk{55kezLx++FwM=1{qhEGfHjR7#kaFNC0&~Vm~aijj(PtN*;oWkG8hX&_JW&ogs}M
zN+w<3n~=DDd(OH>e_PXArKRtxPQK;*g26V*O{Z<*j%K=^oSwMd)z`fkz2YrlhUQ7w
zv3^dTo?-AMC8gL)1vCxS92J6HCYjXoWy>n1dDb-5$u_BQS3z6%yAF;;eIgfO-8`a(
zcuwI~1^NV8@r7nW1u$sV%*$37lv-G1bKA0g$^S^HE_|4O|KzV<zvy>z7msu5I`8=n
z*dgp<k`>CL(mf;l_Fcrr=HcKlP<!vlwt;0(PhIfq>aQqD9|+5s(+2s!_63PZ-Q(qG
zz5BMNuPP5z()Wk$vn;5iq_R~JY*-HLy(3?I`7-lRfA1Glns&9f5NhK`%J3}XOVXy2
zZwf;dR8$g9NNof^Sr?KX6{Fcs_QaDAh>oRp;?1;5k@Vu3Q0iLnlq(ibTYk$V9eDOR
zXEB>8UDbvPISa`E<UNfSFv&L%^B4iqC9&)FE97`-ipEK;+#rULG#=Qw?j_W-FPHz~
zq;c+ndQXwqrFV?;y<<@(CHWEZ<nz5(Z<FhQC8PbMNyai+RFvfNepWJzY-a#IENxe}
zCyYde1=Di^1ij&57{Ie9bb10QHB8*-Ul4id;6Xb3SB7n8C05{x+jp7o1k=@If?O33
znPYkIXGIo=kU4&-I&$<V1fT@(wZ{@jeqr&w_`MEy)_l%<tA_`6K=L4A0F}u6bB2IB
zdVkv9y{)EBfVrJ*t1eb(bMXF=4x9w#z3y-`KwZ@(AOwHN{RkzKcJ`lx52EF(jx8F%
za~R-RX<zyqXp&B%q|<Mf44c8D9eYn4G1C(t4h-ntl%*a&dbDNv?NZQx%*ooeYqxaC
z5<*N#Y#UkmU{S}w8+aP(oi{?qf?tQ%OHK#ifpH>Jm_&dHQzF<I7IDWg4imCf2imi4
zB2~PbPju0(D<?BYX;TSk&aoYO%RtBeJzV9f$2|pm)IM9Zs&Mh4Bt&T@sfau-zo(9Z
zNoe`6`gV{2U9oI$Y5hkQJ6Sxb2DNScjUiKIYRwvp&BuN!zUr*gxif20O_=@xQuM)P
z66YHmp{<zwY_@BS4&@k^%Z7#kdElnYL{lL}f`JXV6H0rI0=9mf5dX8X+6PD-d;k=P
zWYnJL6E>|AGAf8?|58-wWh8zzmjVrR;q;>>qxMet8jtk{RCQKqNXRep?(CDDMPjn4
zJe~<#S$tzkmRHM5dOg4>0Z(^2H&YkjXEJW=Sh9bri8zPB@pz1rBtV=hsh#<)ibhcN
zmoI(QM6q2*`lDt0c0^tB?#9+HyYCrn4f5QWOag}CCSMQ;U!<=2gSRSQNc`wOOyoGf
zcJ0WDK7T0GAl1<cpAayiYc}}_xI>{8Bn&DKs&8rLdBoCP<9g2NGh2X$kD-9aiRkTj
zX!yP-4aov+fPu^28Vp-zSEC7n!`*~wFzc3Uff-2f(+fYKY5PALI%G%?J#y;UgbH9X
zG~tzxAGeE?L?2M6^942J8ChZ0TSZBl1(ZmDuGAYRtW7c2o^=+NN&{K^%&?zhYocfA
z%w?Ofzvh0M^dR^HyGkfXZvC85`$wh7`m-{R`-)JoyO`VGLH)&wcZMhV3^2vpxCDz$
z@yK-q7Eo!R_tezq94f_0RvFX6!t%&8Cw!bh)=t&;=yYb#N?Y<ssspM-(mHPkmig{W
z{tF;cr;p!}lA1cxa`+2A8SW8)msJ%U@TZ8N)Gl%QL$|8c)YfMHBl9#{;zdY=ii!~_
zS=fP#{*qG4Z?C7f34CztNU=Amsvby)?L7E4JsjF^@tV|yUxP0CbIgXdpbGQ|Sa0X&
zXPR2(+tIES`-pRl`mYu%pLN<oIA(KG{Q-#|Oz5PoEl@`uJxZRKTadT{b9MA7*h#)W
zKCD--cJ6a44A!bio<{`Fza84Qc)up;fy?<_4t|)e_U+bf?VsmkHkVH>dvjN|o^0_r
zvqly^8IrqOTQKRw8VbSm@Zq~gx>C&nxf*$<5~sFJZrdZ*M+cjzvXYYYbLZSz{Lq?r
zmp(Xm{pL-^Mu2&|%4?(C%fg~OKi>=Bxu$QAm<GZB^g;=v!_+E3%FHe&br#FQ=AXMV
z4zRnqU6%XlwLK?=Dn)q{ItZ0hAI`bZMPHvg&9X(`*l$*`h?Mlq;`)=0f|e6IgLHnX
zv2kN;Ebh^dFu=o#%qR~>hjDOsqqgkA){nSBhRw4l!mlmjtYi^Z*20yciccA}=8wQ^
z$v6ae?^wXW?)LPDGV$I324&?4w8os>8LksWPL7Tu4)ugsX&FqRAM`4s$7oB^u&g;6
z<yOKTrILZ(aE@q%0}2`Ve*V;6Z{WQ98Ct&@ob8K>iiDmc31+>kfmr4^F;8;xb%^UH
zJ%gIz<UE31<GIB)vtF_#Df?zFPgAb@{B-z^n$}*4N<|i^9y~yQX-X&D$IpJQs&Bvr
z_|$H`nU8YhREqFK-FQ}>kY)V(eepyA0hE*P^6t=~9)^bbI5aNxX{Qsl6D#wOX8?Zi
z43eDjZ92(LZJMr!P<q#{Z$DdrAXhlR#1OirH*W#~Sgq8&kS#jwePp3bO|pEg)5b?m
z_OvsAFt7PeZBNESW5H1ULJ~hMkp76Da9A*}a$1lBbw*9K74al;Yt@rT=e&V*f;n#N
zL1>Ot{yw#B+Y|~cJn7#mv*lc+(%w*D%6b$HZ{2~vuiv>jp@OhEpEEkyocis!yK#C0
zjmnQ}=ybC$>`XDHs64wUwSnhCG?@TKLtRzb4$_@SMdjne<ImY<R!JJlonG!u5UjZn
zUnOoi?>R&wO7jo>IrYZM81Ee<4wy2MX7N$^|5KYIep3@&h>pHS8+nv=dg<-kcrA1_
ze{3hpIddlQ#4GpO38uhRLEk@4yQPQ#P@q@>#|xfaoy_B3c)*n6ZKJfFz3?EcExdPF
zICT9tICFFMu`}n#Q0<S6n&MhwF=54u?}WL484vDXz514|1m`GlXkW<q;RCGv@#$TN
z@wl$8-|X3lg&~*^$nCk^%*13d<E@r2UjROS^!M+^j@?lt0PQR%zz6IR=H{`~S+AHg
z7v`#p#0~QKvL}{l34c(xvHW3!5uj!9s3GctM$mX*ZWb{7z<K4?`xJ?`H*a!2Jh`}P
zz=e0;-g4L$%%3ptIXBMH9!ypMwZVXNA9VtwK))V1A=}RM*6rJPA0BUXXFCxB2U2U2
z^E@oK*q6WrLAd0FhbKgN|6`W}(*eY2YyYR6cmj*mY)ubP6#S#hvIq8~lp?0`5QBn-
z{KL-%F4>JY%u$U=rX2q#X@Anu0i!_%gY{&|rt|1RCUksC5<?L0*1da4M=KcW!1x03
zb@%Qz?e+4n5FELLNy!6`ys_tec}^Pu6J9b}SU6V8-o-ZwV;snw)?X&9pkBH8M;oc~
zY?yVV`N%?i2197=i{BPGQughj_B4Pl!=F}FjpJYjNMH)u>zX+J^)G*y#k1Zx?0xu0
zf{e!Vf;)GX(0e3XZbF3~V5Ke*Ez#E3=Xh_whRaIEy8LVl3_9B8?~@D@J;5yLjR|e~
z#>SzY0Q*kTQ75>KPc1pusj=ee*Go6hR5#V7LG%Ea6^V)ZoMa#0Mf~IK?p%2n3^4z1
z$=vy&Tn2l^d+>^jf^R@uG3c{)^q9JG$^@bPb!uKc$wl%w_lv|2?g-F$f-|U8w6;5B
z)fJG@{GMI>NsGux!?Do$5ySwEzEh;q)8MND5W75{q(pJ}u+|kJn|!YNqrvGqY?&x<
z+(y9owWdcbQ<=~+#H?@MRJ1SFb$|OV>7gcyQqlcNyzH~TiUAOUP6y+l{53rSTS~EU
zQ@gc*h=VjYDUc;%Xu6Lk*u{+XPRf2x_Cmu8?I@5fo>trqA)`r7j@7fYr)_(^QP1CG
zw^}zQ0j~VK8=1bYu7G8}8$R!O-ler`C2%&D`7&gSF%S7pG!{Mr#+*)3q+UgeS2JBf
zuJx`R{TVXZrIWI+KspB2LuJB7?cLQ<cgSKd3LK7ei3o_qm%8KLx8}xLSv;d2tw$>e
z^&wrlQ7b;~z;C{DFT(#9{%0H4Rge<wbgf&(Q=qeZ28;;PG0BFMlo^66?|RkOQx~z#
zIeh6|ne^#nEF&7PtjzX4v3;~DgZ>!)FibpV+O(nO<`b-Hm9Awj_$uGA%)uMQ5O^C1
zLun{&@?AVrdLoiOhr*9-#O-e5WR3BYCPfWZS1A%)sp5a`q7P79f6wvj%r(Eqif9tv
zdi&iJd$Px8dWU#IBIZ4@GX3m3PLy`s7+oiZ$6;ftj#ojwp?%$L&`yIq+0wv3xaXr>
zUGO{#QY(D^JXP%kN1Ff2sFBS5u!6*yD~DwTlOh6+{bf>JTXDAgD>$e}j($_njnW;w
zP+zRz+=&0ITc6fi)KIY-v+Ci3x8A8@C_^99sy4XvwI*QmxBB`jvTl;?dE3=vp@LGm
ztBVw9LSW?BZoYoMSz|7T{T{OCH{3|F@|X2NKtie0uMOzl{Us+fN30GeL*g+uHZOXW
zso99cpV{t<yu7SUsr8`y`Cgvun&nO^r_gI?M+pZU4}}jl#m$Y5)L=v_bd!pnoPt%y
zU4<oz4*oPX3Yo}xAV#=fn>SBnZvr5JKGWGh12&3b58`8q-I68s5UG*&ByHIuRui$p
z&IUJrV1IR#2s8n*d%`U)r0{qrk%iFtgxS{8DVB+R71VnK4WPCd{h|E<kV%tJDn;eA
z0D`ifI2AGUnaW4k8#G^s9?B=PN$1YmhXtLUTbA%pa9|=JV#b1sGILMi!-q*~{TZ3^
zb5F7}H2+7W0!S-!Hmx?4mB%SZO@M<C2AzpDe!a9*&A{!7MGP*SSSQC_WrsgPCgvSs
zE2=?4P-OR$0}1)V365`BJRxM9tt~40?P{|YF3byjeVtmjK1UPC*GNXiD<}!j5gDp+
z63xgBWQ-Dbv1ri}#AJzmXLblMYkYrq{fxiUo{+AK#I&#WCKRd#DJdycg~g#qu^0UW
z>(Gf}!l03iyIT5ZcbG)Sr8ASCG@_~0L}GB7?DP){k>paw*G#8GV;!*WtXu;@KfS%v
zniAPo9VIlSKu`PRd}9cRNKE~obmEc5c9sKjCW%BY=BN@^@R`(r&_<vc(+wf3P!&)i
zBwGgPMB&Lx#lv?%_&Iwif(>P8ZC<~9J3wU$%l2*`o@na;gN0Qm6mQF&{qv85f3g~+
zFg)Ir6eS0%0l6?(2Uk&-0CYl3g36DtluViWIrBj%jX+sEwV#DbM;#p#H4&T<!5;jf
zFQ(iVfl@-Pp0mfib?oXP+ZDbT|NE~O#mvV5$I%J<_U^T&X1jZL+fxk#1J&*`$>Lm=
zud#p6arXF>pZtv_Il~#2gkzAp1dIUgL!Up6r0U!|@7K;to;`b3lh&?s6kbmUx4DG)
zyTox~(@0}A=%H0hO;zpuVh&l*^;@?he>`^0oJ@=)m$0_Zr{hTJOBe3)qa*4WeHUN$
zh4gi9iO-6~t05V%E5NeTQnmoP?%LJvZ>&zgwQBs!NqVx9QaB4~`cd8(^|I&4=6m)_
zT)WwsAqhLx3U3F~^@f83cb}exk&(ha%{701_Wa#2vXyu<EX(L&FviJPpwRbZ$izQi
z-{0L?rxwWElIW3Sp@AhXDdUy;EdqJ26!-4kUSsH$l9DB%vzBa*d*qaJdO&5*Nwe_R
z*v{q_STn0juUs+4%}lN4^=s}5=CHoeqhZz!TwI+`H#Rz{>}5R*=Zb}(f+eHyUa0zU
z6f{4u9UiOQ?n~fDXui~++nL_Kdv_NT-b$ncFZWO>63pQbektrkDM4wEq@{52ZXz;t
z16tQ+rlzY?%s95a>C(pcSD+&UP{2|Brq-oZ+VKfS8aO=hL+y2G3&snuI3bHH?>Svd
zhSp*L7cU+y5<?J_x+aFz*C>Xj6gIcb-qJqETDjYIrM16v!Vd~vtg25$L3HRHl_M?c
zJ!_m+Tr-M3E^yp&_P~9>ZTC*afZ>}KtzvL1tD@>J7Ci<dgIz+`gYKzI0G5gm{ZW?y
z0*Rgb3@CUw`EN_g+MdeJBTxLDV`^r`iXR(#gIt#V)fI6Wc@2yF)6)xQ{daOmW_}+-
zb%LC%&+yM0w;RbeK?<Kse|#xVlaEbk>4W@)YRE^XM$S2JAXJ&h*RJtsamAe2l0}O0
zI{z$aiIlcB$?J=NoQoF$kOZk2iFJ9um~z#*^q~alJg;2kR3{v@1SsGaL^Zo<f*D*Q
zIxXNDYkVq!H#wF&3Z15^;;Up5JO^Gzx~6-phL{a&4)^$er1@}Dr^80+4J=PtJdv7$
z?4&fft~!Dgbn#+~f%esEZVp?Y;wmodz1x`ywQY~IgWyzk*r|JEhs<eRMg}kA9?C_0
zY%kBDHYwR;tdw>qU%VSxD$@nx|E!7{Nh)`v>)PXYRB@L^WtyTUWI!y|refF|5Fl2C
zgpAgAXc_rEy;gqkWO(_I3RZu8)%Mq|KnM^VF<D4eXbhbDuH0PDy3vpzh~wnHdhkP9
z0?oYm$zlaeN%3?bS6wmaIej_!H^dnE)QKqV?bc2(U5*L>TL%gQAXK~MPRc`GvOeh+
zC_bjbOx?Zv36%xg`<<`)-+K<Bs`-~`1p;w${z3uqt(x3RtZ;B6)K>ahOXs(xuM2y&
z#<jO+6VHHdj*#tujjd4HVmI60Ur$5h1az<+hs^dr3brkOxT8KIEXd+wk{S`KY(x9L
z1f@JQSM%nX{7%SE=rVsfcIm7LHY1fiTL&J%5HlmA+0b0*n^TtO!T33I<~zqTnaI0C
zE9c_jO7;tR0&s@09PeJg9-Dd5PdAEUQ!H!vST&_3jgtr#2VW~9rpdyL$Zg~MSAeh6
zU?K?e#h!@r>q6l$SEr3tG)B!){kB>RB|vu{FredH_d)ayU__}DQ2?FxyBnpZ!Azbm
z`aE5Jmm=+>+eQv09z!n^6X310g5AjDv)RE#EbyI^2Uy`Sar1%N356UV)9ROPdue57
zdY`0)E)h8~YdQ6-Glphf3T+136myTG)n*~LeSI>HlCS6M7*(0SBXi7CU(qo|N+y}r
zRqf(_!?)x7{Enbc3#v05)1M+?Z@Z)P))*G+tJCIlZ!b|ZsI>Q=V6p^)F(g7t*EH7>
zD8ArPGBriTNUC!Ci+-F$RBa?%KST2{a^NKNQW!27b&>H!NFME<%m7YY%(v^>Gx0(`
zcMVQeq!xQe=0I;863RC?6yba_AK^ssU-qF&5zzOE{d=KzT)W-mr2{i!K;05bUiD?u
zml2|S^oUHUhelR7Rn=YfV~pw!nVgRuJToJ!QqY_D#;-IKDq1YYQox#-4f4NdGIHdM
z8gXgqcu|D3`|Nc<4Fv-tos^56ST08|D?gtJ3P5W1os<6k-x+fiw;maNJBLPf+sH!7
zc)R+?B>whCpx`7drc-MF9%f)#&It}xzPn>q9@~j>ibIdvlX>{?sRfS{Q)b9j&sa?_
z<-0>R<XC9>nd{b#o<H9_ujo!34C7J=tYD<%KopXY%NP0kn`!-8NUs%@X~l^-H=4hH
z5=5D#f#2Ptyn#?J!mFY~^#|QOfy^fkH?&v|Mmn~j0xXPBdcEJ%;4{)5!6AScOau4?
zc)is+28Mu#%zrS+{yhLJ6>R0eWR)Tqa*`Y{ZRscg#AEyb)^Zi0^V3X3IpZ>GpZ%8$
zU^k-J;wFJl__grEDi$GgKfQZ<(zlySPclv#^THq*LOcslJjPIs(1QvMh%2u1;0|*`
zM<8N;SDpqS4@9uIGfBh)JR;DrLKBBVz*HCT<wuNTf3{vAPyxRY3jpd5@7u>sZ~%}v
zmj%Rt6%xHlVuzN2!tITmVI;;#C8MKZf%TBlz=z|ZaL~HD%&|-96P=%{yb|QDX%|_L
zXW>CZn<w1l9k=ALTY_Ao9yHTKO->N<ddNI31#9iojQ`xG>p$%lI_?^YOEaee8QeOJ
zKNqejhDW<#LcM4E_QuFQ2I7YOg}Mf(_xHcmWNo(_IzKf9j*V^omVx>4g_!$10IHB_
z&}&{jGe=nG(U<Se+rFf_;co}^hgdM~-H)?71L%y*%K3cJKR(fuVbTy2WV{aqlPU{l
zfmaRIsB|6C1W6AqYclNcq~Kv{l2P4mI*7B9zd0MaoWyR8o*kL+<EpBH%087H)?F@M
z>Xf|(EWwA}R9^3dNmp|6^_TS^^8Bz!%sq9(a^Pdz+>GFccdg||prxe-Q5-+tBpsrL
zACt^j!cDspoiU~(9-YCMhEq7YEP8$ZHP_P35o*l^LcXYzZv8}XAqFK5L3@Xt3?wZ@
z`P&r07g-2h<JjpI^>ypu&BVq|0$}34qc2zO8u#|yI~_cM@mgRF3eDjSxV|t?kTMn;
zeXRaaxk#kffE~Y@ngk;ZJ_pTu)+8Vbq%j)RTQ;mxF|cYO*s@;9NEpt@GGY`GCJjHx
z+KKgand(-@s%3Ou_2WQG_+oR#t?gE>{E@NqjQ8o$(YgkVi~9A8D~wmGK$TJ&%M6cD
zO7mvFE9>z-5EnBps*`Rr5<h`PsL-ZO;WW}+@10}1#+{`rd(hsKsSfmvW>}_brIvvP
z9!@$05H_PoSQSHF%3m9AYkP$cO!-&Uo4!N#)c)exWEbSJ*ei@!wt``c#Pj3X+3`YR
ze+s5h>3|onUt6L*A!agC2t^NUYf12K|FZrJM4&fbCLP~mE>p8gy-cl7ntS6%p}J(0
zeAkl7xeNZMeLTq2@i*Z|kMWDVeJ4EUzKoWYpOwE#SzP0$+|WBsIyaP3?QARGP`h@%
zp?en<KlI4f6w3|>KnU{|-281u%!??0$i2yqiBZwH82#TDFa(^n>tJCYp$4unG~Yy#
z|Hxjo+ONrf)V7kN{QCo%A1=rV|I)1PwM~xyN&>?t(lL>UuC*RyD*URE5;y4IZw#>d
z_a9hG{7Sq&yY=616b%5!;wLK){O240r<eMlAMpIod%XGYOI=m^_xg7I=lbUV=lZh8
z|K|f3|K|hz?>}I1U+drBoH9eW7`qPH|GnJ*{d4@!n{ShJ`UgmE`uX!kHQhjo$ZMO#
zma}0E5bo-S!iQ>}>gB0C&9PtO3~j#uZkHhp&Bht)zi3RJu=*iTmRiOdo%DD`+kb9R
zTmGp2?;n>88PW0Id-8vJ_v#qcY5bpXsdBfQ;?-|A3HPiR9%ZM0@2im)l*)hq`2YXw
z|LZ=er3Qhb(wNT?mc%Hmod-kgXg*dlShjwmvaX{&2o=S3?S*dK&kvie4dE{x{^A}w
z`u|ztA{P7e9FFzPD2nm|c$s$rj|u0ns8>I%*|pBcbarbWQ*?3wKCwPL+jqW8sZoGm
zcK_(v+BdXR<SXpP$?fuf*7vlQvo)O^vFe|nYBTdsQ!m5T`!)L)3LEYBDGPfi_yMJI
z!ggyIP-HUpw1vI6yRhl_?fshf3oriP);aGc_s_ePsrZJvu=oGx&4s`2*F5phmi~S7
zKkp>^=bi2r@=l9`jQ>CGrT^<@3;S-YnBD-36nzdL)zL5Kg(&j8pUrC5y?;QFk=vjM
zzqfKMduny9Nje1_=uG2`EsO4yb^T|ne|SZ%Mn|M^#->H;|3sLyVH={Ok9;u;-LH^P
z(R^(5>U{}?1M>esPhUO^K($;o+*waYr}WR}%W^deBf1{Xt92}^)@45~4>k*$mFIR}
zc(3Uu=_FU{E(?!k1<y!LQekgrmmi^-y6&HiXy+~r7~@SY{QDWlr)Ou^fu;+Wq5W^5
zJAx7n--m}Qd*{s<wLBxUuC5Ng*ntB^5<6s&fa>(Vae3)*7VO9<R?sA#hkYp7!0`(g
z2n2Jr>xW(6rVKU}toqc|Td(;`#wUw++HbomIQT(8x^S7BFy~0#vc*QEJ8aoJ46(=r
zYA@J6-<>+FZwaYym9gT5vB^CZ$Q5MeNi=R(zOU%v_kI4IeUT|CPqnjd(j0<9ArkZE
zT+rfSEn4w)Q{JY(<EXvg+xhl@E5fpB7)y@2;K@0s<dI~$C`<qL_+V{{-h+Ho;G5VP
zb(6KA?Sr1RwRhSb)h~x)ohf@A4An^U3fE8+27muJUUZ~!Xo0YpSNko$HLoS|gFsq<
zcsM|1v<MJ)cUD&K>4X1y|8b_M_h?>#8MXS$1P1td&RsV-34Ql{m5W@d;VAttJz7mi
zlp^WXAE`?FNbod}LIEWCLocL~lpT6jcxm#ApX+~=>?i%wn(ynz35;O%d#*O^kiuKH
zvKaRA2Whq)0+%MNa;wV9CeQjywl&zVLgv$mwM3P%FlslUtc?(i-#PeP_Tt8jnpbZ4
zZe4t3>(BD9|16kbio+qS=SXH}%%?|q6L}Ra%gUzWq#<8^e0CUXT74Q7Z)XcHYYcfV
z2t!%{L%4Ywi()CSuv@n1(<k=nK6+0tUfcmLV$cSaA$76C?iyYTrK^4|l!y*%kaq3Z
zxpVyA`Trb~c_!Z<Z~uKTt9f;==kr>hQsqv7tMGDl^)JU&T2bmyozr^jyX=|473~Sj
zk?8kZ_4O5vD{}3r^i-`vNztqB+^HvFlCBgemmVIwp~qA7Lhm9o1z>}P);bPX33Umm
zHTcx4uj3&!o^!3p&u=B^0_H)l`$@YoERhs=7(gx;V3(5&SAH)hu3`jI^0?!>rFmYS
z8(H~a@f5Tda&vJ21}$Sm$+78YKZ6Kkxf);jlV5<pO+rTtH!VRR(bHW5zo~miX(<xJ
zbN&qMoi$M+a_b>5--rusRJ(c<-R8HbuLX`f3E`Z}E<yn5ZI7YmaYPpY5lkwq`Xm%r
z<onpKMs+*TkbcG4(f%LVFNhzb+HTMC_O=nVRaVY;^mkcZbphA~yq1C$2tFtyD>r-V
zxP51}JSi)~3yc!z82yR+dwy`qP&{F=SQxLn`m&LE*f(x~3DhoaMBFc25JhwCu=6@0
zcUV0)yf1r=`my@P!h}zchmh#PTlu$@N++VG2kj<d{4?(@7ZL6<_=mz(XP4S`x0^U}
z7+cC_+E-@E&<6kGJAx85?B9dwQ)(Fw9z<U&kfA+&d-durL%2s7Nv#=K(<8rHh0zZ*
z{(u<^mz5*<8G-97i8_1s&y(%6EB)wkkXmQnor0@8IF`J;d~IC}k#6fF7Ws=f_p8nT
z&af6PK9FnIt{tyDQ3L{V4Vu`E8$LZ1S^;_jKnkzKRa^d8R_(UYe>FQiVgBsd#ebge
zwUGz-cK`B)PJIpn2>!x221k2@%xxcIaxvG-ixGao&^1`)@Ng&W8Z@ybhDvQj*RtZ`
zS8&z26V8vw=;<COBqnZ5Jx1&_Hjeteh-X6^o}Oa&-^15AyE{28A(T)|Ja|2gSnA??
z+SU}*naK&-vA(!;>HwwDRl#RK+|9G-cJ`12J0tf?!IoFQJ=jYdjw|>T`1;0E?HFgf
zfi;HDTII<6AMdIw2eZQnag1naP~BeGf#TwS$t6&agsH0f7nr^QmNtXdAsAxKfN?^{
zlZ6eaM7Vs)Uf8?0nvTtw`77Fd?9{QNe2+~X7p2&BhYRp|a$DNd!!j-Hom@c;k=01g
zUJm`~d|d-@MI=sehE1bu)`})3-6VR{R%b`U`UiRY(M3^`7nIP=%*>zFRkxBG!4`k}
zXcvbforsxOXNX_1=;piHQ85ZM4Np}0+Yldg($zI}>X0tnC$?MZ_3Pba6j{`qTg{%%
zpvTK`qknvotLs_nVOGhnSkL+7q$~L_j8HL@A(Q|>v0rM(`YJhTvjMy>lF9IYK63ct
z6vT{YaO>@V4rhd6xxrj&tJJ>Vj<=0@wQK0oH|WKu*6ulxQd9eDt&=j%B#9mU_s8dD
zThy?YJ^bjIImjpzBkStsRc4EimdeFRIy06?P#_A@@s!LfqrA#!&2m<NhN0J(2=#-$
zER?93Gyggm#dCCnfrH#$5pw$Rea+2Pk~Jxz*G@?A5YDBqhh0*Z7&vT6N%;h0ipc~_
z?#!K<WyNAGfug7=7jgXfA|^!+91Hc}pK)9kar^h~4OhcJ13D;=ANM#Kb&xzCB1-Kx
zXwQSPGGV8Yc5v6%7p4vOVGGo}P!fbsd+dx(oH=8KCyd}&Z)33WiPCFH1P_RA@IMv9
z`-0NdUsEP0Ra?F6Zf2H|on2m3^zzqgjf`ffFFa&Qc~FdE{LKJpApnekkIM1|1G@FH
zo-Qa=I&xWe%z9}xcK2X?kOW*$EQiv_Jzzh+X9YkqB0Q5}Fk=$bTp&6y`f$uC`Ti&A
zTK<Iv$*RMX-0N|tngzn1rsuvSci_Cq^VwE#cs;J$h|*FYtQ<LGZAgNgu?he`7qG-&
zdh_P$f)D;P8BbgRkF09!Kx9OC4f!%OR&=ej6qzJXxHsq(b@J(*2L-`0hn6UpwmwX@
z$_(ZKGC~u#q^YZWGaTV9!ka%rUz#s)PXf&Rz?<+b!A{1t90nN@nuhNyK<d*Bl&BF^
zIOxx<485nl!d$WQvLl&vK9St0O8_&^LNm&JaO_!Ko}~0O=V!c<kZaR!>VNh<$cmTv
zE2&d~T9yAM<+g1jhVHXaIrLx_L?0L_ABIK4BXdQ#8+y~C$im|JX%>F!jbdp}wh>%<
z9lFqiza9y}5XQ;r4!1Xb)zpASb{0(!eo03%Jq{7h+I8y?Ox-!VXy)hiNSTZ&ZiF=z
zy@4A-`~vHR3taRZ$-ySorHRw{X_Ou00$|d)Nygf+F9E2?!sy$*@^rVciHM7f1NDF#
z`=jFAw;w;sZr%C>m`;OzNT-rXlOb~Z&RDeXl_<|_;smBTulo9XZmxg`5*N+XL?0d<
z2%m=dWv8%#{JL|<(SmF4f4}9!j?`!5d_P0OX!|s*r;W&w%-~WfUC>3NmVeL`L#OVG
zw#O$6H(u=4PMrA4z)(Q=A&JJ?KzD?2@aUC*d_OAiP7`{%aGF4IKBq5%G%n;FfWf3+
zOU&(!G_WYnFYHItA@E4oaWpcA55K^^0kH{csuTZ^<E+FlhBP14OSlW&w#);SAJKIY
zttJhF@w%js$Am$%!o=}w>A@acE?Nhg!BCOJBS)r$M6f1%2*+b4uCO6~C;mYJhYTP7
z&{gr3+<CL6(6AY*va==^tbeF}AKkJh(BZF4C+g?(zkkMwhN3P=iS@s;uY`t^PSlpl
zFeC^t76_WS6UA!nPe4dKW9-;Dpq8vK5BqJ}1_r6L@Zg46XRdW{0-9dGp2h<1voL;3
zGow!6G(gipL!?k=*>ma8x-_uFK?pDI+-cjPL!wWQIma~8T`o!sE?Li$;(>(WNPdqS
z`w#9$I>*x#fc~nJ>wgK}b{d@~{K4eum2~vZUPTrvk27#QsrG!sX{)KJNlR8?XsgRs
z@A~Jl;4kf-;mPh5iQ}i_Osf8EYULlV76>NS*YRp_-OGWov!{Tx?jNTrDJ9WLAN66W
zlXB2Inh2p*m+^MNru9hx1E~)Z6oF@3T0(h@N?FQ7ub8o|AuhrlKbLex5YTXNkVN<O
zIG2Cv6vmDM4~uGf(w*ad5mX3yhrrf~kqX^;I<FyK;lmkn?diENAb_b=Y0`o%L78hq
z{GQlk3XN+hPH#Q+UTL#%17V&1sQ93~UsI)M*_UTCE{@Nk_y5o3pB!iERkciFN0yR4
zYU9rd32VdrBf1U^1YHJM7dBMgm>V9W-~2seHoMO_PaUB_6VWvu*Q(EoL_TE&IUMyN
zL<>t3{>a>$It+B8ZFhHa-}IXTG&ePJw^?c1B8&M)8SlIP<$Wi6$VHf;K!*QFPhrp6
zrIvFPQv26WRs7MP@6Z+ziP^=68iSWtleEBpK#M%y!QrLnBa#Jf&mq)b&dy)A_ievl
z6NfB~p?SDr(k)3k{MPlm@Np7N&#nG-CSlxtwREp8WZ-;~fQO&?Bu^H-teiR)`;n{r
zUO}>Oh1XwPYy=fH#E-&^BtaN9${9s8fX&0y&!g;2vgq8){_`_yI_tVJFl5DwGxP>M
zW}!DBZDcf+io4d$LywO))BH8Q>NXbeosEV6q5+(s-X1gH3_~BL%!Ot%q?2O3%RDI=
z-;MNO=R%Vb4!g|QfTKwpwmkX$(P<;>lM~0^aXO`s*!VLvK@ytE$xnM+!c&!!NmDhz
zzH)YRE4?)Eb4yDL2M$@$H)@g3>7Slm+Ew<JW6g#ij_BXZ+<f+Qt?WpL)jR`lkFf;8
z-=5mN=vIL1)BgdXu6FL=F$q+caK{S^F5A6548I+bqB_W4`Ni|IBF<TKhcms41orsi
zh{g~>U`QcA781GSR{tdVQLVTw0kN6+CSy4VDQKW`i^Oyp5R&j!WKy!SFPRwpoB7*>
z*3NbL^l0Z+8>B3(LFAY|3&wW41IXG|%<uiVzEUgo<$uZ6Q09ft^ysw1MXA%w>Ng=A
zGO+zEj;($9$q(J|o;{v|225Jt8)D~Yfus`E9)Vi^rGfLL>@ge*ws0O0D?6Ar3PPOE
z>98OKA|9s`)Wn;E)nZotX;}rYg-~>5<kW&te`)BgC0e6aC9G|PsVgakMvPT##<Sn|
zoHinhc98AaJ3Z}zysqg!P4gWGFumx!W18901-emqknDhGB%V!1=dp2XcLM_hFs(Dv
zf^?H8Z{Yg$y?ZT~e~zT)xZZWg_V#}8&to#HhbSq)o|r~TIDPuA-wzVUO&ogd`gM&(
z(#575f8NVr?h}zM(Y5_h^cfaAYdH>|eEDnSt`&GhtX-b*4%#@a^C5Zrb)q7c?;!bT
zS>ESU&p7975|7EEot6QK`T^1}VINFNNI#8|HEHc{d(&x5vx(x6;D*Bx>PWTVtq*yS
zOC-!Q`SIzo>z9=d;R~dtb2^l=EFsb$_#*1$5}D}#5SbL^3djy~lb{Sptx~BE7);yT
z`{H6|aQyRY^!zuljndLE=vV$x@k#(#XeE|sRC~HZxjSXHSLwjBk!${VI5=c-cCkxd
zHpRl1&>g<Q9HWpM%MQ7FC&+mv)Qp>AIebq_N|)|mOcXz=zO?3ciig}xf22~xWcV)b
zTKb!|a!eTLxRPv69J+E4Gn+Leu$5nIa-OvO=zu71d<4bq9uPcC-_{BqMCM-8XZ~ze
zT<~_(@Zpb%RqT60QOHitOe%j`;TAn!Ob=SxKXqY2)l|i#eQ3Gy?k=OowhC^ri`|}(
zYsJbZai9dAG<ot{H@yk_-qZ)h*G=qWdGv*cPWoP*^rm`xX>Vc9(dM@3-NYZr2DZM*
zKW}U5brx;8b!Imv(K(!M{Ui)}*pj~XeY`vrZ?=9Brrlw`tzgD@|5y9fFv8IaiC^*C
zPkJr=^vIG!k@I^;?vLK#cajPI7AF(hZLw2`wxvo>Vlexc<6Sl_SiAJNz&-kBLx_{k
zFTv2&tAicv>;e7z4@sO#!VuiRw2L1DPgoY2DCV1#sN(FzmeY{1>8Bmq|3NQ3e9h!N
zBgTu+NkR|WmUAU_Lr-zy3B8$muQJ1*B<pXQrSpbH@%pmPSzmt5m?wpEJgBw2Hu;;D
zNTIuJOnARDPujieFgG!<EURr&(Lwhlhh~LbwdgUxMY21|PaL4P=Orh*6KW{FKK#&<
zom5g(q_84b`S@W3K1+*SIxxe>(!#zq*l6l)tQ3B9%vG79gb;_dFH?i6JFJWJkV#}y
z1by!HF;Aa7Y)vj;F>O+xDRsFWqsP=_DaWRBJTQYzO#-2=_D7g@{{h$&;joh%lX))m
z=Ls}g;B}X`n0LQ<$lUGg^(<Z5<)R3e+9wX%IC?fhtt`0d96J_~A{ZRffgiOGC-+%3
z?OaE;rMa@ZRw(YHKfeVYnJ(2yZ>5udSjq9m*iD_(B?yaJa5(2&7VLaF8z+6eEJ={G
zSlgS%JfOSQ`^R!?sBUbirqDcQRwV6vC3oyIDPnd9QRw49Q#E%jf*Vq&z>NLo)n=ef
zq(JGMF2CEvdczjfCV0VYDed1aY4Ct?^RF!YoNGC@8$_*+LKBVI#WmB<4YN1BY5w}#
zPks52y7Xlz2Iomjd#pDfCwx*8)LE|D+j39QoTR~NV)kd$_uIq!Y|Q-icjcKJhmKC~
z?WXt?biH7!xXr|E*72OHhn?p48@u|bY23(8V>Y+XDd}Up0xfv)81)O`*2PixW~}gD
z`T6(nC3!a&ty{2j`1y{htNy-lc$jk1cg0*^tEHbWrS7K_8ru2lqzva)&f5!>t-D*5
zcU-b$iOx$La5G%Y&?(w<4L5U7x3jlzroRblFsHw6oSEXdF=J#NeSUoVw*QO#SIS2B
z)BX_|dsTV}2fbtF-ZfEo{ZCWRI%eJ%Oqz`b>v^>oy>%_<JY)g9qRnc`?b}loX<R$C
zj-0hXB>H_(Ife=04mwe~BZE)fpXfAn$km0-?uvt^Xi*0>+<7;C!UTn@3vC{RhvLy}
zwq4mJGTTn7Y@Olk);dNIS)qc>`}-&4^H|h3GDf#lI1Ija`!*(fztE-tU<sp61P9c{
z`sZ%x;fpdz+IV!?7AU%Vju^4~tLg5gAKOR^hIbGfK}4kmj4acuWkN@LHH#~Jq}@J)
z(}I+*>S$|ep;C6*f9K<q)+x9C%LRCT`T6;f_5IphR%Y4(bBvOQ$kf&q)ZqfqU4|>9
zdDMPeQGw3eSFgf-2LIMmi(!i0CT?S8QroTKk-T(JfOFV43ptcIn@Bn%G!7I#$=Ox@
zNzhe-8cNOXgWFZ>nYe6q-YyrPq4_`-(t!yali+BRHn%vxJqHToa>ThLbOxYTZGcC+
z-p8GFHeVqp1YZ=(h`7L6O6~Pdc@?ZBsy^#Agkt5ERIxo9n{lqezi;RH3|VxGRPnm+
zL745ZD<(<ZwCf%yNNsfOk3XdRe5)KOQG2P7Rti~hdwRk*Gq=P!(>hIXx*DU~eUE!&
zfmgVCJaPQ)!}VBEdj|yc+T*U+Bn>}n{Q6mso;`8UgnxzRX>z_K*(JRdb5XY=M63*N
zEl;tdrCb6Rv~HAiK+9bQT_16YTE8Ctp|O!s1LTL<hGCJ#SG0CIMD$}o0QH>*&lA0E
zb*Byz;i>MX=;D4-D45;*wswjZqWvDrCJV-5_yaFnvIHWA-bDS@tuHIrJvg8ub#zqI
z*PkEokB(>7r)x@pnhmFwogc){f(jUzizM3PFie2U%8LtXx+wJN$9&Gr<u3vc6na_Y
z&!6ZfUzmP94hYtNU^0tj+UoWquVZHOYO2>{D5q6y%g_vWNzd+2VwL5bzR^7k4{02I
z-MP)VgHd9ykBnUY<yn_M*G_ySS)I9PQU0P5rS+2z!K8me%EL^Nc33YQ-ZW(BP-Kkd
zUk$4(!Dt-*n&3L&NipSrKV!z_uoUB1$9z4tV^eK(vw$=yT=X`-A@oj74c&X+zaVE<
zSbIA}brh<)QLWR=HEv23=a?Lp=8H-<jhddBe`5a7s|&9W@CVrtrSTb}XSXlKfWlh3
zIQD5vtK;gRZEM#2rG~W${O{+n*!B~T3Kkp7SWn60`-E0&`t6*+&IR6@iN0AEzm9kB
zOuV+&r0+Uu{tF}oTA5q@JRhHqnwrZ<EtE^xgqtTAXVUS%G!sjYDCV*pR-X0g(5j|o
zOIc)UT`%ABUmh5ELanWH>ywt-?R)qRDgE`h4@n1VC&@g}ySf{i1E=f(1KE+O{A`I=
z+_^S=jJJ)?H(GUQjHsX9W{VUd2X0tx?dAQ*b>`|GQHfj6%~vq8u&|(P`0-+0dvu=!
z?$2-EDy_SikURe0;ITQdOb!0$SkdWucjR_0SCst-*D~IKaotsT+?OtyDVjvH8D#Mj
zj4AqI*i=9496v{pbN5$y2@$U9_LezSpdQr1JR9nJx8HtUt6dad5777378w^y(yw+-
znWPk^MW3K>*+{dA##3N1+DJFNI_w=|BPATHK1B}KT}CV#YhZ8UmZ*63GeG~{aq`lB
zAk<s*3m^rt%^zmE#{IcU+n|P$;N{D23?IMl_-{0r+RCSe35B>RR)m%}lWvH_hz!1#
znU&DmP?K<6!@gs7M7~Z>BcqF(%@nT;VQSPV2MUTYV~SbIo{j3A+7#<>f4b^lcrotA
za80pMuU<Fcwr5J+x_BHkV{_V`j5YZFnNG|b<Kn{fYdsCt6_lqtXp=X8c{XvU%9V2<
z$D%aui}H5yNDDcp;jYAaLE`#DZohiEvu>9z3!chfZS5zjRGJNpCrTp&+vu&dWST)d
zY~b>c02bq2aN@_0J9n!4)}e>gwAB%NZ$-Dn%`q`!M3#%5>5o`yaizREgr-1Ks#N)~
zCu>Z}^N#=N)X=Zj9v^njHV>hfCvyx8?EiOlh;F$OhMt?kDg)_p1?E0sc)+9BO|9Qe
zGutq;geZm1P#AOC@19xy^lc1TmX-?>JT3(<m&I4UkuF|sZIXJ~dwjMet(8=);g%Sw
zu4dC5J^_<|@jz^&#LoNW{Lk)g*J<-v<IvuaRBc33sFMe$ivM%j7FXJ=E8soF_ox$b
zVH`vQO~?+C5F+zj#!?nBb^F?E!UX8RDsZo~_;Pw(Eh{oKF^xO$eB9FfoX%mVEJ~WC
zJEs?dns2wCL(V=mGd;SyVfEVk5J-1qT^rtk)3L5;&eJY3_ehUE&vSf~ChEs5f#L*O
zhKDWG8JT@t*W1U}=BbJfnRPI*GIt4XAc!q&FKTbR%?~VGrRe6Kk-OX)Z^|-9Ag-Aj
zabs>f*n#<DFj#U9OFLkuXec#3YD><;0-oJpckqM7?B*n^2`xCoqYbD#!@|9lGW;yD
zfU>>p`t@MH+1JfVc<Z3g6`9?AVuoJ*O!?z%HQ-Za&ggXKh_U;vhdLJ!gQPa{hd1)@
z35(NLH|U+;WV+qH+0qcY8<wKq8XC|As~Ziru~=EKPo-p9*0<??jf2814XLx0E-PQ3
zXS;t1BkK2>9Sxg1D`r~a>tShAzPI+CHi)y_dq>%*zq?Z(ZurkZ^ApgU(}AyZ>hVc=
zz5Di6eKz-6w;=NqW{PL0WS`LV$Tso8nc(S_D+g(2xo0K1{qpN-^&5z2ui3j_-SaPQ
zr1s2vX59F6@7?#1R;6ZI9(`6_Ezp5r^{}k0j5e3iN$*yZq`R$FCx0Cym$@A8mfAs!
zUxYt>(Hw3*GjDf)+!Rd@naS+pmCt!$6YF}s>u<ey%I#~jPq0SxRH8Q8a<FrF1gWY|
z-(J|#U7_K@Kv%6<L30b|#6HE$VE;_{6DY@IjwCuwz0az5%9<*8R@z*&q&%zr@<la6
z68}U&+_R_B8)<mP-iVX#+N0&QJ6!S{g>*MkVlyq%YuXu33uvq=MWPDlF=}`=!Cgeh
zV*1<6;tGjG!j0Dy=L2+9v>rMBlMdF5RM>RX-usWbES{LuOH-NLs@YvY2yX^xO;!54
zbdKpneMu>awr<q>%AD?B>Swfm;iA}JUZOeq+wP2Tb+s3PuT%#uEvT`z4jKof2cEf8
zNAKKXub6`A9fx(jTP&9G_y^A`-|L)i4_sCF+D`GPdHRnBMzW*mtkN78XA~A@u?p+L
zrkWm23E!@sb)dSHv~}#$fe$@m1Q1zjCNS73)N{UzM3`%XKt4t^dA%xG7S9oTV>Vtv
z7F!N0FaCH?zcnLabC+I4?t#gS(Me11m9&(AY|S>bn~GLqyP0&L-Yt-;NQZ5SIN2=z
z=*cj{i-jSBLB+|RQg-jQmO5^<uxYjE7E;G@Rc&Fa-0qC*#T~~xx7vDuCwKWkxQdpt
z;*b@>Cu?cAJ6V)Qo7m;uk(w;P9Uos`rHr-49j*is?e?0**zR|HU*E=GtGaSxM<t(7
z7_{&@sh;RPwB6oyWcAwD@7|R*n!jFc8<C-QV9mjBdb}8Q#CYr2UnX0ohby>AF*k$}
z@crzRC8ZSoY%5b`q1Bh`f!fk>N8a}<^R^ynWi-CN>(}G)nzDEf=A9GXV91i3Y~OMH
zfH3^DB6Q}j8$Ye*GDoe3?uIlwe01g#qh~E%9aWWVpB@MxA^SWjcg~GYj7k0cxx>i*
zvKw1Qox3@`qph{*X@|8TLhfzyWwG4aesA<IptoN2*VAhySf*S?4OzpiN*j*{PxjK8
z$Tmz}sUOpC;5_|d%S^TyMV8oYtr<C{W$W7R2;seTnC#Wiuq=59y&<nVO#r^L&fnIQ
z6Yd+&6gP@y&sfmPaiWPkENoPg1yLSji_;v1d7ufuPNUh1@;<-vOP{DMU7S}uB2CB_
ziC*ied7SB*M(=On${__W{<%8SH9WIwTWi^bQ)|OD!&hkm7z_;4I(O66@rVm&vFldN
zPTj_D{1Lxq%Yl3yglCCMKOT(s>Aw@^@g_BQ{QYyjr*D?`*UD}q6P_i;MxrzxM!W5u
z+Xr9TBmD5Xe$UP<=q#}tks;SgiiS{?^}6HN2#q_tcgoZbe_}{Pa`_y^j6wt%VzG@;
z2pGv1go8h&b+P;JzPI|*<df@>hkI?%Yv~=M@vXT{t6y^7VT9Stic^=6|AJ4e#VpHP
zGCE+qvd07AwCmNo_h#b`g93Vrw>ot0!)3T=Wv^r`T6f7jAUV0YrJd^@j1k!ws3kl7
zq)}^=B^hzjJA0?k;7b{;ew`p~Sa<)tT3h8-SAxicMQJ2^&T|{_;3gpjixf!T+q<@}
zJgQnsXL()?$mp7{*LtcHePlc^7dY`^>Q=eGsz|Ih{29+t)#FV2FZoF|mgJPsIu1oM
zu56fBeyg1mj5AhfRA-sml~phsT*W2QG51dX&=uG}Y^u<k&3X>ZZ8=$H)vHgRPG%#6
z^N-8<YbB(y21@ScN6NpElJ;JAq-XzN-awQA2z1uIvW?6289Y(nQ7bT)Ep+Mlu(BRA
zm94*~2R#SuTQPKe!Nk5nBP;c!%HJlhU!~O$U=8LZIEg0RK;hlpD=H!U>|7STscYh!
z*RSz%PW0Zvx!iU~*G1M+6OJS+LpqF3CYsRTWsUjWUeKJ_onfdcub|@-|FQ0gN|Kql
z<Lg~oM_Z>gWQIG^LI740j>57sZL`t#UY?3E;pN4MK!s^i+wEUNWA$uqbHu*&Mbemn
zo?a7=&AjY6$vJ;?QRl&@&L1$G8~gO)Z!@o6>k2F&)<jCwnLECCUuc02taT0j3#Q|&
zvBp4rwts5o*qT+XPFm(}PanAQIz;_m+pm+ezF#)1-;*V6#X3Hu)!j`=UKGnf73Ac@
zyr;ZQ(mJf1=8;Xe!pKY-apR&T2If6WMH}qXn;GBg8M@BMwAFa$i;IvK0}}@Z@8bo@
zvDu=dO%~nazT>ADZ7)@mApKGNW(Ku(-e+NU$G_8ZfYA@@e4gN*HE7_#dsnWsIlt+S
ztohBZMQRdQ3lH8elcbN6|JdQMGHox=rt;zfoxfxeqBKDn=szsO^Elr2=a}XR&v;&}
z;guazv;ft{=-+k1mCsC?q0r0W=l%6w9Xa@j@D$qG(#U_WcRkvNE!zZ9>&eBvw%93q
zyjjc0zBNEA$wR2D>c4$kx@?(d^w{pL0<2BCTxcsOyU>}!gb^lDumT;K{PDSRV$(B+
zWy880eKPH||MtCYE9Ano*2aW~-ygPP-$q{r1sBEDS#q}4oDocyffQsCb*Z~7e5T^1
zb`RJr$b|0sTMj((!ZXQ8(Qv%7l|b?L)<p=g>Q>wHG=w7mzJieR<QIC1GZ37Ey4e3-
z+tQNAl*92GA#gn{q{V0&PD&7wac<?8uD7Nr9u`dU`hC<?dRy5(W9<*M$&kL;A!GNM
zWlvk#@49+CurT<B+4k$SA<K)^JH^x!Aa@P)le~A0xbg8uzNVJDU%O<}H7ae2FlL$E
zzluWQ=h*77ES}`l%=>%I6mD(ldG4m-riz@-J}Mdez`)<sKI<VwoPBcnlV78}rg{*G
zm6R|BVfqs2dYRPn#)6vaYR83hi>R_nN{&p;(vzU_Ya^Z=5YR5G-TQABgB#646FvGI
zFMk$2&N;rn^aUkX#@dxg)jl^hH?y!dUTxC#QR(9bY9X^Uyf_-M1*)Gbyw`{Bh8}Zt
zY^{L?Y_?4XhoXV2sa!&%rDW;V9&^HkvvR;wrCrmqHu)<6;moET$v^3S0P{SXljHY1
zZ{+`?>PrKuT;H#a*(7ZlD>5WgGFL=lix83aHk8byfzV*cY$HOFF(pK%L{wB{3Ym&D
zCo_>wgd!F1dg}N8@b>AP&PjVe&wXFRy4G4(0f&-M3+Pc{MOi|qM$l`nsFpY6&`#v#
zW7t=Z@<)u0nbuDzrg5XycI<#4q)|M=TMBd3!kU^I;3tAA1Lnt-)3r^39F5@_;IKLi
zLgqLMg3_Gd=kJU7y^VB?w>RJQ$w}l@WD-wphvl%J#@Wl|XV+kL46@{0jVUYRv&$In
z0TuhgoCxj}QkWSZ(<TGF*JLABT=VY9@3<H#?W5?=_@%cphP=CyB`f_$R-1Od<=C|w
zcklB4mbKrsZAwjW7|vK5#8`?boQYx8S+c$@Ncu(qZm{4byraW7_RimXKxHTh5T~P(
zQH#)UY2&4L0mgi~GI0ni1+__-GLJW@LB2;J+NrA<3p)cAJn7_HX8zxHD?o~FU;vvi
zbRvh~z_qZ*WiIG6J$+rtNk8JpK58NpY4z$Of;XYD2CAZ3y9_S(xpU`$E$x4;NoS=3
zS>1wCioJ<s0MZ<c^s(?nP?e|ID!=E<#0yrTM@K1ZIU^DIlsS1oyvbB&6LflZCu9DE
ziTT+o2ipjPTd&oPC3!S8yq4rO!|E&`_TNpyYEGJj25F-x6ga@a@@<$g2u+4_*K3$M
zZr;2%kvBv_MwUVT)J3R^MPz=}*Bv}nz?SrD5dDiN-Qt!Nx3F*x+$KE^GB>Nq%5sR!
z!4V?$9I<Vqb9kV<PZMZ?ipb7F{J`T9+m_}9y$>-3sNjm(#9a~rU;`^sh;dabcCkiH
zGE*L`7(tl}dK<1<z>hEKIHPm^fhdh!l;0J<{&vU!e*$9!G6iEI#{^y>Ob$TYgJC^<
zhUHuwv6f1PGnykgL)1Q&jZ-kBV=-hpUIpv`I^n>j=gl&B(6Z1x4-a^!-wa*9gy1gF
zil~Jcf`L^iA#)yIl|@Ph((ZjrGBU^B+%~aI;5Cy~%m<Ievk5B{B8nyE$I!gg7@4b{
zcuN+0iRmG{TyCMK|E)v-HR}w&eR-!6r+*;3g{j*J<s(`eZCcl9fkr`WwqT$(A!kMG
zP2kU741uxMW7OjWF98O|2#@xPf^cU3edT>dgkYS$86OfNx2le;r}cAl{}vC$br7|1
zM+dHD+x~2?N-2}aTf2a7tQ0p8@0f13tXJc!CmPVF=pYDnKbmYq^MrY-xpc?W5K046
z6BE6ZZ-Y@Hu>H{Tn_=;o)<(AjnEAW^AEeroy;Y%P2&7q4#UdS0$3>7|9J|-MnIwj3
zC8j=r2({_>?X_{uNZJG%g^}lB+zbqb$P}z?A|?>?Ay4Drk`c!C1i|VGSRA<KaP<NZ
z1B)YB%iEd|BZC)+c`(K=<9be;>+BUlqL@UuCbz61i6MpPkf4m*rJ~Z)P|~*w-vkt&
zd4%5gl_y0uY`ASEE!SV_4ecVZM5L?;5Fu38In0i*i8+IpMo=}e8RE3i=)RDcHINVi
zghl=&jKIfLH*<<PL!E?A3f`$5@(ysZ+H2x;xP$+MN**^M0Mkzt*uKG9Ocat1$pn5r
z_@ThV4gpca(zhuyaD~tdEMw;r=pw^|gJNzssf199=z<}3hg=^6CvM8`$3Jle0jmbh
zfAl$6!vFP<qdi(^$g9EhJoxam%#=zD`32ZeXb}h?Wd><(WMabF%&hM4GB*V`12j)P
z(ls@&hK4d+N|YQ&1jj&D$Ir5L796{5x=V)y2rT6Ly-k=KL+1mRNaowq+V=KYFfhZP
zcXSk=cZ3rmh2+%nF|Fg<_wOaN;*?hBn7Fu6+gpb!Z-X=}HiDnH<C;87zs2Sdq*L`7
z;CuwL!$!ppJa|+=ObT$2xqs|c44L5K09<Ie0AFu!FRwd`7q5ldX_Ubt6NVZqD{bJ6
zj&J__s=5lsx?h{Hdz`>{VG=}aDnl7dRQm*@iB{aO%+JS19G`V@H-S|4N`lLVBV>#J
zif0z9zp?r)x?ZID&!-<E8R5pjmAn%9ve(5RzXt{kP1rU78-WY>`!aCZTisNbP}_J`
z3=&)^e9UZ(JhQsTBtbLyR}KY7p`1DK@!>sG)%Y7QlM<STPw_`Y=NR(muI%uL?9XpX
zYmdE>jdX}yEyA@L8%$9N^6-R{7pH=k&%qgZCAJCaLClPmNo=QAD?$ZEY_CLOf~s%8
z7Ag1`$P<+D8y9!^D?I}?Oz<TDMAFXM!_NeTnkbzUlodEQ!d7C}uD(~VzK5^g<%?-?
z;E#78a;=R_M|Q;h8*D;nP<p5`o?MPtD!59Uw8g3{3zuvtkr(ID8VXp@XO47Uxd+EO
zUuq22{=lRUbO49Ap-G>|c$N?-O6|LPUY6O_Vk15A@@4QX)gUuR&hYXYP(Z<Ahuwf3
zoO&dnTC?C70O0Ard-QTh|5h;xC8ayaNeEvh))hC+9AGIU(RU7D6c`oTPP}E{*|U^K
zP+xFjI3mK%t+_3Y5Ii$IO+0fDxgt6{W2F0j^FIchE=I2^=aenxt<Nzz1x^ZlIlclj
z2|qu&Fml-x5(9j&2bRP-hSZ=TV3YXM`4+_}-rj+}2IesQ2tYLInrbf&=}xH>up{2$
z&KtS8EMgLgcc|<RmukKV12^hF9h#6pR%8G-J;V~WpW$RMs`MWCKpPhbmuFzDkyrRQ
zxv^~!0YXbl%c|ZB6bR1;s02{!`~?e=F5GxCsnm>tx7P1zU6i!2fb6(n39tsgmgVgw
zvf*XBWt9x6J!4Z7UJy17)Ni~S9^MGaAqJ!PU|6jC2a82<J|0w6)eXf1<iU}xgosmY
zWPJQBNRg-;ajL<ZIe}0M&JG4;8<d?5pzj2)matyLSwu$*{W+FLFA?_cc;V=gy0xUV
z3tt_Jbbu-mqH_X^$7mG)8;@9S&xG%Y0zNf<tsopo4s72YKNQ#S35N+M05d$r1P66`
z!bxmB1qcJ)8YdT*K8e`LiKTZqG8^d_SmCo3y*g$fid_RBFyoP!ohz%TSPvNivLrV}
zIsFTM94MRw&#uaABSl(N)E=L8U0k!KALS|H6)$$zW5XKuBasMGZP*uqy%t`dWl_BO
z$H(fkZw78Ws0ChRU|`ko%j;Wi|H_pc>y{A`zvAG54E%f7<h5^Oe39@8f`%Q(b{r+I
z-VwEj4<3N{eog(<ilwz=^1$dQs}7R0HxTZ0;}y$T|2c#FQTJty7!~Pl_LUG)Hx>nH
z`Fs^>78HAlZl#NDbjCq&44)p~9IGYtNVvOjd$p_azXy|%{GL!22f-DKBulqFV48;J
z86m8lJ$32^`zAckZ(0$p&J>aor_=XQc2(^e)pHJhEGaJa_KSHvtMr=I7x4-Xg9}ba
zY+<^)e@q7+2%XF9*9*)G2hPm09IW&>{MCI7#H!o9n@9VYmruMZO8!ZNOyy-eiUGJV
zsIiYNWdiYXGjLTW{|B35{tu;0C)$&Z@{E6s?Js!~u7n8_XJY|XR>%7Woos&ape%Kl
z;?_M03P$9Cx>jf9JafafMknC0l5Q;5-ZttTK?$)QRBS5E(fUvs74lPCI)WmW+CFik
zo4J-Z*+?(A#L4=#vvR!xrp{Kjc_A$`7)sXID%d~xQ!?!@bqiH-!v_qMH?8^L=fF7Y
zhdm7()(z3GcdCG~hTlht4UM&`S6$QU-6M!k5k?nR#C}6N5<w2z+M0B>2~6GsYT=sm
zdofC7;u4~`;gHZBrv~ck>qLaqloodAwutETsyML0(<^4Tlg87nt3aD!bNO{9_8XM8
z_~NJ!z$gweoO$*M1>=t&KQLv>`|@@V2_py8Ra9wS&qJ4bRkoad{zMRPTdL>AU1%i*
zgStxxS0ysZ?Fj)3(dTl{Bl_f^b+$;E+9uY!AsCj!kS#~^Kh(P8(Xfc370gMm1*e8G
z4rz1l>NCjnm^^)(TL@v6y4<R5+Epi9h0=HBr7T75Pl`A&=tRtd1_hnc9JfNJll|fb
zqZ8+k5QOurlb7J7q4U7THqR(oYx(y9PM>(l>Oc#huFX#}!eJ(6@r6{y3X??MCys{D
zK`)}_YB=nR6-AC}O16!Y60Ggzc(7M<t;(HSHTF(k3ss8zmKuCU$~^WP<~rzau~tob
zeIz#p016s_)&32i^A#lOCfM7|*ES12Jg0i><v2Pdrcs0B=fofQJJ$spR{F-;IDI$U
zdvK>wddd4>U#>{dLN?sLT>_a1>2;$bGBJN6*BS~O<mE26j(=x)DfQ&06eKn<&E@hB
zlgvZ(g-J}&tIuHLI}|?fTgz`00|&RS^1bjMP`bLlbZ|70X`kp@2d;6M#mr0a#F^c!
zfyu&83&+d6puWJ7<3J%5M3KCJG%!DiiDIK7I%%H92N#r9RP-TXN4r?JB_S>%F~5W>
z7Rttz$zrQ|L$RKS%|-fa9gK`qW>$#uUd{A`ooifN9uk%{)<+mi{u;WV;Akh=@_$?a
zz`B@l+`)F32R3~bM@-Y)wHqNmPBPjw&hGf%plqztI6M4z7Qe;gYhkt+r+;doj!{ho
zZMT)UjAAp2>%p%L$Y)FEt7*1UGDuY(@-le*yOpQqMDcARYA&}rr-;bzH{__=^6u?h
z_%&XevCVlii2=XF|Djsd4%Yl*rd@BO(7mtTFfvDfrSOhUF0nXNY_a8QT{nxWASZZ5
zsJ+D1JsB*oLn4?hGKCed**5Ybu=V=$Cu7Y*G9hv+q+$bJyS-u;5N%+6c6sLTF$m8T
zeVxLaB{jZUs5z~N2dCi^0ejeI=PFLE5ihDAPYs)Hx3>mEpdcvYazeuNi}~eq>FTE>
zD}AsnFC*g69l4cp?@`--v*<auk$6KsK4{<H0X21z#>m2V+WvtJ#!K=B9!W?G0EoQ(
z!<65{?P6^tvFrvXhQ;vWiWHZ72i;LXRWa|W2=}iELUHFgFkUPDm!#lv6<oXA=P^Az
zE5daW=G^S9&mx-|<&}dUfJvjOmsQF~cv&7Sxow_D@F<>mE+BKdgP=RXz77mi^!GZZ
zX|=cCOu|<xRc?}Ll4sOgeTvj2at8eTQa@8HdHp%ZOz%SE@CzQ&7)YjZgx8y)$MH^N
zlKfC>nl``tUI3Fi|DNQqVpDL7fX>Q4+9JangZdg*x86-PG9p4pM2#}v6{)oJJa`G!
z0?aG%-3WXg>HBJCh^6n8sLue(2NRw>Rv=^zq<-(*-k)YH*=JoJiLN`b)%j{BS@pm!
z=+kxb%whV)HpfB$1_+^GD4?>1RY<zkuW5%^I5=X@8GapIQDm<GqjbAlrl9;VmE{^;
z0^tjn32S1C1wPw0ZZ75>iyKtOsCD-K)@P3-(DqcHF+mS9Ff*_J#4N9C;xxcl$}6d=
z4~e1=_9Go|_&Z{xk@VbMuKiiM3Y*x=G6!A3sj?kAuH8o3@f?tzkJs?TlUV~y7vG{z
z4x4c%=Aur52csAat9WVw=h2XF@esL<pWe}CHs+66mh`{193c^pRlTxEY_m!ae)5cg
z@>7>6tLN;T3q4zDsRG5|Mt5C5<}-f5;~&P7X)$=`VD#V@nzprKs@UO(8XMKis%__5
z8a{1d400ZWVf@F$nnsHfbNkru{(%6ijq-B#FP7ya#p6zlZ8%jD-|dFZDbZLG`_kk`
zTU`k-=zL2srSwfyWF%No1*TnJ4jURqKgcA@?^&`}*{K9k3h_#+I)WWhM>zV*HM;oc
z;H2%i7O%{kF9ifUqAej3r5H94y?yttskzxab6=Jel+j%1)Lv{SzL>Wihhj3<s#T+Z
ztfyjAEoC~^VxcL;4HnLhf}eQ!tNPO_V8FlkY|lgDq!Huy2nt60TvycO+M)Pq2r&NE
zaUEv4DsOnI2S4*5a|F+fM2k*<?QPD)7N23zzW!@nbZ!}o=D8oYplSh2GhI1ClI!;h
zh<D@3_+&}lZoG|6M^Nf<L@=!rGLH=V$&)3;(i)eDPY#1$eDdz+*Sn70Lr-axH-iSX
zbjPuOXDGB?{v|0J)o<VR@6UY0U-5|%)>?n(2##Kw?Cea<X)e}o86Nv!C$#BNbctmi
z!%nfwt!Sb2{C3Cc52HtEsxYo|R`wbeR`r_J`c60a%!4<A`bRna1b`Nbu-YZ#fY6T!
zZ0pFx2UiwtFVB)ffAs8Q3jJx47TjEv(}_(4n8GNhqn*YEU67(!$4sq+rRBW*!!UgE
z0z3nrHzgbVSIJWOhX1iZW_27|6E}TqFAF%@e4H>v^sD7xcmxOOO}e?Si_AkZwMhhP
zd)K<R+rWD}KgdmX(u8V?-UV@x^l(xS55^Ge<LuN+G`&*B6h|OXT~TXT)Plh~Yl`zR
zWAb-I$Piaof$}V}<M;ieY7kKw<sryC1pOUX=zs7a(zW1J7UO65i81}YWgGr)e$BUm
zSFu^Hy`gjU-%@g+9ZVtCRyHT1$)l5>9&4}kpQptP4LKH=60<N>FU4lb%j}O|pj+oY
z{#=Ev`J%{0mV@RjlNxYE7EN4aF%EDLjGU?Crd0KZ8LTU15FCb3SCo#<RbOP)m}xBR
z<g9*m&`tXvp4mLkzW7rJgC}!oUcB>zB^Kvd3hP|sET!N0*vEp2x#R2?QqYH!n#3u<
z0NcXX(cXHSygZi}6#)Cli1X#vIn*|8s_W21q1DtGDm{1)P@KNYVUJ=Tn>>*Bx!Bnm
zKe)D;VeEI+y+ZUsH}g^&(2X0bS@kypY~yYH9gV!))n%sUnN%zKwJ!8dq3;5i;tqjP
z5i4)nHlj0t?Iq5x;AbAWc9^C`I0#OExM@6r(+N5k_LvsGigB2-&sMl4kQd!pF1KJ^
zA7FeUv^D16<2_Tvi$Wh0`9Aa|4+MZbaZ^f<&0*2sH84ejzcmQ}&T7Kn0$tGe#Rc(F
zgbkz}=mbDgigQ<yKh&>;NllqMzhNp%fhmY-aOS><SU+2VaDK_)_kD*Nl;U(Y<tujN
zju!eNofZ_Wz;rYK%_e7~*`leo>hyJT>mnEBDZ0*4@1IAm2d?-z-KX)l6vZ@ooV{v>
z<I2$pf(DPtU)}Q<W!?pAuSvaVR=cEs-{Do#J=@YK>-~TG0F;pT4hEvU5$N|r(}~=c
z@w^HQ$pDirI=^WgWqM)XbBOG>wbH%$bbMS`-B0)M%&gev33jCgC&$=&5uVo<%p+xe
z26i*Gmygb|tRnJE`{>ZO>u=GQn-}8vN!8eWLQP}8#8Q(SA?oQr1gb<*cE=y3Ew!2d
zV`W-fV;FZ1Yl?uG9=qp{NIyCg8tm`uD@qRnn-Hv1tPjO%+*M+#LBAI)H(hKxm{;fG
zF531^ZYHwAJ<=uW$$REkSNqT6i+~T}*AiMoETYYqB9bGBb*SdBbO6^mslURu6c*pl
z2kVFlW$#x{|FE0U0ydG_rr4cJ>|e@K{Tbf=TMFgtoc~UOumE$-SI4%FvxA*rip8s{
zwv0P<c%VE?=;6r~f5Srz=RVP5Py<5A)LV0|^6EHQH<<~0M4WM`c{w7C@`!z67ZO2I
z*MPcG(%eC1b=MnXVFCB#hU!%;y(w;r^DTE5y;$ricF1}d*c}}zlUq5f1f6e6M#g5U
zzbfh602s=r_WyLcQaY6e_u0IoEDKJQKnmv{4aH_W8fqaGNfv@{WWV4j{TmQXVY3ku
z=(?<37%7YJ@aXyp56nFw20#x>a18qNlZP-Sz<w@66O++ve4EZE?Ua65Y9}H#0xv6%
z!F#?%yy%+rZxE_nfN`X3)Zw9NhE5Cc+4q7=F2)3EKth2b0U{0O44}<e-NMxL!x|Uq
z@cO!sDd+E9;F+EPS?(U_5O`owhZI2Hp(?3XHw#Xl-m%Ecrq$}rwod}pNtY+Oo2@lR
zSw2;+np9!!sK}|yKl%QyVV*gF06>Ih`pi4Kq2GeJP^foqTh#3Jknh6PweB|eZK)*|
zx>{xb*f0Y$j#wq%H~xNp^)K)GEN4&zol;zehljzxG2V4PHda-jY^c!O6E5rxw}MV=
z6AN*%uCeV$&HZ*IsMugq-~=wOM>TW5Gs*5zy*-(>o|NJOjOZBbG_ip6N)FR$FTz2Q
z;s!3%v?=542mw0aYU6J}dm{Pxe95j*rETfPzyepS+Or&?aOghh7ikw|4E$AzH!7uV
zYNkItw;O(_g3pYnTX@@onSS4I|1NM(2&af-n}<<eCU`8xuX;7V`UHRdW0yPx`Z?zC
z8W+(TId)S~@%IPJnt)!_QA|?2%1tI~FInfQK`(ng8t89b*;9Z#%ZKqK?$q0p*x9*{
zr8CTJ7BF3Z9wo7l(B)PZe{q~a+dE&m8bZUr=gjfg;k*=Z35n5rcm^&SUQV+pW^KF;
z7FvvRAfOx#oL?BWxdeuh2|m$2Q*v=;x@YqC`42bQ^+<!i@7ukqZCpbTzo^Mf@ycQ>
zuKBArXr?)&VQ6e7-!Q}$cKWc54Q7d0ZZYxcQ@(j2jP@F$xr%?8!*P=H>V>+4*DH=L
zetk66Rx^vzn3RnfvQ7~)IjXQfJ~SC^)2E}}ZA-#}PB*&M5I8{z$lON8Cqor?{Nux|
zql;X(cX9LcOGfU|{{2`)Emnz0^Dvz>Ud!RJcl>(Lhu53H(8j0)4Fa|$WEm3z-(&Z7
zVBHX)l!7_m#`0Tce>CjR3Vga~IJ<>N@ddK1mN(D^qHzMh4yF&gNgyR3$~U^>H|t6_
z!-?=rmze>O>6QNQj(>84voZ*M!qleV<zM~4eH&hMLBQob1t+g7h~)VNAQr#8eR%x}
z9ndhQi$?CK74dp1s(o<1vLsw}B9ZZ}cyw+sTk`@22p|I>X5@Uk9-`1zy~`oFr(CEv
z^u|<wJ*t_xDF(%6#bBm678B`xrodyV1#@n7#5kr7XmV#~+@aKG8t*|5v#)W(0Xy^D
zcwr6#>+t?<HOuq|nWCp_HHbrYC@&=Ox776j3MpOFPg%;sH@{^yT`96yjFa%26cGc%
zs%6VpfkvAc5LFZC+JJ0rU)oJS2W0jB?c2H!Ag+QtT8>@;ljK_Xgy&t-GtUc&7QO1O
za#N5we3kkK*GrnLnJ`Bzu~=FDm^m|9%H)a!)gwtekck*HiTIyeap(IK1O0P9W8-wG
zg3x297d<^7u0se1-&NhUZM`QCCG?^L+Xm1akg%f2<(UtWLH4Cn3dht@IFRofeS3H0
zx)>dc9L_5}hJhajh*423kL*~Yz$0>ms&r(8Wd(|$poPIGQZ^<J;p61inAIsRd)o%e
zw+A!NKL=mYcfC!2oW2vN&&5~8iFblAf~qQ2J{1V%<zJ+r>{xv#d>0+%5w-wg(+hGy
z-ZBfr{C${3BWQ`O$z}b0pPK@Qw}`!4YSjdtaJks_X*S>VTtaPb)vv>okF9{8d2lUr
zf8J(c+_e*{KtFuQ=;2Xi)O%GMPHy<=t{WIO)=?es(;JYcdae5+vlKX?jK#bd4|XwC
z6cmtbj{<%J$lylMuf@`hUF{-`C3Q)xFjafEF;ceagDxj>w7Wj3J44^u#U=g2wnM@x
zE-;PA?sgmhWD4fo^J9SU=T-@@FuuM(c^B*5$t0L};Zq$WdapF4aECOk(t7Wv`r-*=
zh8~?z!Mjn|S*gx}0Ri+9qKU~t<sY`-1klr>&^+Rhf-H%617${cuy3-U^VGbTRRb{2
zI*pw{Sy)X$H$%yRPOt~#LV&LLhvx3?{n=(vbMqj0^{sjPp2jhK9rI;uBlSLt%sLOi
z8dst12@7MhhJ7H=lP(@iMVOb_C%=mR9SKkMUDNQa9!@C#F3j0@{@4<W7|R^Xf^~Pm
z;MGi+Q`|N9tweAd@oR8U=O<6I>z_6~^Xm*d;k5_TYUyA}z_Z{<jQ+kwZzG6`6q*bm
zDc~m2<e{$v(*kk&8!xxQKe0_icLS)~wY9+y>b0sY09vovON+5QvB@Br=|l!M1>*AD
zyIj?X&=|UXs@$@oW0EIH3XS-zNEeTzqGFvOxa^n-^@ylF3#L%nxI!{zu4WFHVBUsF
zjoMBz<Z*&f2&xYVg$dt<QIG%|<TYI8O4DLwrX{h-D=Br`n34!0D!s_O?nwtxj6G5v
zERVKE_*9?b^a~+VFtL%AQU%GEtymVNLY{2X-pZU(b5DQAt}GoO71hIJ3h?Rmcq#A1
zyXk9KV!xs5!;|f}K5&h%Ic?S=C%}R~0eg>u&3F!IU)eyWlL4ZD{)he$M1gGY8*Hha
zEkeL`T$T}B8JE(SBwI58F)#l5b!sV1^$72qTILmHC8RHU>PYP90o+ut072kL9a|<i
z&Dlk~T>)M%3-<T6at1RpOM$?HTE5TFf|pJ<f<RtM_4E#`=MkZ}Vdh~D5x}AS7BW>1
z3m{u~nOOYv0<*D;NA%Ydh6Pi2Nt#P9vm=92{gcur*{`Ur2oLSy8T#qvb^I7QP?iJt
z{g~ZFchjz;wm}Cgqw9rGUQ=+!!TJaIoEVyFlj;XVJJ%A%^0QK4fX;7wW=w=Z^Sr06
zt#>La5aUrbjdG>b+k+jk+CF8&l*DEZ*j5JYf9@Ddgo3m*Uz{&Q^e0cApvZIb(iG)b
z8B|FFk&cP?x0bZXDWzsirswD91zMftzhHfK3&=0^!C_-p2~>>>0z7MpNt9{8HfYkk
zb8OFSOv%ShR}BLG?o!Fax5oc5D9q+`t7pQ#W*k@W$${(Bv$Mm0p&6&?78b3|j4C6m
z7OX=TZl0(n_5xbmwt3gw9Jzjqyp1MKlW8lfHVReRXKYLulwVjr1WGqnFeD}IwmrKR
z^&PZO#t=7NbJqL0e9d5ayI%{9W8ogAbo=B}iLJmhN&;g}-uF8#qFk)^nVQ{>a<x7S
zzx}^VD-JMAVP7urxef+Bmh!0=^2_K-V{^Oz%>j&fVrDDWVPW1VPlZ|CMZ`lH-SkOz
z!2VC1m31aE`fh=Pu^B`i+2qg2x?v+f%uy=XJ0uVFv-%$y(z`m~b13g0(#F|1H~HqG
zci<j;ctAD4yjy>>Q=TI3X4hiX$@8N_p5NKKcnF2WLSdSS+7%FRj+QCz(PZOt>iB*d
zjYln1R3#Scg@kUINfYC~(M`ouuE&lQf!!Vz#b&b1rM3#-329d9iP`l!*YI#?gmYrC
zRu)9wB57U@B;ypY*BMq8^DfKh$~I|~n4jpa;y!Un+EN}Crdg;U5PpuNGc34cI7Y0b
zm?=anFFv8bu~QalU~w*6(-Q_f0L625coL;2p}e%aZf|Xo-^0qr);{X3bAq3B5CemO
zBWK{qOyDrYR*u&`=N*<<w(*3`eUAnfUtyFi>p8&E`rp=ntx>g>eJsQzxGEKRyI^>L
zcn|AP%v<q0Es2lMSA`LEub4C7N>VmT*aOcv;dn4TGgBU;^1fKjZzfm&M(EEp`qx5U
z`Aas-TvyB}jFg0>Iu}=0|8wUqe6C~s-~3}7*Nf?XD4Ap74$Rl!!IPm(h1VKdIIKx}
z^~Q(6Dyw;O)rsn1;g?d-TQC~XV&<`j7gkAZbEZI?<*e;&yJayKz=4Tsv1!{=34(6b
zmgp8&?%z^XKhso6uO`j4;c;Ub>45pQiM4WQ!y1aTxHv`P;#3{3E1bkI?ln*kW_qt(
zK$U%V|J~=@yu9>Z?mc8-;m)7#7e=PNfF(TdfI;x7S*gCx+y4NW>XT?(YOm%p_>^w<
zIKSCE4@6v?Zpq7`?kZC!l$sSKIwsirvRPQ>c4OX=rL^8edb;9@vI|FNqCevxmkrEl
zWVUEH3|#;~2XM4*iV%b1SP=Lsu>GTy(Cf(uOLln<goGHrV9?@+*~#LPFk<^UX;RY0
z;JWkJ0(-P~=yQyINJ(9A4%ixm3SS_K?H|f9wSL<81Wa6WH|?mQ(4Yze!M?jTI5@ms
zdzQ>_;C21|bRV)q=(l*hc?gk#0FJXidv3&8=f7XgQ`HOZQcY(E2uug0GJ@p;5|7OX
zhak9Foc{cB!u_q>%otuf)bAjY+0=UXY1euSPC-NIkCD)JTgKoHBxA5uIMVvoU-~B+
z=r_RPTPc~W??2XWf5LBxBAXL&;L#SEs^MFf-%{|4fe~%T#-|@bdU$}4<wb`t7fL}K
zA}K;4jkABP`xbu|bQm}l-6@$8rGo&}2NPx-O;pA?(Tx+)NCt#lC;fUd$})&Mq;&~>
z8uSvF$aIx!7f2i(xbm^i*rCr0NM|vv7+?aUO2EeddtC7P0iEh<CQz2l2>v*J3mLVH
zCLmUQhUIcAm(ozk&!q%Y7$-I0+4lUJ#vb*h9njfy@eED$-+_BB#*0{gikOWAalSJ+
z%*8tGB0B~{T(Lf${uIv3oZ6<+yfK(}wV8q0+vTR3Q)F5ffOaf5nt51w>hUg|Y(gqJ
zjh)$^;J6W_12kNdqtiGHQ%gM4%#q81fNfFgW7}da0t3oy-5+xkq4gq)@a<h$*}zYg
zX~U6Q8<sf@Y0AER{LZNp4?G9Mpd_lP3AC{h8q~PUxhG-v1HWz{)4&{y%P?OTU_3{F
zx0F#y5~jX%+?QF5V|stH-(E%Mdv2<R65<Xx9#_oh<mn24f$)sul{Z=PoYb4R;D;!m
z1-oQrx=|_R->0XhVPJ%h=siy?uE${8vS#gAV}?r5Z(rZ9p<8=;C-EFnzdsVaxEq|K
zv4#!10^WkJWR*A2Ha55I0#J2MIOF7k69Y^pX;um$dBF(=Nrs%Jm325$7^A3vV_jEz
zzC@ktr4+zI2L4~w-4mw){MmnyixhUYer;oF78$mPVvQZsv9V4M>DvDg;d<V^dw@G)
zQTTVDP+*oUK75^|@#z+%7n?Uv<}D{*zrKuxs_nWpB~YKGxx9lIK#UGj0=o3=PR*Pk
zmwx$DcT#A1HniDZ5g;?pi;1EWhPLE<hsMaPF#v$T#xN5_<*WNMmi0HPvMi|)Z@-8i
zUunqOt{-}F{o1yXVfdja0j#=1Bfbm-T$HOfVRV2K-^6<{cP!|GTsuda*s4)3p^L(F
z5gKIr+S(yD@==Q{odTOg1&84a2d)Te@tGej5-xu<Fav`47DcT?YJ^EL8~PTN{Cswo
z+r-t`{<l9EJBeygb<e8Qof(1C^=xyK6>fk*we>VEUFm_r6FQ47Ik6GNb#bs&tGIVB
z@LLl88HMK@qWSL=eurorDK20H!_;SfzQrZ{R+p6USWRlrd%Q;tiW?Agg=Y1j-)fWs
z@L;aWg9gPz8OIjFa}#?qjBhfj*p`j~(~{e?ii_)ZS6@w$QT@AZ2jqDeKDa_kf@y$s
zzLYPnFE-<mlGpD<EGEV&Z1FDdP`^RU0}?ggW(!i<hMh>aC)H}*zb%+LySj#{|ACu`
zjK~n8o^;V7z111-e4M=xh=+d;Fl|2n@qqO>lvz2~3`V`t;6aZqri#6yeb=9{MkQZ_
z9JQ(c8Q4|a6kPk1<y(D@$&TOzk+SjPFO{=xty+c6zn7|~$5+H{BP=^HHdwp%=iI~r
zU*9G{?7b1E!>jpejURAeQZ{S_Gg?Ax(Z=f5ipOJMP@|tXtemX^&J)LfhabqY24n!>
zN!hbmAe~@@F^h<ZV6T>&*As=Lzh?k`w8VLz)W8M)J2D4o@9I2O*{Sgo<DP)PK-io$
zof;60!=(YHBDoHrl|Lm*s1W5G-V}Z7Lwb&+vvPXJpZlx?U;0EjcUtSr1qM6Pcr*eM
zKG(`C8%0nCnRUy;y+wN75fogcrK{JjbsiD2ApK=!17dz^vR7K*6TS`BIgqkrXfnRJ
zj_g-+6-)nw<rW-%w9RiYbs38B)XiV8qq1(8iXTOR%UsO4SxnPyH_1S$#Z7@&1>~25
z5bab{s89%hsM1TkVRu(G;<O@e={bFfRa)`E6$y<bAGy*8G(8+VOwLrZJAQ>mJG>!@
ziL$V&dxA;l<K>lY^GI4wa2Vg4V+h|ltiqkYb#M|p?};4FG*jqi(Q5(E2yGG!rgS*{
znSz8-ZM3OjWQRlG*u}Fuk=LaQ!XpE`CvFO2rh*TTF?<64W3{yzj%(*9!*nzYfkDA2
z1~8>K9aNM*=7x-=7>1Tuu7wxObF8w<s^qNN!;AqeG#v_o>ytvj$o&1v(hihPz$`-Q
z-Xj3adSMn;EDn{(aqy|eO3{77zEVn5bO5+KUM@WW5>+li#Q^}Ik=w}>!AM*hUqeIo
zN*Z1SRhF-rAbK}|R|yIFYO&KG?ku!JwD9=XR}ILH0I@7#;VFN!A9t*mm6a7dqM*db
z`DLpw0YBmt4D5HH9K^mLkke-4c?1M1om&$TzkEKwjFyZKsSDL5-8<QzIa3GDFYm|g
zpZ|{wAfuvk3N%<W6QET-_Ea~&bp1N9$NO@tDqPIF=Blk9c)J)IcfjjnEjCcK%viib
zvjK-dYy-dr_6a(|Yr}(GcOq-oLX+?cju5~)l{q*17V&k;Vy_tBef*7orFSPY$T_c$
z0hq~sbu4&sA|Dmi$_yzj+pB9u_wR>yDR7;WkP`?7D;+^yIjwmz{$L3XqWpXgHijdj
zXrQ@A(Q(AtIc?eU#ECC>l7xF1F4MT=H}TCDx6%MEQ3`<Gcpd|n<b1tg&zHBwqI58f
zgFs*f=V%ghf!`i5Pr~9XED6E*X^U^fxnOwRgKP%ufF(KQ)Td|Azt`mE622*bJv#wQ
zVjC65MqW}j$Yjux0v|>hdj;Cc^_(lxjZ>16a^FnCBQrfAp$zR7vH?D4^tnT*RxlNi
z@hJm?0v1Bb=W%DAEK9;4f4!<(!o7+CQ~V>ANkQi0w>cM}HB5rJu;hA$tsU&eU92&?
zx!elDMzz(!gGJ_rP%#UyS!4e74~E5<$(?;5fI$ofNbNOG%jItE#cI1hIH7kBZt2~G
z%`M^K;rN=Es)}#i_@?AgYI?f$z9WBkoS}b*K@Z!hi>MzjXJ+2^J?AeZ4hlHuQiEa#
zKxD{E8Wnpt_hvwW0g|HU*Xy8NmjcYd4?BBy+j&lp%^r;aOw(J$=ubyyP-)4-!<YZ5
z7#;9jvwOQc*MWU*qICFvVw>6w4nIysPOKzB606mPfFUX>>gU#<{Uo3H!5V>-Jt5oe
zV>>sm5*)@P3$w@9P$y|pFi^3RJ6z2hL8))rUc1-hZP_616-xa1A3x;h?Z)J+%Cv8E
z2Vey-XQLqJia7m7#n>>iW9t!1UO^8XQqz+sn5(Q<;tB?1`_%GEOczk&%4=wx!!a1+
z9(WFsDTE#HSH1dy#UcpP@>w-{0<<4^-P-{J>qc@C6psAsK^!j%dt2D6d=z!`>z)$y
z#;NU!U*#5DehN2!%=Vp%h~Tc;&ceoqxf`Et2UY|lV4(4(QeVPuq_e*kni@o|l$AMV
z(#RGIR~CBndlB04gBPK^ge?2$Qmul=TM*%~(Hcv{upLD&zlV>Xzld5?X_Ytry5s{!
zy^vpJUcXMr?-V;wT!~)vrV%C{NK~z(GvL&!ii(Di6H`)tpnw5;{)YZ4Bo}%YY62<a
zG||hgf|0=IS5pem^^XoYJ3B+82?D++5HF*=#3Yjy0m)BuLTz*4mTmBR^-PeBW`AHZ
zaMW|YzIB^XuYt6C02*~%igvw_qYQ8wQMk4jP+Ws$V1l2F_|Ba*D57L!3K4Kg*`U3`
zoC7&$4(l(08jQKFBU9k|i>moQqC^_ohWQOr7E)4elWasr#vvSM0AV{^JJNvq31fRE
zA~igP@eai31PcJ=`>}hAxQzdBYOwrmh>|}i2NQX)mSMLkv~C?-8uyY44?p?=Vk{!&
zBlHDO)c_9`#|nFJ9LAbf?=!^aLxNcG?3o9yW>&jBM`hW$Jqr5?%I*@IpO$>))MKOl
zU$2$=d!fzkePPD6kF8pEmp}`!gaB2M4a2yQ9S;Y>u&b4D`-IpAq+WPHlCmL8)`V}%
z7J2babd;|wu?mdIMugn+nKqMHZnxXOA25J`Ve`%JLl;I+2OB89vjDg4^;rjohfkr`
z6-a$T^j70tq31Ge<WC~|V52F1Srqe~os#>qTNd|6%pv~ndESC?@fSG1Y%aU^><LCa
zSJ1H|(T9s%i`j+3ndcI8+>L>}3kIN+hm(u&n@BNYBbXb2APC{2`xbFllaZkzZ<MJx
zti<XiuoXei!**QyauIk&IEhfvSJ$G7!2wmr<2E*qy>Y_{M*zC52EF45G{{TO5HX>%
zM?4I~H5?P(txlL(Z_xAwoDNA57JF+aU`EKx&yN6!dYPMIpCUcFLx5s{aVBLPoj0J0
z?EjHRS$%bks7dIKz&e|?L`nM~B4H|xh_(Ly@W*+ClYzGnqU-i`adPd-BmFl1Mbe@&
z=#?2=2Zi)+fC6SA&D&nS<J!KiFL<32OO|hu&T9j?iB<8u9ITz<aOk}VCUC76w@h<Y
zuaGg_4Cf5Y<Ut6Sry#dcur3FS=oFwCg?;y-gVe%lC8odv0+*oRfMF-G`w)gZxHZN5
zZ!{w-ELBQ0?Nt)w1S1&xrLT-uoG^GN{sM&%5Do-65kOSP{;76Bm)b{FTgenWP&i7x
z!m~pHRp!)PIy&$zUW_gTuVd(ZL;~l!xAzA$(vp37L_}&Kz(B3^2Qy<uBPoMSO?Vq!
zfrqi`?SMNgJ@nvU7%tBVGzMTIkA&_zk{I63ug}G$yc~LP>Xoa=`FS7A2T9{JGc&U?
zkT8%|84rxI*&IQUM{xZ&?M=ZvJZi>9oZfL&eHNuO^nHP7IO%PdeUu@|9fnXFuUq+K
zpJtyWUsbgVCl5Eb7uMBjY1M)prlT?%-tG3K`$m+6j9e1$va(yVeIIjO$q!niLFv1;
z0Qm^p(kUoPC<O?CbBza~DR#lyvc&U^KYStRAY~&-cSkh{;;FNUse&k4JoO$|oSOo}
z(yq6ulDy~HBOP$nPbdn~+Y$f)7@Rl(cXxLn{ZMgD)c%Ku4yDdkJYc-k-9krPEi6*Z
zB*z7Z(MWAQ_VQ_cy_mfGK5*(1Tie^iCtQGFXRR)HGYJdgwUIDK5t!$mbNDINna3b^
zb?>*SA@?)le=6(BzaWQ^Dab*5?~81t%rR6h<hb0r`?{dowLj1`Ctc%<AU3IyvOz~7
zB|e87ZJ=_uNX(k?X>*XzpmSSv17;1q9FcG2<!@e;B;k_XudKvq`RKlVT!93~nO1V}
zRe%37J~;R`*{cenkeU0E*TM1r-P;czbT!sbnwyz1Wa^<RzQNg4egYSGZZB3JN!?t^
zaZA{7iHZNL_#YpD-imT-Kv;B*xbJ_*T`*sEaem6Qzq!v%6)qYum_RqSKXMHV>Nu!8
zBOM6msYSOcV;Z<KOb4GGTnW<@G!}4mBYo^y-|UNtvQeHg<mzwr^sDOyTbi3Otqi~{
zYd~NRd%o-vYO_VRIr~`rf!}}rpdZ2ds-s*Y)98rc#<O_yQCLE1Dw}B|@u{PkQ-8r7
z41^eP&nr)5C*G3&AIu_#w%I=K6*#e=1l=)W^el25s0#(YE~$h;+1|alkYHRv;-}AJ
zBn?xbKvl5F?l|rFJ0)T%oa|yqmJJSG2FACTUx{aoJc+-h#A367{~Vxlm|nx<lrSzz
z%7#x3ZGVNUiH?y*SOOL!ffPSBhC8^m%?uc*R#0zW9})T#?VS&+(Uee&FS`Ak00S=v
zXJf8=;h$H^w+-I#C`>ybez_IAK)GIy+V`nBRaJtERfJKntFf??F$rk?T6OPS8+kiI
zqh!Y9sJc#v){&;fe86-U`lGNl+^X&O<x!!AywV1QJl9PyW}TdR5G+6vZc{Llws+ZT
zS&Ui936i_kag5)vG&WNBi6Hjezb@F{`0*pr?IvX#yxZ{$$9{Bdi~|@TJ~kL$UHz)v
z(D@<5BpHn&Mn$xh5opZ7pIhcu8jPD&u=>^G=4W&YTY5ilO=S9u_;+~2{hHvQ>Ha<8
zN;Z$+v=yj|*{Ng^xVU#0`?lCUwvoI{xVUWHnr!ymPQ~)CE>ymlMw|&%Xu4McFzQe=
zMh#m(+5E7M#~e@vv>H1#HNhIt7vZ7m5ir)w%=vryH^x4FYIH)|lGg2(8*5=>1ICKa
z^afsu8V<3)vezjw{K;X7h|#DY_=q6yA#drCu={d%>6;##SjA?9H$Zk!?Dm&AFi)v5
zIVz_=URpd(?;<8)f|6O$7G`F|Ir+y_&Q>1j#MK<}RxjXKRPMk4jGKa=$k$lS@%9?l
zK|>fS$e6vl%B@>G-FO>ZX3h941S04OAPGZo-}CXKu)ek%#UYm1)qdp28~i9(o)u3W
z#wzMtjOnUJ*VGi@Gh&W*_s*SYc+<5!lKl5I*2BPgU0md4Ui85H{Cxe=G9)puWXB*a
zPE0U`+bO=LLqVF4G;Cn_Ux&ch=7Y0xH@!hHyr}HnJ-!UM)8)OHbl5qKslJ_fyoS8k
z2&nx?eHbTK2INlV)qTan3^Vyug3piB3ge1cVjF}5i-fv*x-zdAq2KPJ8%S&vy;>x_
zWlLUw1+2xcAR8IwJ%ndrh~Z=Ie?}nvM2c&BaJp{C-R&N3(Xf#?buR{Ef=1TVu{F3Z
z7N{cAUO&?~AA)gisUup<q@u8-SF-SFE7?WZXi!-@inCf<>=hy7vyx9OwXV?T^szC&
zzv9WWXSbo8QY~US%Lc`E7z~;OJXnwl>t4OuitT^9#=yXTbqu{%i4M(bUJX{)4Wy@#
zogB4DsTW`^5=S*_t9>Z`e>#7JtDLL3;3kHf{XH3qrNqoJ=_2g^5CsqmP*<^gXY<nW
zQ^Sk0L>OD2Kab)jPd<B1ud%v+0@MwpYbaEAj0RyIM_gHlG+etF9h&Dx(Yd0ql~ouj
z<1{EdU8#pL5Eh%kmI#k~qV@-jHo*$S*+{LvT9k&@UU@Larw)ukw7vL?@7}%ZQ*r#S
zbBP1%0Pps6V~9+l{6TR)fo?Sev#?<1jdWG__aF?xnTDQVUPvu|1^HTfSz;K`3OlTN
z3U|42g({42?7zUdSv>L=kIVtW<Ak07Bo)!B@YQF?gUo-3ZrUBs7xL=~x+J7xG8y+b
z+<Td}pKywRSeG#UsG*(xtY?2;vVfz_kFQJvlsHF0S3t&d`JrYQCNTub&Go@@hIJ*s
zC;@Z8OjuhaZVg_IoLsE;DpE6G#dn>ZozI^uVC7<!kX`iOH(<qBwFDA)@@6UQqb7MD
zZg$zX$8&W>KrzSG?F#bpsP<GS1!%D6e0ZPHtxnvFL9cPD$+M4e#DE<Q*u!=ApT_vu
z#eP$${T)U|_X&ZC_~~CRf89z}7BxKlYReE%Iq>!)#OFGa9M}pjC<dK|^kR>;G`#a6
zgne+3b+lx@xb!iF)OlUYj`I<AQR7nXrFY@9PdqQcrc<D_fB~l0aZ5B>{tGD<3`KuP
zVwRR~VE^nCYkF;m3n&_2zsf(=oBn9P@jJ{3#n!UIL6i+xC4d$cP1ZghBkh~eH?|oY
z$S4?s+l_u2vFr!v?zcAMCJ%(spq+x-2Ayoihdj<FuHyi6ma_6BW!`46sQP+o=A83~
zDF&{tH!ogX9q6!{w-uj|n*vOMPf@pT<kKhJk|BJLoQsgEncy=6*!f#Cl<NGIir-@R
zCj(c7#p?g(64~Ca;n+MG71N)dD@sShTR<aiWg<8ypFbPbTJ0lOZ54&?Cbxsl3ES?+
zzkJ~=q7-oY<uV3`6%9bz4wMi<;)ozRw5_{Uw;z6X=ra8GkmNvVf;b$7h+er5Jpqv)
z`_T69b6;UtU;YKquwW#5lz30}8B-Y;QjO7KMYJ+^tt;TbqxLA9a)*TkEDPZ6W&<5k
zYHEv#q=K|Gb`-yHQw0_#KfjLxt-TFcCY@0R0K9EyPtSNrutwRIve9(34qYafgBYG?
zZk@kRSn2HsG6nq{T;tupmKdrtG2J7$jfdvPo_tS%mwtZjOIK%S*vtWNAm%(HH&-@k
zL7p$kCB{OHFfT;+RpzPwA~7>_12zzC-U|y7{4~TAM3}%LNu@)~;szx{Xo3{qvQ=#D
zZ{{*eWJ-{TNCuR(2U!VZGuh*vN0w@*O@T_%yWm8DbIk*l9`puS!(<mEv&Jw~X>3P!
z&$;7{vG{Vg%?mM&kX%8-?@}W|Hi{ygbv}E>FTH11T|_dRZLT&%Dq*$zZN!t*)Kp*B
z#suXSkK3zBCemdGAtM>Q`3@NzM~An1D?Ti4F;oFi7CkX57IiIR8l#yRg#vO>;_QJ=
z(2Xi#p9v=c_?}p$Bba&JivnPr{3zNnmLQcv^@%a|>XhS+SI<&k@BWpi)L(;R0-1sp
zGi4%-6;Ng;%rB@BuRf`)sW`~`heVReC|N5g2<EG<<9``EpWd3hV;j+<i6v&-7KP8G
zYa6j*5d>WbKQDa|mOoX$=E<FmV%mB5Ap9he-~@W?CNO!t3t(N{s<Qrk|AL^)2DCCj
z*)XD5_^tKV6n1!dxx!};8y`38osa_3HZx}a*a#~pOKMq@?T!6B$8SY9uh8fDvLz@s
zTD&<dtH3bHsxBtRh^AA>VW3c{QmfTx_rr%#wW`8*QvJEsOkI25uf9_imA~G<>8Q?k
z(4}{Q;d{RMp49@@avTFa0EpuJ+}z#D%GBgsGWj#D%kqmP{WtW;Jybr`Y>8~BVaI6T
z0LFT=usC6Nud9bgAF?}O;o~2VM9Nwb3cCG#T`}-S1%U)K)Al1f6=OrN>c^;j#R#|_
zs3IaL8<mfWitRSzQ!EYhW+CMBLM<TB89iiaVkp6$mawg&Nwl&Mk>KBGOM^hpZn)WI
z?rcQ5%$qlUGq+AeRMDXV#krtU{b;xr0Nbo*ER+Hm1awWJc0Sh=|EfVzU2`ujal5<6
z(!L~1KGhIQ#t(*OkvUPH{B&sAd~$8Vjmy}}89&TI%RUSspKw6sptAb%ndeHb!jZ!F
zelqB{p)HkNZ@&u#-MiVHjF}Fg-pAgRZ=#USe(%{qsfj6lyvR|_u?~v1Tjqt27ltl?
z>558}=l%orx^3IvFbNJL3qE@Ia0M$XyF!?*S#40@%*oUt;BZEH=BB1o0I?oIFSl>s
zGZ1MvnWi#<+rmv{{nNY`T>KYr-VjG~!hN+7y=UcT8uX`$kAHWg#e<P5D3=a*V$ZHG
zC?s4-UvR?{ZGGD*!-KH(AQgp`J8o|l-1dlxCgu>SYX3h?P|2-Z<EajC`UN)<n?W>*
zg)wr5i8<I`LZ-6jSu&>D)fXqo>W-N+bmVn0X+Hn8uux|rV2i>$^xhOi&GM(5vBI13
z6w6N32<)T$j0{74vEbHYR2Z|3-lzj34HzpVKO23M-?Liu!V)F8jgiKfp|N+NLxM?d
zi-QQc;H`-+&^=(&s9jbjTRMlq3#A4=6{shUy}otS*?IT!xl0_GpN5BqfPhgE*s?iN
z+<=<`8bM|SU*Psf6`n3CUy?2BbC~HWd-STkEr{LlzfUbVjDy%X!j7zfAO{{SznHU!
zhpp?-&Sv<Cu@K7L??4Yw%2x(2FDWw3Oypm8w0_8|4Znh0jNfKva&B3MD!~vy_;1^-
z{H`&YoKq+(%?$c$;;@<-pSgte8k>i!Nz^YvFhsqXp*({K5J7Qpap4mdhJ5Q_)~%~q
zvb$SC`}ZPKU^7bg$0iM?E<&ZI-Q=+tsLetnSg-rzscuCaSN>Z$5C>ZreNvpTMvC{4
zRGke+$OGPk8#OhB+72-iqYKQ%BlbMIvh~8Snp(%pm#5)F2DMZ7n>SG}qDH$P?qvip
zt5Xxhy;0vR65j2hYvMpfPn6hh2>-mvg`)$0K}a5du>!+H!A+ip?${!I)jsFCnP28I
z9GJ)y7?q>E_V#_jT2~Bfnxt%Cj{t=RLB)*FcWwZhomE{!w*@9rCGlXtIQ0tw^N+4g
zhSd!=Y<OOnFx~g>*((nY4g&3xIWSnH2^xYX5DA#@-tJvtf6zz9;Ajnp;Sa{pc><kJ
z_AuXM7@0Ki;#yZK+SIjCNge|%qfGZcXvcm--%6&ST320ZJ`jgnKp`lH+FV?h8NSH>
zXqCF&RmvDj*@$WHK?OU>5T$(v1~Bi`6gwXeFTbIY5i0C+fpNEIhlUj~u<zrMRZu9!
zSimT6252(<t51s!hxYcv9PUzCE+ZR3%1)$yY0f)WiFRLT+shOQT_eS2&F77~MEiq&
zZ7~sAn1bQZMcE?XADN-?AE1*#UAQGxv6;|Xs(GM>rtM#?tx8P&lk?_iWvbgfFA>ar
z^|B)}9j|l0)MMBIIaOLl26zZ24^^8!ZG2grb*m&==^1ct06&y$HB5ak^BS8|5!%WV
zc$u#7J&FiBJVfCW5V$C)L@A`guo6bV^nzEP(UGsDmEkHBzrqd@opp!SyWPRJ?CNDd
ze7XQ|uyk@8c7}DO>RculgpCqa&1wTHE5Q>3u#*+1p|@{o*?#OL$s)x(65a}cHScH1
z-aY4ftcb8#@1~2>Ly90B1{j;8t7OQCFq^e@Yd52_aw<ioJWCcpBF)OmK*igdN@a=I
z0SsO8^59R9J9KDWxld*Tf`WGaE`mXXp50>Dnl!<S<gl2JN!=js<>%*b2PTW|&+x@%
zIyf2VFzlGclMY68x{fm3VhoM>*sx19M;(*})c$dCCMYL`g8cCyWOPSAeG2~Z?g-Xo
zV&TP*c-aG9hK#-0;r8hdc&q02GrSJLh$3=k|Gly@Gc&$5aFuKpEVB0!+M~rJt{HS~
z=Q;lNx=7fMM8td~u4KI+{9FX6de~M)Uu!O2z>!vB$nzN$4M{Bf<-^yZV@ZYhjsH+?
zVl^1DRA*aTqV%4k0GL<7J!OCKtDHxxoj7M@IXO9jw#$lhoswY~GancAJ|)8fSi@c<
z0h2p3{&d(vO#k@tx~B(yeFk-6zxd17*es#$QUGFhK`!i_9+AGwN*_NSHUW{UZD8OZ
zlmM-5#a*}HaCHnYCe~F04cc*W4a$Efc>Fp!=}yq5H5CeCU@Tks;)V`Bw_T|?NY()A
zu<|8KwvYYa71Sx~u;J*uD1AfLEeHCGx9{Hr+*$rJ6>PP_be5g~?SEPcJKrO{mioM+
z25ee^YN~;=X%mbL?;hoGaW^@yOR}!^RicpewIw>Kntz!RU?jR()UOd<#SsT#E?b+l
zVOqYM=TY}g6mKtHzNU{|)%1Ju^l1SEm~caSF)E#ja{TY`1ek%$@#AA7BcMC6Q(65|
zWj1!?F{I%IK7F0XATcKk1PKn^he~aCE`Fakub-_(lJ%}$tFLWrVuImY9`yb?G_z;L
zPtlGZyaVR%CE4vpS@~JEdZ>`F^4(BfYDG*AM-fFbq^Ruv{hR$kqd;W;J`o9s89{NI
zmK}R`ZSMpP6Qc@rg7{C|+}z1ptJ3x|DyCA{>b=j%u&~g?zA%e(#d=}s3i6Wsi4$4(
z*-~0`2f@?JRumZBC925S`SRr){?&X`pBcx-Qin%MLE$7!$z+p{VGi=bSwG72y|#NN
zj(g7+I#;Tg4$ZAn`q)}Wh;hGs$#UGD{lR3rqN16dT`hW^u%ZOj9-o`lMP%X6;JZN6
ziA(_?+Imxe!{7M7<9x?q4mi&UxE_yRw>4&_P<+P@)Cr65+5xQUopzoJIbL~FT8OKo
zqxaWd^+N9(^(`%XvdvUIdIe?AUbvZ+Wsl~TBVvd^&Skgz`(_HDs;K73ez~JVD2W{w
ztdQK@`q!38n?3^p95ntkOR=cyeE@|e(k<&}H48YP<=f6DBhUQ5V{Y|Bo)!2cEUFdW
zveCWsV=-$$)qy=ofP;KlkN--KPV(nNyGNfjKP`k0cjAQ5nl<84XW{-qso|)49}|Co
zN>v4QnVt~f+Niw_^hIn{0T$if(UEJ&=~N98v(>0Utw1cDAobu2Bh&fKjdS1p&^r3z
zWUU_Q44}vD+bv%RHH9cWd-@cOqg~+l<Z=D_)jxpRVQ)K%&p>F<f+HQ}S&>T*JAr<W
zcY4apONWFXhCS~NcmX9H>-#H^IX`_uEb3*WfBK2G2*)|hGF0a5%>;h9S7S$V(ocG1
z<dyVv01K_ouSqY9;ZagNqSBiIHREe4-;7Q}pmx^FMO+F$$KQYcj|;HL&{!5TPHkG<
zTD?<2Fv;f@yNji86XiE3XeI1Qhrj^G2gS&D1??OEzjOFz95eOB?RfOf$sg8^?0m$V
zds+njF%$^AJ7*bofSTIZ+^qlB?9h8^6RrvMR|pD2EhKg*Y0khoj5^Uha==xD>}99c
zTm`#4;K4#I!fKw{Gn#tg%Qa}OsgQ#tXm0cD9s#z1mw&gsJnY?-oZ)FrEl?EbU8vJt
zUhK%WWyNu?qS64OHwIOljA{OR9v?QNUTQapK@UzF<KDelo>jCU22IrdX9*Xhqfv{X
z8)MvK$%Q0^DU%MWYcpUtAfK?&#0))>LW)AJbsgPss=nAvHW~O}s^U(6>=QW&j_-qV
zs?fiMZNPPse=9xS4h{pZ4CWLl7Q68SL9GJm53QkL^7>6KRMu5ce8bF*-<R*?=UxAz
z-d0>Qd^#if_?GvcGAy9j)!AjkM;X?t$wqicn|~(l?7CIL{;6Qx3=(L5Y6N|440CFH
z2(C+-w+PuYjVk*}!-T<qHP{7MHVb?`)Kcu>6li%_1NE4ON|+>Y#CidSL2)sD{5U+M
z;9AE=jUZxs0SACD_A^+cMmNJ;i-(72vnEP7hEp=9<B)i9EJ3Eiil^j&8~nJ`T3RAM
z7_&<)?;Lr)0e8;S)bwYP8(r2)s0G9H*ctWj@Lq3#l3=2HU~;nEODM1=hVVfxwgiU;
z!a$><-tj@dT^KP4GID?P(R{9(&AoBs#&o$p?ht>zxqDl&Ee4_mOyfs~X;2PxP@CYF
zqGx@aU>SR!De5wG`Fk;hiIyuY*XoX=-lqPDd!Nl28roi9q-Oq=x%}L`hYrmkdBY}(
zdnceWo`*``ySlmn5yEE(wBGI~mtt_uWOxxD*xCZML5|o;BcAAr7jS|GScLF@Ma{*i
zWN*5(unVG5`~fQ~l5K=yDdkb;lXVqap}5_va_9oN+~ebp_+iMAEgtJj{V&E~i!sB_
zdM}&ND1&=n%^8qT;P3cN);IGFm2Zu!LHNNEm=)t|I;=7PKMD+6<cLVzCD~*ne3~nP
z+KSDXp8`vJ+)Hd4LCKWuxP5e80zQ+ps(92Y8y4Tpi}CR*XgVsTVV{0taDe=(LwoA*
zl>nTIi#JmU!A?@eJt&aaA}C6r1L6Pae3MS(i=k`vf`oUey9~N>VykQh7tyVM2)>~%
z^B#87ot>*}=TU8(O4`*3qaJug(h~{`kB;_7xD1#l1Wz%ek=Xr2EYG$H;E43j)$H7|
zXLb4Hx}oHTUB>zrFZlIhGh(u$Zud`85!12bF}u=PY4A5B+6u*Hl$ol^%4>@3qvM&2
zm|}8bG-@`ny?~`hs2?A`bXN2%od56?;)g*X80p$UId4|VM2#3%!+j>!%$|BJ@b@WK
zs}KWsG1MIx@4{tq<=23dMK8g)Kj>OMf`Ur>K0(F!x`^2u@+B!7_?1!4xL+m^+dU)@
zcWQbbjSQGGgjp(qZ-A$BrPKwZ1!O|x!=zai34~L?lxtqkoBvqAbYDF_L(MDa^`r_#
zSDOYP7hrt8s!2FE8SGXh4t32j4iJ%T(HQbbVRIdhR$1tUTkA-CkI=A6Z_dIb8h`3#
zL&Fe)5E5{-*`0I5JK{Tsaofrw%CzR+AUY&mM{I3@>7`Ke>xW1VZdmg}kycbpNIG{F
zv<xhW@bvcHQOYRi0g_2n=7qSpCP9?tooI!hJ|)(?CTeEqegsz8H*we-VT7pY?vJ6*
zmbotb<Lk#_sw}F0xyv8<2Q(RJI<>1w1u=l=_cv$nR{QB-s|QtrEEshWyY=;P=POat
zp_)arxC&37pd=tVQ%J@YSnSQHqQ48whj;Jazb-t$_M?;A1WSzpTVP~$241$}t1AtA
zijkIBs$-y?r3n2Ea=vW7nYHKU<ta}wSxMcMqT@9L{A1AjMkK~0q-;#+Q!bu@H4xnl
z^+<$(L(366yM7L>9oV-Fi*3Su3k2R-#4@mszW-N<MbihNJVwsDc2G(rm5D5S76Y9F
zyISG8%_yb{y=IA4=WztLHZ`2}-Gm#QHYSjRenE(F0Bg(dk707C7GG>vyKD5|npPC?
zU^qp^d>k6^TS5qPb#=w@QMRt$I1L05Ze#GOkDdjQ32j7ZQ9|@ujLSDWNS$umDhmHI
zW{MjI+Q;r)dB7X8?;)>j{IJ<8hUec9^dl|~sBu|H|NQl<)V5}wEjQO=?@<m4rZVuX
z@q)dtq@*NVEb!#`TD$-@ld^%su51a{1a*5%EuPF&+9-k=Sy<K0Z2x|4AwQ5U2tk&d
zT*te2KTWp$2kI9dJcO=&6U8Cnx)ch6S^u{Sg+#Y=1~n#lfKIVdoNL8*#A6w*r{^>*
zYCs)dZFf&-y!XK@=KVFGeuGmHzG-tjTB7^M-*_O<;*!8_?UJId7oKDt_T1u&<2S5<
zDwq_&{R9@04<0>gG^Z6R=N`cqLDU<E(<H<TM~95l6df@11DgZ}P0`c`h7DjQ;_vK-
z4+t>hw2VzVo`L>^{WX|8V{L{+hnXsdETGN|qLu_%4#UIUEjT#w4<7u)X^y#YA^R3r
zi&y!Mz5RTHk0l@S&2f(y@EP)DegXy?PlmIDp!|0Ua35pH-kzRyqc$<{rb#u#I@$$%
zY&64jjo{C6u!S!V{`X(WTDB!D-rhqZ_-u%AV0%C>_RknS>TtF1ervAy;kMd^vvBi0
z_f-b_F}l{K?X9<o@nIIn_(taf(s4WLMzYHlkySkEwTqvNL6S&KN+N6$@E8QQov?z3
zfu9UpFp95~Xv}lU|1L9n0`UYqbuht&pp{Mk%fNs11aSBuo!q}Ij_eIE3FsfjA3gQ;
zp~~yR>+J(HG0-?<Wfd@P`l%zYfXpYBD?7B*Z@g-5IX_sO4!@j2Yh%M%U+Irnf@ZSd
z4T7HlFK<#pg6FRv?wx8Bcw?e{YkzX5y!;AY8IBFcg?78(2#FZH;y=~Z2c&s%`sPZ)
zBc!lYc&-~Gh2deC^JE9xrD*ML>rd+oW?5@KD&K^6VQ*vCb5(i@iz2Pu9#?{t0<;Ur
z#emwgrlw8O(gp|GT%4Un=~x?_vo?yHc<tK9+Tdjj<>_XaK!G%m7=@T#WiD~@T0FZk
zo@&9d)5AlpHZdH9l++vq0)kiRtP_D9wX4PE2zGI|3r;00o{aGWfP&qm%0`f;?F6j}
zic&N;DI0zGMtYHDsk{*Lat$yhtfNF=0QVSL9&q82IHB*9NDXz-6lC9sT@jHUH`WW7
zj+s*p_#X0tn+eO?)$HsK0A3PcH3vt~um85w6EZT8#lSSf9FZd;2d@kiQf%Y|pUWAu
zWz6YFVrb;e>heKIgXEEvO-x+!@?PCOjFo|l82I({{6F&EG_K~hefzE?s{xCWP_&3N
zAQduHS``gC8<crSL}n3^h^&-3B^jGkhRjnWQmAA~$efZPLPedD)cyVCy8h4od_K>c
z`|~{Sp59z8XV&@+$FU##zU|w#?T@-yEb-p^t}GtL7_??=q}lnrqPB)H>+hyuQLA?1
zzgOaQSwkdg)oKG~gR`NAa8`rgF>#Dt5wK!~U>7XWL!FGrXJMh(aALoy8MVYhI9w<u
z0_my*2ErY_4R#G6NyVAf)KJOkb2%g9;@n3cSZS~f2mmXWE-e}pC#F+0pV{qNS{49~
zc(frOw&}MMXvu4*^G=iqA3V6UQSa9uzS;iIrvsNYI(dZk#~l~L0o)i!;7=#qxN~Pd
zNyF(9A}?)h=BP>)2wvRsOB(WzGbw~7X9k`*9lVN|M5#xD6Z%~!aGn4{O`rA(Iv8aN
zMBFA$Rcfat0Rgpjb$^iHgA=e(xZ*a>)+F)}RUMz7XUdmMd{4TN)l%>Gt1$llUT1fS
zcJ73iLo*k{$?6e#dnBV%spmM~OAPXn$O!hHP>qPz4hIt)L=vu=;K^XC7ec;r2$b;N
zfuWCzi&wBQ%%7}IrpxTj+Xq0TKRCq9?2vNIzJ0@Z4K%9gkkU4_J*H-FD*}N*xKMn1
zdn?vg2uwFNuFya*Wzumm1v|@U#kW^;7cT7Qh|>1TN_fDl(5R!gEh&lX<H<XsjQzzq
zLh}GC4(FIezrZ-AzTf5uLRR23y)*jn03r)V4%OY)M~5Fk^~O%N_wBJpm#$pFebMWv
zCltDfEsV)sFmt9EG*Oy)&inTdmh>2+RgNHvY>4E4Wl-$#f9rK+-do8nwutu)Uf4CU
zq*o~cQ79e@6Xd@{AGJ@AAWX(r5d>|8ot>iZc_gL~N+dFYa&!LbUImTthhHq505{Zh
z2-&VQi2ZaVOsFD@u4aPMnmeOz#wcDqXF7PWRY+5&#?YdU9XhyU*tWeK?-IYa-dk72
z^)Q_!%JYW?Rs3zPGBw)57v|f`i%(893P`aq$%XED42$C}Tbx-&FUwnbuMV!z9r0iX
z%I6mQ>nt*~i+OFv*d4@i<j*&`1bx=VPqIVDrH9sk{Dli67DUd@cc{h2UhF?;P$$iv
z0#_wT@o4F)?!y+bmuerH5C5m#e!J=s4}JvWq_lp0Hob~{jQ8wff=?Jge13if%P?w|
z1BOVL*5YT;#p%Sj8$Q2*-QO;~6?P$Km%&)Ez(U62=l3~_;lpn<886t;ex!cdoV8#2
z+pk@Fjd6+6{Fg7Ue6PweU1s3@Kx4*@l|nL%!&CJh=gUJ<Jt07&2rVos`VOr^cHh&%
z#U<>7|M-(rZvV&(7<$c2Y9vtm6U+O~gk|kkVNt(u>|saM+<Izq0!M;=U)${5Jw$1C
z3yqDg@Tn+cQaq0K{i7@uW~XufcaZWF!nZ$K^mE2mX!SBNi@nvoy~-yp1$<(L`$Tpj
zXNB@9vseZ1{$cGDR!2!>Y&)ao{u3{2P_cioScE#Gwp%!JUf(dh6gy-qt7)4b`>n!0
zoSCWh>bnxDQ)mRN7ekebDefUJk-xY7(3nr$(%H`zrCclcCh5VdKMjL?`#$UV=<#E7
z3cRRSeX)!F^dv17J|D_;-y`JO)Qj881yHq)9>`;LbN|4&HkN{*4WUoj^8bK<0@Xe$
zwEPkSX1u;nozT61>)b$g2QoD{xiDVL{Y4VA3P>$a9z00$b0A>oW<jt*WGr>{&Ilh|
ztxp5s%<Owzzc#2dC<I6nC<%FnZ2O_P3A6Lu*SdSGAJ|SsMZr?OTqg<LI!Wad+MQ#^
zJ^~`Row)w_^XDvs!6qgaOW%oHthCA@Vvv~`X>8_%Qtz@yowOpbO^UUA<DZ{z_611;
z5B{x~#fd%jrG5Z7F~PB8rl{Dsa)v*m57&fb0o6U54iD)VAa+m!n3W!oEd_0@;9mw|
z@lsITF+Gf>f>3p6(t$`;Ti)EXrs5J+hU3y`#Tiz8-Zv`8edK>Dl=mEvctyRX-Nt?I
zNK7mfEOojVT3d(QjOaiq!}gDQHwtmyZM0>q;-{w$?@;=o{{lc46TJ^116x+Z$(rx)
zo$uNELGZ3lY5dsj%($s4`EG%C`@vdN69wgzlvwrYGitNqTzN}(s&cmTxYXe#in$i}
zo6?yEAjyJRB<oV7Td|2vxv#i`6wB)A9C+lP_M=BTV{}w_0E%(9E?t&?d$o6|;Gyur
zbzPipS7(Rw3b|~m$%U*h5D#H~_u<3oOp7F^OuTd{Fn4Pg?YuvjQ}3E?+LRvGHv~jN
zK&!h7w1RWV|5Dk<tWqmF>74zeapjvedH%03z`{aK+NEvxWj3x3QQdn36LKD2ID1yX
z(#Dn!9DA7s-@iwQg422C=)G;B2+Fo^*}i=@qSe4S>*b$!ojEfQ|E&NGATV6h7yJ0|
zhot4p6lNZX#wK;;;-ig-!AbNY^@cd%V@w6f9A-9<ZI8CKcI-9tkFI`yLC_4P<8L0l
zgQ7E`q<`!F{bmX#Z1ncVZWJ6)fxWT^#~Rx13s$uB|9D@gz>mE`#vrT$P(<H`^T&2(
zmV0N~_Gwa-3rYf;<`kCs%$DPW<m&WGJ$lbgtr~+p63-eqAHl7xW8)^+Xy6`gIq1ks
zWKR7kQx`$`GJTA1QBtSwxBr4+qgWikO`s(O&r=APi=633u~c?Fq<X;71o-OR2Uo!F
za8u7NmXbD5Jrm2PWd_>(x~tQri}H_wzD54mS$3^0X*t)*h;|A3=bcesQbpI*)v-KX
zej;DUX}O;K>>!59C|TCfr=+MVl7-gkux?haSh4oEp5*U_*D=Y32X2s6KAvQchidra
z-=9?;U}rc#$xGgqmID0u9M&$Nku#o}8v5A`t5n&l&E;G~)ZKX9u1z;74tse8?V=Vr
z1i=NV6_2y}&z5$*)3^7Mm3mmtm^rgmlVaN?lRMVR^tu$u1xZspbS#539(CF#3}y!u
z!7%5S`iq4+E%+mgFG1gK<$)zup!8j8?Iuln@lwFH|F+)TCNcxk#voLerh>38{xdw1
ztLfD;&;b&^hKA?fCwr=<W5U+jlJsg!mt$j|&pt8z1<MJO22S}kEn{C~kqofhW9|RG
zpwp+N$<jh~-h<$b2QTOBvGlghZPnDkOhN|@+BGnHa2rdTSxaVz#<}&?fV882P%YE_
z#JKiM+A6o0@J2E>)d&BkC7&u`V{H@P)Jl8uS?HV)IMqMTy!NNx7!SEI9)9vuGH#K)
z>L?DF0hV0)(6OVS&=@6R_Ri;nC3PiwVbzMdo8oj+UXFas`~dFBL(jn(NBqa<m|E5S
z@8G^k6nIcEM};ho-c0v*A5OMSm;)u2pTAb4B6n|n(96@Q8$I4*Lirbd4wK0oVp9X*
zebFT_`0|E<KY?-K4SV>1iNV@Y0!)D9?e*(K@!kqdK_RBMu+t94#r<PgWB;FKp3cyt
zK7n!L)1Ht;jTYhVy7<{?`F|UJR98pN(u?}|3(B3cB!GOiAZtDt0&AdZPJdeLbakN@
zvcy9d;^LQEPnAkCbQFkf%*FMAO^rhzzubMyDs{=?=vGky+H${Fj?8n6>SlR5B>dX7
zwM1-4VcS3T=|TtWIf)WgC27M_3o}@)-kBTLHgBheSg1}K8QpV`@-qf4)T`HaJ7qlS
zyhx&VH}AOG0`STYJol|Nz!)kWwKk3*5@D_V=IFEcFU!Z5;2A(y@9D#b9VF&hQSvyk
z7H`ll`G;DIwhHt)Z>v<E%1nIN5su(k8hAHl)2Q~j7R=;2lJ25Ty|sHcLO@l=%#}yQ
z!@g0En)@&LWH*V|v4yVA)rCmG5<i4jn5h&Dw!OM=pG6eShkN(FLLrEYD<L<W`&KMX
zC>d<{y8Re>yuB8@8<jQi3wPN;niKTU>Dre6pc+z9)DYCMlh4j_Wcjf&#Zt<^!K7cK
zz7+Jx0zH5PQpe|s5&=bVL%X-v?4wI|+2q2;@_q*_{C!#`YI4>KlTkoM8P~<XNli^P
zZyT(NLskV@IB}6EGT+y?^{UOPbWeYxupG4DSv4<BFj<_`&o`qA@Ay#Aj75vSQPe(%
zG5ByVCpfQ%BbxvlKXh3t#m!QSl*Dpicy#)67A|y&E}|5g@#`&>hiv<!o{=Mif*K+v
z0+oZK9S`WR<95lNyLNqnK3j^z{B_(7Q|rvk=#l|Ua9dBw$Qk4@YT0Z}I@{>o{#v>d
zkw#Bi*m((5F_cwQA5GK)#5wa{a2NxHZrsa@ZB<lI6lfj`s5A_@9b;B|qHtSPqOn)v
z*kjwNaYFzOaQkgM*2YcC?GR2^&qz+6Kkp*B>3_h)>&l3#cOLY4gpvY<CX-(9f0gD#
zaVRKIk=-GN3*^Lj^*AG@#{diE<R}#MbRYGbXzOVh<92bcm8BEbR7G&u_E_8O-Ql))
za=RY`vm4Zh;rX-ERQGY7M)4M>D81gL8ln1nTL*61u2g9chAVKbmoEzyE7V;~Y*O?c
zd1OxS<5h+I3tdWG8Tqkyc9UYJKi8w3$0V|GH$R&Z$cKIM$Y0YxtdFXu@j87{t~8{a
zRlZ77R>g(<X}Ca><jk2GP?v$2N!+3`6D3k!U!5B;?$s1}6R6W6F)`=0y>;VhASoco
z{d@PW&p*P0`(u*$Vc{m>EJ|E1+{^j7V`p6L+ZI}nbj_HdYS({^7!WW8PkG<-0Gy(_
zi@hCPJ2EGMcI!l_n%s7)yLlS_wtCcm!~;fK*M5EZlsbl5{m|CkDC*w7?;YPD<a0UN
z0K^U3#xn?et9TwTA?=-r;xm6+_P*3<8Ga81L2=8R>K>LscIF$W4$Ng8Q_Vn#>MYdi
ze@GGut_ocuQkEDLAi!Non}Q{WjACSrD*Z@aSji=S+bP{752~xHQ3E@jZF>`FQ!Pl^
z$5%5kF2>_%a<Jj8l)B@xI-On9cj?K(!vTTJ8HIGV+$4AD%dA%Gx_%6`wo&Kg-Ly&h
z%bUdIvOm`a^rFCxnJ#1m6b@`8{YjQ)WrnUIWe$+RgE!XcBvC0)b!G${P0)`xQcMC^
z=n^Y^shnvB+6ViBNk;Kj2OB4Qh@~8d79mZIyo0Al$Bx!|wQ~x`m=L7!B4og1ipO*6
zX$*3xwRH-tiq5y2sdlGb*x7sL@_<ZpQalVsd??Zzr5qd-9GpoT+~epgRHjSLsJE%u
z#IjJWJAS_8I&lso;C<^2{lc=cveYUUss@ElyJ7Q3dFIS=WcDXkYD@IsoBnImCM2}a
zBwqd0((#&FT7H~Fj(;{GJ=T<X?hP8Zc)g>_I!Bd$>jthxph0A%EUWgRs+At0{rc`r
z)LWn&79+fXNt3pt6NJQ$_r{T)j`GV5icd`+@FYh)UtFuWYoVr&O4F5vF9(N7F^98L
zS~*3lN=|T(Y`kKXs(n{k@E^gkwBgTi0vKo%Nz$w%`giZ$Gx&Jidu!rdAE8i8N=nA7
zB%X*uLGh`wQWY)xcBS7dk9Zzq<=-j0dsB-c23>3IX3y^9as)O*p*m3e#-Nuij1?2d
z#MUOcjJA-9PB2w8aG<WPoa8aXQ@<~EM2$F6CYW}Q4DsGd?K3?kN_xy={1S=L*o%An
zJf@-=x*gw!m>X-olh2o2lqM!TR8J0Al#psI30ECbp?qYA<FBn(;Mz`Ht__Bu)};8S
z`+}GOFB{hier2pf&4=QjJ%v<gppVSssK&pYV`%Z)F3a37%C)qpC_XeUp~|9<fm|Ph
z^K!ZM#9jIFGTIpwV-IMA3Y0=P4m&*c41i<lK;Hh*2yw6*3eZFcl|ps0@UVtGNvB4S
zcz`xuRq~keu9q%Z44v|nAo=i;|IF>>?Eb#3c0W{~G+L`_-S$Hoq0&6er=9le3;P^q
zWyj*jg$LZ}$|mR=j=gx<X}xRbT3LEJ?f?T_MqZfo_0y-LZhhaKzP3Re`k%_K+vQE$
zZ~Vwi{ok(qKp{2(>n3(UT3Q{B>=fK{Z?CZ)9^TuN5jW!F5q4RFBGNQgBWK~JwcSLQ
z`rS@mVD`#D7<ev=#K+tBJf@6bB@{m{eSXJ8FVz`6KoP<PVX0?y@r<oAw)H=LG;vd_
z2TDTPRWNvd=NXx;B<75^y)emT?f{!LWA>8$h%iZI_TU#>GVbOj4>coW4mhCqO*L9W
zE?Q&KNDCToYuezFS~b1t?#2+}#msm4JC{5I&89nh7*A>XF+;pWksFc)59rI6SD}cj
zNMDcIad^ch5U+>&qz8dWkMK?nY20b5@#T%=)ysEF%8I{O6u42m6n?Q7dVaf@_HGf!
zXG5KiNl4D!yK0Tf%4Qm)n->56FBiZCQenj=WR4v(YT8|x)HX=r^UQ+8DzurL{(i+P
z<+Nr_7|?*zyTh~oERNT^H0sMoO_>V&k$I#Wlb@BhD&C?}cX2L5iNIAkysG!4Ef0+A
zA<UBSBZu7O{G+v{e3MLj-S!Qe&hJX}e(TKgpH<{PlGw|OlW!@h471wWd9}(t%-co=
z=W>9A>t4{yrE;~3kIyAFzRqsa;m9HN?KtkKH;m440xxFLa)SipsMFIt&07+u6pv3|
zzfSe^v{QHLXp+mSbz5JL-?MD2O8~ZiXD7Xp*BO0z+AhC<DID1_H`&JB3)M**Ys+;`
zPh)n^MYr6M?Sx6W44MTO<OnmL<2hqSSwx3kbP9x>Fb1xVE6z##iZOqSD8EG1&p8q)
zv$o`D%=qNtH(b8oA$v!tljA_j8qPW-pO1Tj<r)U}@0UF4XK1+3WQKy&4?Oi!fP2~{
zw|zK#Y}dPfc>W4)tbik+kdq{^!Jh=VKYP^avuj~+8MuSp^ACnX<e}o{s&uc}4-tQM
z%|Bc+_*Z&d!WRo0S7hD}xZ`E(wZ5(w)-I`^qr9(X*g{>uwap3oxF%sBvSrBBDH(Nd
zVfy2^iekan6muFOP58Z1EH%j`dqx-mlK`h9V;60Y7yfP`(st6wUHAPL(Y5;0!Bstc
zSMfQ{%WY$76?3&}Z!+MAdfx9XC-Hl?2b*`DtXfAs5Ypyem)1Y@HH|089g=qZplsqO
zPrTcZImdCmbLGMtfunKuy^=Dy|Gor$zy3RcXEb@e@d=l^X9u|-N$(duynny}W}lB7
zDd(asL}vN-akGj@OYD#8JA8Vvc#k#10Su#yvu6+C13bW9aS8YjgH3yZ+146BV#Z;F
zaSk3*t{m>&Bn#Nvq}meD0wRA7Fz|j(!?W$Dyy2x6_0%nGL<Yvj(8A7gbTPl@ec)&(
zC;Cv%Jc)N^CGt9R{QLqN>-`J-d~0Q6#Pgzx=3n~DFi_@f>u<2+(}z{KzVI0uI*K!=
zxVh<8D9?@7i0vp*{JikWl`D@Pzw9FrBI$c%H?)iU*t_72!k%QgJ;{YOB|DPE-%c%=
zY-(a6h_fP|Irqy{Ef{>GQMrSS-eF)7GCAJ6Ipr;2F@-cU^`11mjv(q?TVAOdpq&z@
zD`V2e)RuV|&g05;h}>OfhJF}nX|(royc}H^l+Y>lxhcY_WH_{fgRTGTtV2M-9-lTr
ze(|cCd;9NV`EJ!4Pj5@ht90ig#-y8f-L>%F@86?tFm&;l{@-Dj%5{O^sd14vTz*oM
zQ9McPDlEjIO9iypz`*gD8K(WY6UMscCoaDfu<aYGo#LLCbNjX+l=L{d>p_zav#T%@
zNc>{4^-O|3TsNZ`8yAPRoawLSN42HMqN_kS>>#D@LZZS?%;gCYkqq^~E=A*d!fovW
zV-)HheS&Z+z<zXRxdmr5fMsII3M~8uVv()r_Pu*`)zy%9YIV|Kha7p*H+p+3k_8k{
z_xu^oa=0RIIDWr#GH1f=5J?b97X-b;VVS!c-&cc5&=bgjOxVKG#c5yA+dt;pP`wQ4
z-MVQ4%0IhKI}aZG6JNFFsmFNl{iHEUm-@BsVKrrf@yX>0O*bipDk>*lV0_vKR|jS<
z>kb=Kr|8luv3!K3rNMk7M<DP?oa<sK@$isZ>$;1R87LGVG%i73MqaRr$%fmuwUzpD
zVSB!rM{b7B+!YY!)~C7a{&3BiJtiDAS{IX1G|2n+Ko`NP+xUX>PM|6d4d^)yc~dUg
zkq{Q$+_{@{oAgTh(^KW=;E7+~2)~2^v%(_KKETJ@nCfawAD3P!aYDzgFf096r_P3$
z(vGXU=s4HEfwWdV!_3Ues(bBCg5AK^$uk|Vr_>GX{XEc@i3FlVpfu+_Wg-6qktDdF
zNbwxyA&g>~<j4bh&3Do2Vl7=?JR#tsiJsbyDM=d~L_`e5$ASSG3GnYN(#a!TuiH&3
zm@Ep=)^hInzOQ^}+yv&Xy{}z+#JcS5+n(Wn3d+W#ByF>7oZr5U1GjJ6c7hr8Qa|by
zuMAPr_vF;neF!x?BE~$+Dz}W^+X8x2bmi$8^)i6$q8Ee8kx|k3TDbKeezR-kaKsnK
zlJ*=FJ)U>LZSnr^9=yP{ixNCX<}qPzjx^6*g_bDhKKX{ny6PzuE~yPtXuc8`Gv+fE
zw?eiXCbh|$zKWJF2bab64S($47Y?hin6SroZxQG9(Cr%<)T=JfZMlqyckv!2R^?r1
zYIpA3W;6xe*uV}=pnV0_&3*Ls!%fcsp^hCp*2eWQ16`w@{wZ(}I`aa5*iCcO_ZbQW
zT7j!q-<fsQ4^$V9ulrnT`C?i~?fz{Q%}&~<)8<r!Gb}`sSX?UN!-mS`UJ{h|O^W@e
zzL5_K^;>NxC;qoeeDzwZ5=;ot!eRA3X!_HhoHeGq*vES5D_geS=9O}5*K!Jwvv&UW
zT;O$W+H|zK{`m3Zf<f1iKneiL<UIzCLUmzmy~86?$2^!R+tTY4$>XjqUmUAZy@!zu
z`?l;%jVo-h-?ppx<?dN)+Kd?(eLJv?Zon(5puSlP6U%3LM5saVr+79GlGaa35T5J8
z8>iGhPqgt5+6U#q9kYe+N7G$Ic*Tch+cexB<-FTi-ZHV@ogcko87Br>zXrP&5a!V$
z0nyzr%x&Ahc-GsIV?8cJ`7~iBD#-sx*ML%-k9rQKahB71c24XSdf5E!pt(hglE=)>
zvsl0i5=rQh>SH4wI5Pg@=1xY6j%N_`6{LT2iIOt#!uX|H+whk~gt1vmCmV8N<21w(
zm3b1AO?afLbpzk8OU3TmHD#ZUejAB{)1CHr_YZ0RVdmzwBf>s_!*mvi0vbcj-Nw4Q
zHBAuuYb^S@;|`ys(-SSOMhuv;C$fFz@bjx%&5X)<^Cqj&_UxE3eon{SJTOWDw#Qo)
z<Cg1-<!1kYks7u1>3qcUwzfB*BX|r`@bUHaoiRf`ysgeK4T-1Ys_g^&qv;gvL$>{S
zu*DfAL%?BaBF*gM!IdR?1_C>XB4DuCd;c95S6vy~)vm%RM5#@i{d@L^D(!p!<Eh~m
zl0)OUR%TIptgVjzkPsB_;AOwG^Va<Snl6)?loiz_fmxe`NGpwWBXU2iO3GSBzFR9J
zTiG>nbL&{m!6~msw4eX@Tth?UsW;7y$}W47;d?>2eEL|OPD<?U#_3MSjtM9ojcEH6
zqwX_$57|0ha3_eJ{PGWpW#Fn+%FV_G2Dnjs@d{VPeO%Rj-0D=sdVTuPd~EDz^jlR`
zbv$x-<Q{*R8`$?tM^6c0!)fVVdLsuXjh``fb7tm<34NAOi5HAc6YnW*lis_)Es9y%
z=EC&hNQBX+pCpO`<Jyyz4;plW#-v-1v6Uj7&h!MwE?@U?Rbn~FW$(M7&{0u<cwMng
z?7PSMA)pRjD_WAWkE;OZ_E@_!Y&+w33qen_R(9TT^C<k%Cmx5$F3@q0P?xRvm0#&`
z-Qd{J-g1)jzzK%=?y8=N&g_SFvcjm|&JLf{<z8*vKWP4_l7>jxKr8>ZidzG`w>mpH
zDXx(Vq2JG}(4%7%>p$Ye)j?31Fmh09$f5&uEu?<rfr}eBN5jM01mz7iy>!5Ny@2zD
znJRIDS?B_Utu)k7>HD&A_khn=-KR`ZYqF!{F-Y$y7m~zwfLXfR_K`^9_Q0vaV&CzE
za#}J5(c62a>^PjDFSMz<xD=|JvKgJ8R;WbB+Ry0(yMO+CcxCTRO614S;a<;ask}Y%
zWL}|q)!~wVg~LFa4>Hm_zH8q$p0ddA8-~@63}~UHgk>=>B+ox*PS&TZjB4gC)+yUz
zf!)-gI&A={m&uGAmWQAoqhTXNN^zI!O%#GO8DN|L%}IO8P@M;&VZrqv=uut=DSiI{
zT5q%^$2X;kztetyaPOYI2qg+8R*eFG3_C{a-(SoE-4$h#aFfRz9CiT_6$YkM1ffYq
zJqahT8Os2I!xVvJPec230b*RgRB&k`9l%8-da!E;a_YdKAS&0LXK5YcfcP8C?{{4#
z&Q*i=29T_a&tjL^qendII$^G+dD~3dT0qj+A};&>&Jp{Op#g6=QgH=Y<m-C@o4<Wk
zBQQ^5573#%Fb6vr^Ly!f%Cblf0IGd!$R)^szzQ^DJ5EUz49<CBAR7X;q|(J!xW_|9
zM_awPZ$Bck@nx0o;#D(g@`R1|H1wh;WmU1*c3s*q$1}7YaGJzlN&8!|cHULY08q~G
zK=D!v9bb?c*3xoy!R7{zHw^)(DE1<T#`=P8)4k+hdl|-P=WXj@-Gr$!mWf<&r?=O8
zu!_)g3qlmaH9Q%p2}8haZ*`vj<z;&N$7ANr`wS>O$l83^upj_rnvv;e&mIe|#9aqN
zX@loKZ$XRc(S_X3TQ4L+AUs@NYM<h9H7zo1vKM-MG8L8q81J-caEVXuGk-JW*s-Q{
z9G7KP;HAuE1KhdxsT5KPcCz>)d9y0$tF}H-iZkuEZzoqhqnp)U+d|H^y)T6#7tp!S
z)ZHI>1*B8oUR+2^P3U6oCsr%)>?jDgXTRSu2QrLOD~V!y91D0QtbGBCQG8??u)#1^
zgZ@2ZXD@y*g5=VvyMW6gLDkgIFs2FK(rZ?b*oiJfn&;ZFKlIF9qsk)ZKaz)j#m<W%
z2t~Abp<85Jy5!egZ~&nTv}Cy5kj>(b-MeFU^jkn1HShTFSTw8i14&=_<zt>+Yb}GB
z7Y$Pk#?h7UCr@iCw{K5N{pkwL7l$!if)@*IiCmtAFih`2Y@%|m)<0dLob2goCwhL?
zSJm+Kp(A&Vj{&ejx|S6Jf~H-*uKb@NQRqX$HYAR@1uSk}?!A=*af`TtEjVKkT@%<7
zQqdZOtVRFyHnO&ihM*R4J!S^vx!NazzM|YfDEoFwDb|DN7`1=3=KJ^W=MQcPtVo+<
zg{xf4ptVm?MOI!%3hv##ixLw2)SMCt1u+2UsR?Hg^W1#-vYTWVKD7a#JjnQ=e-e=}
z&SqLh0t*d7p*U9;P@8dAhYx?`8Ljy8Oo+i~mKtG<oqoBE>CIvBST5AQy~Uxhg^~<r
z^|-0nQPMNsm~Eo8p++KgYI6~ALdkVdhN9#h1=MM8JFEWqgef)plM-;87G&NkF1`qW
zcXnQDORODH663~x?xOn6j_qbnS^n@wP7V^$=$IJaMT^>PY0tZ<EHB?6cKYX^i-ciw
zbJ)4oj0yrGEy%hGUd*d^`@IU;V@rB*<fPe*92tPZ+;OTB8T0^%W6<-?L#+UfBIyEu
zBGdpqKmgFVe+$!Qprc3qr4F-Z>3!KR?3AsBzO+eB%bm_l7K}C5u5Ah#rDfv1PPdB?
z+_-b6<)(9sl3R@SCzc(*Rxnb;Hg}<CLj%7lbtcUx%m;M`kM8H@Wn`rYRL%xg4Y_jZ
z5)z@YuCDDRyP~5}Cu`zg#u<eMAHe2#<7#MWFf`lfgm9Q4vc6GCX846B67-G_LnR{?
zYL5sM7h7^aOk%8LBsMn=5lr1~5dgXQiPmu+!AE7EC&VP<g=l5f^!l1A)GqJL;cUlK
zZotmG%Rb>TXS@X8zO^vC+UM^-Iw|(;hEfzCFzHY=#8eHII&caSpz&xB$|ggX9ogQV
zgAk{FAqm{u^>)VktgPn!xe@O%27d)9VtdIKk9EoUckY;(m_Vy<+W(f`Y-V81TWf0?
zdus_|0F_9a>K|;#+uCIrO<9Kj@I0K%?e%#1!H+_fRwXs8d*|vkQUs56jJx|o4w4`A
zSH?AMtG-H$YxKESno!hEue<V?OJL2OT%DGV1g`stdKw_sg%d>(_;d{@4jS*ID@>dF
zFzFUw`9=dFv%aCBO4EIe9o94ikkkXI!+#Ciq$5ha-tyyW^=lTsa3v)rtcS(Fis)9A
zK7xrOxfV8Tw3pX|MmJsAl+3^mGlO~11+LNSkDhSw{A8}QLDIuKBtPTl<l+OHPko(o
zQ#bif>NwBu9t-Bpg8?$REWWx{Ko_n-4KOq;c=N{E*w`2+)lqjDbxE1HjT^`8tV^*t
zvv+#?pI1)wv|17SmUr$}{qoJ59v6L1>4nZ}%Fi09RBjvoXynVw4i6^BRlVO4`6DDl
z<81~rPK2M=uMdhl!p79ns;H_8DbH>D%=`V7s%s29eGF}z^Q-sQkDpC?TyaJqa4;r@
znYfRRMCrF#W}v0^8Uf1EQHHTerZDFNIRAmgRNJ+iMkV;Ayi<n`4>>vU<>)`@{E@9w
zvlq#C`hMn$MovSIt^Ul0e*bacz)c0-6-swgBKvuLh4G2aIwx4SjvY;*Yml<Z3elh=
z#BLHszKwh6oxV=x*R!dcvG`C4fl+@V=eySX8U0&tNbH8j?tZ3gY?9h(v#*3l4uUW-
zK-d>S_YTlXP@ebU-!f)0+#LPY10v|$;@!f7h4bZh`>XXHJ71H4Rv$d_H6<Ts=52=%
zGd_?7)Zy4Z=Q9w}ptaI?Wa*9(4vSn;I=XzyR}P<@JTff!asOMev;V-)DT_yaLrd<&
z-Jae8Ni#!!nZdiQk^c&d=<FyBulFfnQ8hr?+~gY4b8drSgDkx)GWpYgKg*tG^4{?f
zIX>Rqdt-_UMBnw7HO{7dA3A>SPloDzr@hL-%ru|j2u0c5OksJ}FF|TGFSe(iUh-Wd
z+NuN2by^)}5*wObi1<)4CnMlf$8Oyw@9hN=eC*^lnYc}xHl#cR8r*7V#X~l<`J(A2
z>2cKAM#M<Cq0%GxRX}1PD!_|JM&S6*KU65P#Ixx)^bG$#>x)|0ZM=LrfB2T>nGovH
z3KCnG$_D7gsT}cIp`fNFLxUrhK-OI{3mPZ9%J(!spun|nuC&fl|L+6RikZW&0WNI<
zazbG;{@KdO8+SZTDYQHA23?(!?GW$&tq(<^4K<#4b{4BX$0#G{MZ|}40A&BQC<gy7
z!mTTP@V4efSS~XtQCwyK72G@cF;BsL6@**%x)u3%{o#{wgOgY={Hv`yI&%pnoe;n-
zTlNFh&do*g@A;~;=gwhRoD~z(spXf%!Y?VKJS5SIC($}HdE`*`m_p2=jvEZm6xy=>
zVJvf@xmTnj|CKA-IA&jaY07HU6DY*OnldSgK@XbUL%8aVmo<F&j+SQ_T60n?Wj4BT
z<GpK>U3gO+|L2iZZN6|}InRtHdrI2jZGQYmrT_VlJweBml$3;LoIOQl=YL;xwpjj3
zYfsTKgPZ^J)NHkd_j)%)tQ>vh??rAD35(_b_Hl28O*Nx`n8SbffQj98_9-R7!2j!`
z+x-1#yPW^L|4@m-3e_V#n+R6te?HpcKOfz(k9(JvxS-ZSSkpWTwf}h(H-!+uNAEQG
z&%XDLSod1NQ1-t+7D>DRe6-Bb^Y7cYRTS<6CH-}Ql&xgj**hvUTlnKfMH9!CKPcG(
z%eMT-4HEeUx5BlaZEi38TO%v2zxQWkWtWrs+mtOix#s`iNj<9-DDZr6$Lo5nTmGP?
z{Qvaj7K0~yQK=BUuq?Pp1c3?q;-BzrZ#RE<fgB$&LBHB1e*}@E41aN7+D1q^k)J!I
z;H2<yMSoM^oPlB~!aolA3kOBQcb!*?*6{Ui)kCf267*PUJ{%(OA78(=?AbGk4czh-
z5i)U(zi=9W7_-zb9Nd0WECsUMp)*|R-s2U+GB&X_FOH4uV7O4fIx)%Ps8|Zl_$AoK
z#A-_EG>Sr)V9Tr0$B5kfYCsPi!-8!;#v|BR^mJE5L<B=bM5k6(7B58Q`(^13;Tb#a
zNv^*n5{U#m4n`I;uz=~OTeiF;IVLf{g&_IsV_wsSni)4z=d87(2m>Wcy>zKQyvJHT
z@e;KgzXwX+N<rcL!LA!5)2C&v#Vq+OGsDpCduB}ERZQ#t`PuiRCcx*Wj+?T*``;RE
zNBKunR;it~U;?(i9K0Dbt<#LhT=?;pcfLrgCnM7FO&R9@_GXH6ET|3kN)h6H!&ja}
zAazl_u^Dfjeu8axP7*x?ENeeeY*2LtERHfLZx!mec}E0YZ#<rbIcwA#*U%h5ImgTL
zVziIRJ1Hm^PtM!hJ20>w7!^0xX&=@hO))W?rQm5NkXI>wa8cMMj9qpIoy8IpE3Z-t
z6SGy>fe%a^YdWB*jg1}e?VZ3&f%D60cV&6yzc60?h7VA({XGWrZFo7PHLLFoBx?&^
z{41gt91OBBN>>c7w_&S^w=YEVl&{HJJvtZ;7U?TUMZt@6dVGgp1ZqX=ou&s29+qN9
zDQ?fFDX`if>7=&tyvTYM$S&0wy@GTNTj&P6pS(E2x*76kDXZYgybDkS*RPlVz22;(
zo8iPiQY+ok)#Vo7S~Vz0o?yFPSMhK|xkcQ^_Bz94R_Di=XcZ}Z%!-eHg9s0Ak{hsq
z;Wd7NW<26S>`>Ez10nYAGd)@}QZ$$BmpL)jDtZ2JgW>7W!dbRr#UdO+Bz6;e_76YM
zWmx-e_4N^`w9lSCeTl4(gL~e>g*uv=O40W*7K0h}{It;qyh8XfCzi_!Dfqj<hwa|I
zB|8{?s<{-(`|{<>bp|iM2V?)mWivPcc;qlv1O^ODT>*j>K*Trvp$R@PcMB_o6|c1~
zfQQO+l8G@=qKAt|GNAlI{kj24YFbzo=D|@gh;a%F^-}cq>v1tJTuUSY+yHkCsjp5v
zbf|pwZ?~4TnF;g%bkRppFPSxOo?(uv3wl5^GqWK>4&Pp%9jR=xxdzuPBw2S{2JVvd
z>?!y$^Vp~bqq3%G)m!+#m5ouFuQjZ_`o$g{DYF@{kf4_1e*m0}pG(en$vk`Y?Adpj
zx5+GpMitVtKFch3;t<U;qwvbC9QOih&GDpNT3f%<wHrHv`UYVkDXw^q6+Y+yxIZ|B
z?_Oa&BXONZa)8}VN!>Q>JV4gAXD;vE`m^<Z=bCI(9^bjru&^+OS6mCMNjiPHnqBc$
zX*75woswMtDM*xI0`iz(zM&k_d$2dV(2-3U&wxGP&&7*(BwyOO;S#?3!f02+WsQ^%
z>K!|ZrDPTOXn2?FZ2hU0#?f}-af)tN%w?D-^t&iU@YV{3K2G5>Xb0Pwq@aVpfuoaC
zXnSG?Kfh5&kzYeDg&$J!;RD)6{RuXCyDyt*?Ze%Bz=YG+A3gfP#c$iRi7GF^-+w4t
zDv>I1$*QHSJ(UeiMm$gW^qr<Bcvdf<;v<hn$kT*&@l9<dCIM3jF<iHIm)MvXFLt9~
zGzp>4U|+tsrwV;*y-7!%v;AMeRBO|=s|LFL&Ygdz-XLj}JkkH~{ykMHKRsoz+5m}o
zQf;x1Tk*m~OMzr|W4t3|MYcvAND-hEDN+e^2_TAn<7|S18<7bas=ckKct+SX%`(0)
z$r4c$%aU4_DmkfW{y%$fh$K`n))>!GS&iDNWz(us=gxn*03v3#T?a9tbcB>`?dfu;
z%T^T>1zP7TJl=iyK$&k0|Eb?-+S@KTINu!IViQ|Z8$v<aLCP`{j%)Mv@f+YAlDfj5
zvDnVo@^9qOOb*Bjtns<m!x=uj)YjHWO+nLs@AP6W89OMRSq^Yq=KFoo`}eQ@TccyB
zK54=PU4b*o!VHGa$uZ&dVw_U>LLo_dvD5&?Svzfu$hf$*Y(ZFh;bCED(z5RARU-yu
z1jEQz3J*;OA4Pl$Kn|V&->*2)whclgfimIsa+Ywdw%}`+I4L$CF!e3qLP?-wjVFeh
z_wm9F43$DgjxGx0oSnK|!E0dYJ%t;Da7bjGp)yqkF~RB6rvY{dj$F;Ub?ZPeB;&MV
zYf4Crw9XHYRglb@JNFYCzN~D$m^?KDm=O4kLjc=;zYoK%U$NLO2+B}<QSoB!D=_Q7
z4?X>8W43r*{0+n(VIet2U<STxjiD%x2eC0ygEnG4D_<<Z7pa)ldT{@KaJHo%?sk!h
z?_L>!mp?MOpxO%eKI_32UH6y>G@k0sx-QRLy_SNf>IOehphEjpa`lSGQ9BW^y3hw_
zSyLaReV)Zt@(?<ygh9se3K{3i0&qD0-eXtuO;#Su{qCJRs*(WaJ>U;bPsD#ymu}tg
zcb<i`8qjjpVQn(xF7-pNXF4SNPb_S-{gFSU^}|Nr-hKL@<yDoOr>GKggK(Dv76Mx7
z8{i0Q1SpdS0v%tN6^QDZmfe7B^`U<}(?SU|<18df1?qrYOhMkNGh8_J8s9~`9t(Qt
zvSP)*fRda+qqlYK9p2h%L5HLNJme7PZAGlTl9KYCOV+y^o?RbEh`b5oHE~uk3rQ@D
zgYn&7L(4erNvCU9$Jl=bTfTmBtpcny+U&)+>O=Y|$o$DGKxD`9)Ch^XG!<%ydq%NI
z(*}Yjm!b)WQ(H0%;Ef7SXQ0nb0{fdeT}g+K(M7u^4(>ylL6XVgewDKcnBxsyQsM@S
zN|0kOQ_J%&-Ik@Zy&Rqyw~+GdEoTPHZV=W~tSZwyo(!1TzI|OgbSV4sr4f%2!qMK7
zgSIv&0Q45x=o*kL2-5}_!$iiUvV(orGgnLU?%TIT%mw?E)gq*Eb#cL!B;@ItC>Hwx
zt2JGlG>x&pJ0g=Q!p5Uay*B4f=)Dy2hKnCO_%JhL;{^zjt3Ik5>GkX>s3>BdA38!c
zB2ca+y_IaQh&syy-|<**e($QKb$8#OG)nlKFzGSZqt*K!aa2<Gzz)yI$bcY@bo5e2
z#;DPw^?Uc`IV5p|wek1GM^5)*wo}5XQ<x`?|L|?yK=Qe(%+x!*=OpS9B2)ur+)T$*
zQWL4FE?d6bGNdWk-~WtL%4Z;EI7<Z!lHRcw2yiSZ6?+$&H#`hx^!*cW^%YR~)T#Df
zVdMaW`#|so?D%m(n>kZ3;umli?hw?Uck%$TnpjE(QqR<S@;ae&7&xByLqAk#75;jU
zty9m31yh*p^$efZBd62)!Jv#7NPFgFb;v;re}&Xby<~u%I@;RLlyeJLmFmHQt3(!^
zz-;<0&h#&mEq?*Cai-1T<o+J30}NSOT1qhHeJMyVkvj;xSO;3BzW(Ux(|dG3^n8H3
zVS(!|iHu<eR}&KCV)i>O1Gr&rV--D<<%N&8xp^&`L;P&ChXwe77&5q+Xae{-m}i2_
z5_>!jq#3l0Fr^kZY!MeRBUhR)#J~9X#S0eP^?wCy&$(Mfw--DWJEFu``W&Dj7YG^*
z5cx^3g`mc=UW~^)!3j(2Z#;A4_uI<_!?~S11#kz=;=+Y%$Q}6v>?#_fh03h(?dJB}
zET{MUn$Lxt(a`ER7fv-cPr4R-dFRfD_$;(-+jdY$`>G)}O66->>0bsjL4q5(vDx_R
z?e^JkG@d_u7Kq$w-zm||9vz4ER`YCdVU4U2qK}h@M-fR4XAeirE8bvzeV}L1t#%^O
zk#Q$pK;-Vjpd<fRB$Z#kekCgbuS!ts+R{TiJ?#)k1&r7c#6hr-LDu)Nt)oyOtN#6_
zxoJpC*APLQ)DN^}-^wIG%gS5eL4Y@4_b8IUZ08uLZ)oUlu_OUxm)yhH&=B7<kU&u)
zGv#U78W|adgoJD_-`GyaDI}`p)S6n8cx&2fX9a$Xa)I0{n@&N_eWTpG8~ck_ngn#L
zctci~9i@Gp8z-G4jg#x99218GWWgTG)hlpCV@Qwi{$O~9sf4L=yxGuqD(eTy{z%e%
z<2-)?8@Dl>&xY_tl!DBC8BiCCM{KS{i<Lzpyk)htM7_tJJ9}0v1>6QV6-JQIY@%fV
zVtSBQLvF#oU|SVqLqK6c3yJOqr`n3bMN?J2u6VwGDVWs2tv3*UWQIR^rnWKIWbk0{
z)@vy#y&I#adM@u)AvC~9s_=4GGc!BKkfK9NSB8`DLDW()>nrGpqEeSg-do(K`g-JO
zxNLn`7Qh>H{~w$SLbzmY)3zgBWTD^1cD3YtL*0Ct8-)}<du7TJItC1()O*&g#XXRm
zldB;i|HGb!Fd6kO(^tSJoZUavQ9q(hlofI-oDBsnPn-^yKotIJtW~9a=@Jbl>7Tgo
zPlw&R(n=r#=kcrTgD0$v>+9rs6y;4WzlQAgH)uIKr~sfV@dI0sx418NPqko<P!=MQ
z1;#y~1wZyMjs~Q8@q^}%3k<Y)@PmSoU37|OCz~GSy7yz-sNr{-=T}*kCtZ56aee%A
zCF85(clJ?8ig55!R80ug(daOL%$THyS~HVw_nSB7OYcp(qcjdFtoYJ%u-N%#L_mtO
zvWvHY>RIC}W>w)oN`8ECnV5at=W<hz#<II#?mjo0GyCM_`+Fzmdt|oD_Xy~3yL72(
z)1mX{HQN7LRcYT!ZrzY?G5R4v>py&$Jz^e0>h4+VPiJOouk><jc5c{L6Cxa;9E220
zmoHp+LZ`K;=<JP{d@^LRPxNPy)9Mp5*>oWx&FrRw*maN(-MG<9B0<qb^gVgf%C}$_
z|Na*b=JV&z^<kq-b|*a;xjX4bExV&}^vszv84@xgT}iH9x5KHf!)#q+qoXmRe_s>G
zDO>_AnzkYoo0><-R|`D6VNn5m<_>gXQr<hC`W-@Zbi$dpl;WUwYnCioGHO&V`Q(e2
zF9}B#Bl4)#Dt5pEYNWx%eCw@A*L9t1hUq##OjM)M5M{kRh~ZnVt`E|un##!q{s@Xo
z@jf$w;(_wKiQ}K9><%%*4Njju3!UvUxi($1pgk!GtrZpVMmd_622gVGN3|;9k2fj^
zNXTsknLty%P($Pe>k21A7d0ivsQRlXX>VZJmy(h~2k&gg@sYdV4zk%TT`FMiHD=GX
z)^-~x?|P$^oRtN#1ggID^XI?xcTPNYs)vrww$6J9agb7~yQPSwGyyw_6iExtojD^B
z3E=I?liR1=AOI#EIyA`KJY)E6Hr+_x5U>NSp7^O=US5X|9pXZ!mGBy$J{1;fy^Mfu
zNwO8>#g)O&^EorY%PU4#)TvVpvIWu;@ao&2?OaM99!?nFcQg6q&a|}o$nh^+sAJ|M
zTW8$y2@g>dhd-T5je^|(`QYtMY`dg39ec?vwEuB(QdzrPSEeB+SG{wc@vZrx#$oU5
zURjT37$pcXN2e(6VH>%1JCwGj1nQXVmY!7;6u*cQPd}p#4#PfSxxC!<yjEv5PAQ+&
zsMR1ijaVQIu%J|*9$XW~7DOAoQfHf-oSc<IBp(u)5@~EpG^FU-AZC2*@wBx4)*)7F
zCF$?h&6>m|qRy;&1Fr`(X7QOX{JRoewnrbf$I!GZt*b5WL0%Im!0h%L>QA0L;e*aG
zR>e=oJ;-wpmFtY{V|^n%^fm0sVTJmy=T1N3E32F5O|~rvVvuOh^7XA7yt$p6T&YWF
z%bnZDo=Y}ff*bg%RlmrS{_txe$>t;w6kJW<{WKJJzuB5E`M|nZ&JIbRs3I%G7OM_%
zlyX=O9`yVm3E~8DoY-AX?)vZ6e;>=#`=1xdZ%zsvQ6ikz-(GJC8FcuD${WAE@^W&S
zt$8ReIJuE{(EnP;^EZC{XM&LTaSR(78m>i{gi>(Oph2%86Jj?JAJU75Vk$pz^V8&`
zM+NWb-9s9hW)t%2=PY0rlVF=Jp0{{$-hlj2W3D$?i!D_W_~x7jxD3Y~hcWavTamq;
zogkZj-LE~5;A*Rhn}6P3eK19Y8wWdt@1_f~NnBK1EF4d0z1ZfYN+r_U!bQ7t(Tg*m
z@&F>4XKG`UO~%u;TQ|xSfjc^2!1T$J(@2N5iFxaC{BHc;-{s6g9V{7Y@96lcZHzjP
zXtEODoBKO1g<GngvBCJ(?{{k+c<_Jf*V*iTdsTj-3V*ILWdXSAI`hq?2V3(Glx7+5
z*O_;?F{|~$J+51+Im@7=Th)Typ?T%K_4Rwn2t;Bj$jA}a>eEy40Bi9v9fdD!Bi!hf
zy(tc^u9$44G+#mID=UNtKyhp5u3>J%cRTQguh!h3Z6L^@Q&Pf0T5TOn7GgEPkgrN-
zp;tw(G;_`_ThhlhPP<DNM^|@7`&_t?5<afh#z1&J%Uhn$IpO(`?#*&YWLx_9NUi0*
zU)&;+lS>%D7p(cdNO);v>tp(iHP$R|7EJzLbmE0A&{{K9u3AF0#3Sc$^KjU5R>o?4
zwUxZ2b>udz>`JZ82MuDKy-p9~>#F~?agd*N<IyAaX8eOwjvae(*q6U9Y@?ejcXkF-
zB90&5Dqf0}N#$7{TSY6ehum|ML4$-uwq+*dnyH%n{Tex`imn-aoX2<%n3+{phPM22
z^)#OM+HQi?!yC+osk7$I6DFn&e{k&R(GDU-(tumd%Yj!Y_DU9g;@{MEQIKx_+1lRy
z`Sa%xY1T{?&w`>~T3TIj3mhmWCZ?=4cS*d7RN%MeOyy<@Z&OZJxGsK1DskETtWz85
zz+K46b@`uPl<=zM<YsZ9!vE&W32{qKE>d3ffA|6GT3at-<IAlJ*|9ECdJ)m$DtdPu
z5b5dZy@a3(c+F0mU_5SmXP4PBX&Eu8U%!6Jp$;T=4<5ub{VDd&8rA)&eGP{WT_vb6
z+qNZQk)|E$yID7)<mAV{Su<rZPMe>8<<(py0G$IHr&mQKM!S9`wGK=wQ6fMTGl`(1
zPo6lj?&1g@jJ&Qx)R#)rU<;~zkQKJ9aww;shW#cxk|Q=yhpt^4x{klL(v3YyB1W6B
zJBv_!lOu!UZrsF)oO{1DFWxV&;a1X)9h+dhd*jAYUS3ZsPcTaelIus{P>%kqDh9{W
z(nzoJKmM3#yc?q@8Vv-n>ThwdIq;|g!nFGJF8Zkv?<@1^gdVxePd;$hz`xf547{MA
zfRsYuAj0hdy`d(1LEVhMGnUST3bC|mbr`jz@0>Z15jrZ`h-J~yV_~XgW;VY3HI1Z^
zGmq7eJpjS=)Ya}&CcVuHYRaam{QXxjX$oZuzl7RLMtvWSWMK)#Ai=+OMHo*hyMD>p
znl+1f_^c>ChAzOR{kASH3waB{R@Oax`fv)-Mun3S0uP<~0;JZy=T1fd;I1w`l8{ge
zM@A&UD~^7F<H>)?zu|h=iD*i!TD|&FY#K&+05#%fOAt4XQYV9#<c46+9i-&(9F2j!
zEw;rYhL|#Cs~8r0S6q_9+tVDkH`eSWj4RH2zZ4!pO9D?yL8=B*^*c%x*q}A(*Ns3w
z=lS_ve{-v(r2AqcGqWF5@HChD4H)p?_H7$cUDcZqnx3zxu4%21U03<E<_$MVYf#aK
zgNx@<wwUhIAN;!g=FMC2t^N`t?wp-fr4cvE7!5Ja>B9L77bpgln=SF>ygje%$1k>G
z;BLg9EoLR4RU|{5rGE4>zyU^yNJ{z|8O@(JkIiuTM+1mFKOLkC2CvSMDW7^ex)ou#
ztxCRh*|Kwqi4tiAg{#i&n!rq8yb>%5^lszRFN*|FKG_K5QS&R93Ul!OZHJk6fps?e
zfhfIIBjR{^@9h0hymOrCIYRF7TKYv{|2=Gj$HulUuL&gjB#+PWIRgegDoW4ZUC;64
zgfpSt-`R+7(wDEStgJasndh)wx$x;zVMr=q;4t$z4r?Y}9y>+`)L4Ip5ndaz6SD4r
zBi-^DXzvcrWG`9+FS>R}Ol+(*zOk{sR5R%LlhSj_me9OFJH)>1f4Pnft~BYb>rTDB
z3=*YAnkY=_qXw+VRECl)6P%|idefG2^Y93LdJfZNz=R;pEw{ec)Fk$u#}<FBGul`a
ze&JYAA`j-ROC#7wZLGbhtZCo0!A4}T@gp51-KeVS3v8yBWyowfAb2KMuB;}oP)XI)
zK>&G6IZS~ll92cE{lto1GAc5>qPsG=@!dO_n1QYF4pBF4Zj*g1higgxJ`qml#EF-W
z9Es4o-LCb73-dZj^T{G<2aq>X28a?_TkaZlfZ)Ak;8=8dm=Ce=KoW^$LSLu88tlQI
zGI)Ti_&ktk(rMPnRDcOg7(@~{)A)!v^-N~90oK@xfEg=E`=N@aZQQ6N^`k%bIE33N
zB-MwSb*=Hcvn(<x$>*aXF9sRSND=D8eqbSRPe2i+!eCIQH?ASO5lL{_hb6`$;R{M@
z0!dg~tOzN-{n_7;ZbXR)BLYecERwy?Jr|}g&X^%EIYisEhn{6B4ZhtNHrUvdvDg1`
zbp^gl2aJ>At+xz8dp*PWT2k`1q&}*uW`hTh^Ym0xRRu1IpXK0RdR<;=17edb)-8bc
zTkm`(bhMd3h_MNclnxH+<N*;%Y5F7vgHUI3?lR4<T7iH^LMci_JsSM_&)Y2n*f);u
zk10uz<|19I=x~8RQZID%?lBlEo>+cg()yYrG)Gle>s8<1k+lNNNZohw3DODza-imp
zJTtT&Zf?+|hEp-OxK3VEq&4@16M4vxm1Ml4L=cTq*N2kU-wtbmCrzH*t$!}1)i$x|
zpg{{4F1#fPOG`_0>zmxyNw4EJt%0Ff4nKLa{74d1H;D|yR#8EI+5=jd%AriAPwuN?
zJ^2jj-u=49iif?Zr{O#O`|pYo@39ISErL+Lva^R^sTU~3mUin9lodUC#G;4kZ6AU#
zMMH3UaE#Jx$rWE9e2g0ewEgOrG%9(P!$3M1GWgvZalJLS)G$)=+5O)nKUQkh(^Q@(
zq`3#Jd3%}ST+zl&gOlJ%VWA1wG(}zcL=Y4<0D=4pojG;`oKbQ2?rT34^@iX*XU<0;
zO|7n7Jv0V^^Z@n2@*q1Q%<u+rH{<d3pfgK2t^GhUJS?!<TUH3fOiP2c!qHAgA|W|>
zS4_;4qN1d<wACP0z;mVV?R&bj&B<`6!W*ip6{ehK6B`;CoqN8Zar&#EipAuI?F@2v
z^w<$A5&00s5StX-zn?opQR+vOthdpknP0Z#rjI`=Ix>LXX`=Sph~Ec=-^iYyTZy;g
z3<yNwC!D*|N}$vBcU}ji;h*q}w68C}Y!U}!P_HqZx(Y)zp>_tVVRkg8eA?r|XW`71
z+H|TN_^7PXIq7g|O;12I>}qzu!d1>l+h1;7`%WWjB;CgJiN5n5R@rwBIL@i4b28}+
zJ3ATn6g*4+g+`DPT(!}sEm)w}Lp@>6s=z=ydwUj0Kc@0>rchNsEiSg=)Wdp<00N*N
zz${J*6bO}p=%eUv^E*2>Z_a6@HIP;fggm+~5NL$i0)jCc*w>8Nvo|(7yKBTh*s*O}
zO6+**TzB`frI%U5w#{pF6&@t@I8{-7T=p(xcrz&~JcHM(7KPV2j2j<rm=sH1Nv&HD
z-Ic71fInj8H|@1c#!sE9(_a14(ix$;6k5Q(dUrN9Q)Ub31<xu>Dv{>r=SSS0wPJ#6
zxb?8(^5sh`F!PM+rUNUJ{r4`1JuO*p9JZjZfx)l(`U8Y}-V!e{>cDbPTXcYgJdlHc
zRa>ygY^LE{7S?-CP2dQkAB|}WL9PV{4g7h^iKFqRzE1ePG4=O6!3aup98ZAQ4=-7O
zSk=^MI;IX;$kaNBtTbZ)YTnZaMahVc)7rZE+ykrO!SyCKVuCy`GI79Wwt+O!4W&#$
z0rR>~Qh6-uPGBRDKrDIfYcTB9h4QSLAMFk<{x&=W0QNUtY$LvGNa`CrXMnyw1K^Tp
z835Za2Qz6GuCA&1;q6=S28JhH!OP*>S&a)9F3=Ju^NV`<e(7c6pEWXZiZX5iZOahv
z>+2v@E`wJJl;ft6l9*Uin%!!c23vxR@<zF|;vU6*n=pm5BctBYP!~%Hf#3m$!*zGX
z#+ILK^Xkx!u{D$>x0WH5@bvPc9;7WBdbs*m@T;TKr%d@$S-C|_pZCVO>iGwGqSa>c
zAa3=OoZUSg97NKJ%2Qe2Ub*gwUpvOtHSZBs>cfyc`?qsOaZh1$yvB_~a#wbEB=W-b
zVnn#N)@W+jbE>qJ2(a+CTn{Ew^pXjnvWANP!0JnM5!HjJr)L@jnpc1}4u7n-_6WZd
z-aY!vj2lWL!lH)l_TjV>Nrr6{Z?a=7=}3<}4~Wp^6R}_7Jk)M?I5Ba?t<9YreB9=&
zS!20&Wcv7-23V$wr5vh(yGQCWVJmN}Hx+29ZR?3DdtnSuJn!eu40F;v`o(3GJIulA
z+<E+zDc~I7wbLGdD$WGH<+P^VI5u?*O}R~2fiYlXN8WxWe9<dr>l2{K7aPc3N#9A6
zI!UOUo-lt3uG)bEf|F}~ef{I7PkUGf?b3|^1uBbj`1S}e^l(ZFrF+$u0oQazZ%LU%
z6433<NhCQm=S^uiaE>my{0ffZA677lyWkDK$&T&~(~?x$wd+oUg{lQf09y>}L#CRE
zr9yja_=*L=!6W``gDOc2jPZTYH1^OO0dN4FkjSnv0+O|LEDynvs%9fS8uEJ5?=E!6
z>8_GoPc$xu=<Yn=)vvMj`{~#SY!IFVWdw;f4VcPBGe-Eb_DBsW-gyo{NOVMypJl)9
zO?D3+q-cXAL*wHl&Y@wQ6K<5*xuSd{k8Ys$<ji>d<cYwXg*;5EKf*!XX14-|c$B-J
zLf_3v4pBm2Vgr8q%)C1c2=a;Cs_@;HSZFuu$`wC;eBL`-;nn0FVj>U4*>7@*>TO?m
z))f=glxC8OlL+cMey5!gRdvzl+;h<Win9(Qx-X_Gi89(tSXgVL;21@^nexUtdzLAV
zc!49j$9cKC5A?n+*BGT7s*64m;?fv*Pr~&dg)~q?L8N}8th5ubKb^|mC7S#1HI;?;
zSdufFC!yVL4i^%T&3hQC-L7fp_I5>&-j`IH{g(^yh^YDLp^|pHHgCR-)u?-STfJTQ
zkND=s!#}pIb#b`|^}Qn92Oue!8cn-h-m6!cKXM>Ol`XLVZwfS0Q|g6htX@Ydy7A*b
ze)urz=?OY89F!K?+esoE^njK%!*4ui-0id-{Kd6vRwvKkXtu=SKz_c%h)UjObZ{0c
z?mZ&=X%E+d&a6?g?$&3fhJ6P`e-7)$b2H#Q)Q7njg_mO@G-vkgp0euRPD{rzyZ)Lp
z8BJAnhGUQsdJ-0aM{#rQr?HJ{p>P!NJCxMy%YX4=(ukx-{I}fP)EjLuh~OQYo13!%
z^@gnBpd$LTYd^oVlhfMH!G{K<czZC*G(9y{Ng|BdJ=Uh`;LSU;X3s{Z+DnGWep`>c
zueZn1^{F<>{Zz*~+3?^aR9m9S8U4vs9pfKl`Ijq6Bks*EKkV%7*+;IlmC}FlhTQ)G
z69NP!01^V`Bmfa-{{uke|DXPXcP+RnKh=`|&%urV*XYRqA3wmmZn=EPaVP;4f>C<U
zS82xHVN)<H;X_Rz1q^xMY}37qvt(=1GBSn@8YD~#B4vH}(4V%GT5j_WQ<~No&)T~)
zd6!gU&1764(XSgD&pI=K1jED2>+4ti%o_7yXB|&X?PF~nuXh_%1A^$)%WZ3ZHS%{#
z8xl{PxaV^<c8+_L9+kLEnn-lrxG{JBspLzSE}cK`Nk6){STo*I?`LRcX0VG(TgND1
zCpJj)T6ItmOY61PkE5Rr-`22XlU)+In7ZP__nqT0xSTrmAf6IZKiafJ)iqN~`ZKYf
zW1Sw0m#1f;`YoRti2OpbOsE2SVWc*G`4P9?PCIe=^ywvn31qwQlVZ&+gJ$H&7(bLb
z(#I!>ClP)7)wwx4jI)ZeA{p!4snc>=gFM8i({9t1+%qOMBO}Pi=dDp^O_3sJBemS2
z`Ims1bQYT}p2YJbYeS3ztL%4%aWj=O8ql<(M=?gNtp&1qQ*ja8SxYT<e@S6CuW8e)
z;M0Wa!h5mr`EdSm4hV^b#h!b!d&w}Z!TWA_RTwNE7;8!!IxsIL+NJh${hBteK0Pvj
znqF&iNKQ`v0tQF&bNTY#q`o6|>fNS{Sn%w$jjp)V0Q(%a|0wwRpswwo9*B+YtfjSQ
z_wG^d8a85MO=rE1JW-%d1lu&xu#U`L{Lbi)s-9yUhHA8OIh;5pZyY``<OHJ{0NTmf
zNRuhNkzg&Jaj5DN6+DJ|)xR1U33iV*-Ki}<nqzkF#w_|2=pkPLTg!Bu(qaclVl-dv
zdUlAt^W^E%Ii`CL{tR{NyX$M8SzdwF8-q0@VaJYr#uSPirMEuI?HCM^@bDkMg6-{Z
zJ<VUAC7}$YL?(Y=ZOmgZsYyCYpPoIXeKr2U6rREziL%g*<M&C_2ST}t(=!Q^mhqWX
z=AuxjzmNH|kkH1)rc+Z9^GQFxK05<B@$J3f%h!gGu0nw^)lwt-e_DSjG&E=Uv)Ln=
zL~d)_3K0(XgbH)i&o}Fb941e{dUdM3{d?dIi{(#O4FFiVy+XbDdwuK0Q>GtwEYZy<
zw;en72Nm$a&SH@wKK>ih(|;lj*}rdJ^-W?t+{KC1x!t<)lA7tDkUPO7vtIT=P3WGv
z^Jn_Eng{D(V^#yL{P;ognbg<N)U+rsZw|swWT$E(5iLSqo4ma{CpI+<U>dX+I_As(
zo=A5s_EzfH%JU396EfM$WF($IdSl04S@ok&({|XtJw;ga96x<JGU*5iDLfv|ReJBs
zFE_F1kdn$G89ByKYRjvcnXj_5<t4Lxd|-RqepDMmRZAHQf{0Z&Z=j5ls&+J4Fh%qr
zC>oSF{CkKxWDaHRLdm-*+kXH0g??}$RS8EmY=e}($H1dTi~tXw%0hvCMeJeS1zW{W
z`$%+xn2l|r7{MNGN%*a=7SrmSj%Arx5on|8+qY}TTQd`R8IWpj78QAnAHNc|Bo)vC
zFvzseOQ+w=%@vHf*y{WQo*{_w+^MFyRakaR4pglw;P4ch4*?M;Pky7pjDq2b@BX7l
zj!b|%L+g{02TmmAkHN$<QQSOynPDIu#4a2}v*C6C`7lVM|JJ+nFZ@lcp+2L8!1;AW
zK){!$r{1teNZK*-#^IY?0jaPN9$8^spOkU9QosH3<?ifr%As0}Ljddck3F#K!|SPg
zTPxV$SO*c7e}N2!^ne0iS1ignK4fzeSQ0^$3<|)epRqB(;tJ+LP3Z@zsLMbf#qb+c
z^2BhY&k4V)^c;^q>%aWD#?j`l^>7y6p*7+o`DegccOWi}FD|3&$-o4JIY=TSVl}qh
z5)iN*J6!Q9go}|eJlsvA4)6pS4v<8*u3Z_t^_fm{%8r9PJi;n$6d+<>@;aov2is3@
z49G+9W`-YH`RC7@f98O?SFDZv_QH!O%pRb1BMJrcqW%-8R*0I0RfXM0w>d(6#bsry
z_%}bwW1}kSE57T2X_?dRMEnD@JmMBfY$hHn)UhEU&CGk-oJ8_OrdnQJ{(~~h>1f-{
zN#IYW?0zy@l!a=GC+T%uSd#fXFHgU3-wIBT*B8#Te=u6dBj8)-0sZ<xoKv)HROr!-
z<8Vx$WkfrlGlH`s%(>B{KO*tVHKN!iw<O^4;yZ4+B~0YlkZl4<cgYf65$H=fo0sDU
zroYa&18QyCQj%mCuOeIlx%m6nK!p*7MyeSA`$2lHrSyEY>sRo#`1l?+Vs<F4UJd&{
zltjjwTW-(#1~c+b3}bXS0nD_vVmOg{<Cpo6AwR({h`qs9J$h_Yv;ie@`p}Jc*xXP#
zU~>{!&g)mNhN*eEj~kcU<_T~<h@OS^ebx>M_J(W$(s9re204V6E#M{z9z<CUdto94
zCJ#&dZ^#y@s8E_?&!%X(Q#XQ%XFDB)D}^R;+f=Mb!6!gjudh`UcAo6z)%$YZz=aFH
z!dEEonxKF7`4@u5{e`I<MYfh=#Tj$w?uCVW`TMCUmy?bkzgxD1?O8GDR?OBry?#vM
zi<kTROGHR=L1)6I2};D=+>IsTEw>u*>W4vLu=(@Jade2QQ+CBIV(bpK2Ul0E9RGpM
zmT0^8`2zHxX)j;A81{5Bff+?!cxL*61F!hY$&)4x+oe)f(Qba^v@-{nKh+@8RzymP
ztE}1Y0Rv~`D0bhWpVE%nGtO$wJRhIX<}EvXf_eZH(HmUxd=cpa)_=t_WW6?I{}qaK
zsC#oqf6J||gBNIZ4<1=13ckK#WVi+lg{apNAYJr^ax4>HUq}Pvy<LvQDo!rcxGPIk
zb)=i);*}{ghb_oKs+d<^*I1uYnS3RB!qlm+TkI8Jo`PEdoV6gn{uTn_*Wl-S?m1-K
zsI|Mwew&jNG&WK*E?IppJzZavlb1L8`|eL0e!3?Mh9I4dCzwo-a{mJMcFQ4(fui|v
zernFFApjEN1g<0HW%^{}0Rs?mGlOie$&Ap{)Y;7OqvVagEzrf`snCdD$;;flSw;KZ
zil$5a0<+NA)ZiGy?$Re;fp6vV<?v!i6Y6SeHtpE)^wFc=yeg``Y5%LFvyZ3xZsT|l
z+N_$6rbmV9BzBthT$G2Daz>hyLWwffdR0hB5i3e4)xpdZ5k-qLq^KkzlbcFgk4p65
zDNiA!biaR_zwX!W%{hL*@AtYs*XQ%OuFHOgTufRja-NAcvHa)zH2-oEDdp?$y;C#8
z_NlPXdP7V@BIGXv%aL2ml<~|joI3SjVGTR>=0Q4fPEmjuOiCl*n2@DCFHI9>%$#XW
zHsI&UlPgI{LdbH?cvM!_geMT{2pUx^#na1(jEm{%t^`{yAfN$&z$bLQe}7h|5upTX
z&xmFMw8i}|bKyeyE$8S`BT9i4U_xLnu!^i@r(;+#=C&iDp^dIio+-x(?a)2wn7F#Q
zpZJF{lEPMNu&<+{q6HKIx22r$A2G2aW>)g9ean_E6;GQsJLZ2lv7v-HM{9s~OiZUe
z)Hx%kEKf^qC}RwShzmENq@?tx-35{nDhPI)zpkxm_+$rKz;ba)f7h+DvM{Z~yb+^#
zP4c9w>P8nAkQz(joE#m6<;3gLZWR?>z<|V)0}WBflTp#Th`lY+j+P(az_c>fT`sOG
zkG17}%Ve`yk#NG?6PF}ss$#A;(jVgQDz&+Y@T5Y_X!IA@=%^hE4lXG!W<X>u&x$9+
zucl(BKVIN=gXeZ8Id7HyUJDn~P^>g)|Jk!|cpqS0*r`Jz0X~9SlK<XlV-pDkXWfaZ
zKv1FTDJSr)(I>wMoC()z5ZZj#6^`d3)Fc)#z!r{{lLlVjl0{2hKuo)Np`EsnS3Ljf
zeckKp24AvJGlMBJ(ATF;p`R{TKnD>PR(3fZX_4N7RSvBido}2dLIyn*Mza=G#`m>j
zeQ(T<bhs93g9M)E{$YK)-Qw81rWP@JCj>>&h8g4#Vrcu(34sNCC_uqEV*%T_lapzx
zEh%6!koD%RTSHb|qlWJ}T~=Dk%yH@_KEv<K2+h20MxhyMlTRSMns^M2EpPF=;<k0G
z)Y4Kct;9)5g8)EATPiQCp_MD`^17mKKWwRW?hBA*uQA}>Ts(f3%U@)0QU~c9FW?oL
zdN|lTFTZ<@X_=XsI0&gq{4|$nZin0AUrNv!I={Vw>Oj@hQafwf%GEUkYanir(;*(Y
z9|*J1Iws07zyHn)wzjv|XT9c<C4pMXgmDhmeiM`U7eHcM;}k2P3y~=$0Qm76WhGvr
zuwNto4t*2GrYUF(X=&e~;{xB57EibPQ%fukDs|y()ZQQXue4KCeWKWzhlaB%`P?}~
zAf-ujSiy_CY<7$#do=h{aEH@V;>WP5Q{6*MbyxxMZWsd239+t789+)AfnDv+N&Qvp
z*QZg+Fw(}wCCIq=wFmPY!01GFv9Y6*QvlLlhTU5{7kJT`fO>4)?6cHMvu8($OOey`
zO4f;#X5!=IR%O{;K*s0JYHMrro>^}qT(YC&7X^#dDICi;8~e1K&d#2@V1W-q#?;L4
z*Jv7ercg%RshdA%j(O@o40UmEa*8k5@Zwc`NJyz9c6an9E2*?#Pbv`(*X<Du?Yv%w
zMs3V`>@!fhNTU@;FOoc^G4hO7zc+6_4musy3O~eI%NWz@L)c4rE8ZFwlk%JwR_*&?
zD}A%soz8H7JRxW~ZBug{H9h;xrCOpkpKJKW8@%f4>c*(6_n}KNA{?tW-;^)NwPk+M
zJxTQT%VH^Sxg9&TgWhhcQPih@#Yf;i<!;sWed@v5=8XfNPE=Qq<)(MGR>zB_xWOPz
zZES6)O`8TR_j;Jlv%!BId`6RsU7<MECrfTU=y>X@al@BI$JU#0X<F~MGzJxHI5I)s
z1Da})228-pB}>j+y7b`r^L~&O{nwo7qGKI)_V!#A)N<YB<D$#(s5@gj;p9QVf(3xk
zWM;O6P}C;d^at0SQP$0IXhFp3>g=r7B^8{SvfL=%2{)H@BqupFRo7JcaxPM;${4vV
z5TDY2<n{3osx^8cqzs(qFD6WES^c`BSD5M3bdbJ)(cA_frnU3fX^y67+*@;VNYw|9
zQ<9%3V5eNn<o({;X`q!IJC2U9Vzx0qK_WA2VWO8UMnvqMIQcQZpQfJbc&4#f#C1>l
zek9+HWM;^85NJdo0P^Y1U)2R0%??*rf&!D^dy42IV=A@RqRSm+X2fTAAJ6`ey@CoK
zLf#>etzLaEcWUXrdoj?Dq%Zt?aO*gh;h#^QI>k_9o{aCi>-zy3T-F0xw2vOnS_(o{
zOsKl;oI$nJ{()ZtPs;3&!nzKA4f*Q3r)!gSC6bp(W1`E*wuAN$*peib|6N&mvs|8-
zqVeF{=BRS@%a>I)VS~cHbrpV{zY^l%@pi#ki7NK%bo<GV9|uvNV<-7WX(O^B_i!2w
zO*dGv#rYzX12-xq6S^+sR_=YI#uu*tX$5b))CGDe!oYLaE;wqzNe!|fq;c)Uqr)h<
z_4I=rGM~xR4hAo4sIR|!ZWs>&K?t6j#|wH|WPN+!)2XFvH_aH!{fGMDV|exO4~AQ9
z4ZF1~f(-Tjlm8CkPo~7;hqbQ!4-1Phg`$-lg8<GnM}7!uOn;;{B5Za(0mVgPWr3uD
zub~Pfq^*=QjrZl%4x7K9wp$0Oaqm#aTkg&d7Bz}=UZiUUi6TmqUT))hJRECSLF#r$
zfAxEN`x0YWGNXSsZrooor_=lOZ<LA{enqB~3VqCki!%=BXVX2VriS>NQ<7sW&)Q8#
zvY#fE>-}Ok-H2v5E35Ft#9Dk!ZA%YmUGa67fK_yKQqG?bEq12Wpr@~|q@<+o)hlzo
zC88jgRyQxNE>bXMqpB&?6I=zl<~7D5#7RWT=5m*;$8y60+1<V{vGjwt18yRI)~$;*
zdb03sm<q|3zM4xINDwrKDGf4;4*>J9!HLR~Us@Nn>1ST8o7-|_ua-plpxuS{KPP|I
zmdf5_f7`2jO)<5ve_?c5aQ2g$DT?jSC*Ho0p01&)n!&H*YY>zGKLA7;mw9rCgXatF
z$96ZJ`JCqRMd1FYQZ^;-o@goGE6cd3G0zMS!k%aH3!(<EpE=_V4ZVCmQ4A^!=l$p~
z_;dV34L)Z79*%7TMnoje4;rk3NoKNYoZjnSn!{Z#$*inY0vyC61?G~O|5457ZC(7e
z-<GyZlC8*@zyK<1%5Y3yxen=BS-Tj%PX>sHh=2zNb1pwJmd<p?J&`e3QgU*bii6<0
zfGZ}EgcUn8?9PAt%D4cvpLF+{Gd`m`n=yKKQ*VMJrOPyWd?-vhC*33Xynd>`mD2*s
zR5Q~zFreIdB?S$>@9Jt^Jqf1Z_G=GH>iVpN@Nkvu53#5<myRc~0h7(;?3!()j;?P2
z7Loj`S(`&Tb=u=I?BGpAEB-R3X%MTE&Ycsq@j~}Y6;!bvt<Mcrg0uJ+IL}~v%q@{|
zR4;@8V)bXXlr0jbzoCo@b_}qOfno*fqN8J+)?s+hH=h)w6wes#<^lO8?yv!<dt6|$
zf&-hDXqlGE35<=ItMUiyMTgz#TW~O31hIyGT1|<Lq4()}4I%xfq$q#>Ze&Q?;oW-C
zeEPQ?Yn#)aKWJ>4>t+;x$7L3KAsI8w&B|wJ5~uKh7FW-pl`RXKxWs<DEvAWiX6}uq
z>(=!}t@p{>k)F3BbmFy46)uTFp^(dEuw5K(q9BzAG{=>7lL8BFd=*Dz$jqFz=!C02
zKv}U}EQ|d0*UEF;qC}x@AP)PF)uHC0r5`L0yX^dku}9c{RO+&M%N8;k#~b5ejsH;w
zfomLlh^LCYnV>OY6N1shhqhK$E#xa+aT=r}oA5OHd#(2$ul-CR3-)IS5-9oj@#EA$
zWLZL4<ySJ!cFBnObLTRgIs4*8{vTGE{*W(~QE~_V0*0YwVX0gke@EE7hOds}ML^oS
z+ME(vE(ZByw*Eox0vrMtq3NFrTw!Smf7jOC-P+=R6K~FziP-7@?4<g2Yu0$vI0dmv
zDx<#Utndd}eE)@i<S&UjA0OeN(bvzt>T9$XU##8qHy*j99g-0_frFUn=12b^Mmeec
zNO(8{fcS5Tk55Th5TldE{Zr#ROIW>|%JObAYeDk84|=1d0vj*^aBH3IUQZ#T<Hn+Q
zwi?G&W~K*2QUK+{h7T7jAGm(5Wa(t<XkYu~%Y*wrFd%JISTP24RL@V;J-^1pJYL^;
zATh=G^T*kgdE!!tg6f=|gN1(7RIsFQe&QZ}Yjx+EV@Ejc&iu@sdla(F%WFNZ5{>#_
zM2&t+kmkcQ57X$=PWKi_7v+F8c=j?GK04UEDN~0X?7Ecu{!iWhSc3^{*rDf{c0!UU
z6(iln`xmae3bMZyKC$ez2M#+9wIef|&>3iIc&Sc9r*3>ycw!2<X_=W>NO7%T5N&f$
z_%Vgvk?oIWJia6mH_e{ZSl%u<NF+haCW+9302!2?uIGQxA9mi?ccK5IQC)9!@DwtC
z#W-&zj6}mH#u6DaeeA!%VqNdIU3W4H4L_#AxHTq;=lJzvS$+@AOoU!03c@B8R-D)&
zf(awpq2n@^V3_}f$nwn=t)9$@qgxBZP+@di>-D~LkmB|0amCK;*IxZ0C%A&kLY$$8
zE|VRVRqniGRZ~8>pztq>^0r4k6%!4|1{e0CytX~M1z=@pdtjWIsED>z<4>LUZ8eT^
zvjEQU-n~rp`Sj@%2^|V5tnXN|I1x<4_krvK7C3L&(v6j>>dPZpMvUPDVN#>4kV?lP
zct@8N8+P-tXyO!5H=<8MZez6lAI&V#Y2*l@$;!e)9dJ#@7$??5OW0Z0(a|Jb8Fccb
z0~{li6-1QqNa!6ytEvq)Cesr>+NDa9Jn3D4@5h-Du0G$&<7+@J_6DjP2rxRVfkl2s
zPU4ZA;e9v=WwN_m(VXfl85yc>o0y>hh?=GN$99eBmj(s~mD{4qUT4}(heo8On2=0k
zsD;~e&-wXDRP%%kY`p=@eC1eBNeO$BF$PjqSGmSmz9HeWOOk610f2y@Ef>R2{OdS7
zNdYU#w{eU8gI5%Jwx_j8GzmfAb#wD6x%}qKc0fdAjnQvdAc*|zGu8usGWKuL_(O?0
zv?&U7&GS23w1SimAQe!Ct%D@z)<U%g7W~G3=)k}wkY&T4j*@r9h`L_%K*uN?zS4+{
zVE2=CB%B%rKX3_M3KMN`A-%;nmhW5{K8xV9dv`bfILwSpW`JV9vZaw|0%``~l?3iF
z-f%p*N0W;Ww2-;G|4HtOE%)~DNOX&9TkQ>#1WM`AcGOXW7xp31D6UDds2H-!jC}=x
z1v<FX6bg($j>H|j!M=U5OL*RRKm^OH4n?&DNwBbng+)4Z=3J~hH;TDMJaq=a!thn@
zyFq3!?(g{to2X<J>q<w5Wp6Go$QyoSzyKvR>C(kEzgwSK#^nSj!Y)D=fYNKKytpaR
z@$cB~3Ebz1a{c&2iFu&%gwv;Qylkf#uwuguHgM!S7Z0WI0I~1{h?%sSb0BK#v?<08
z+<yss4!`rS`%q|Og%vSP5FB=<3GO%}D74|sOh^17Yz72LX|gC8k{l?B&QxCG&O`TZ
zeV)cQJAeKP<6VgPaxodQ%`BxOn(>y%si$?$b7RGTqCU(8un8^mLY;<E?~AIoolQ;c
z#f&A)st8#d^<46BYD2alY_+yhSXDoG0D+`8GQ{!B9?D<%9!vTt>NME!Md?lbDTL-t
z-p?L9cu&pAHNe%AmbOAX65Zm0L+(4~UdRj6uik$ex+%l1GPXAV0$R?iDQ9xj9X|}^
zmZR2mqe0Ze&KKA6SwOMo=6&2NZf<9i`7?|kwGjBwk4O!4RB=f;mTjY~FOhOPEe}hL
z{e3gP5EA^Fjk9712|W!X7dehHHVPfnB;E0%f4ZMO9Ntb;*`scq*QfNanA}vTJvxkA
zL>Uoy;6Pi}6Xd6xS+v)X_Pjhjv5)&^TWK5%)-+*$=ZE<tBoX46hzMb8JBl7OQ@2Z%
zNwm_S#e5dTI=Kc>#<%aMeUne<AP%LbmZCm(NHnjk;^N9=&a`PdJ6CQpNP-~Xl;-6@
zOkV34at2N`BLhYx#($2<^wHb`re*N^z=rv^a;5x}s3^fhw0)j>^%?Vu<bW)A$g5Wi
z*1$;`8|SB|TT!+!jOXgdBA8xGvE1Zws;a6iN2WiZveFs3yf-~zzRe$bQ}fo4i=h1r
zHnTh>yW#u3@#R<HB64!<v_#AzdwK3%(l%FDhUi8`M5xc$V4^rwl=$$xUBim@sQ!Ir
zZ-?jafx*4UYWM7b#TNxO4n~N^d==ltZ<>cj{1YRJ@c(%Gu4LO3y!9*!y?C(`?;S~?
zPdOk`$u#uyl+j_#Y|MfQ95Un}aE4;|UGGQm2jAI#{dz+j!?$~M*;Y3z$qq-f)0i&@
zXsHj{uO*Q*aePpsC#ck+hbd;h=p0NpOaF+7(v$R0;o1jSqle`(i1y=*u@R-6-QCgh
zk}vRm%w!HpCyUtHYlkcrkrR5A<GXHXCG}`B@`kvs^7Yq*an}_qj)LOI*t{f0Qk1;+
znd$Ql#yY5z_OO$v<^u-A2ovN%YBn}p%z8>mqbKpY{Q<63vhP}cIQpGnGLf2DEloGw
GaNz&RPMUQ9

literal 0
HcmV?d00001

diff --git a/docs/fr/calculators/par/theorie_plans.md b/docs/fr/calculators/par/theorie_plans.md
new file mode 100644
index 000000000..5161cb868
--- /dev/null
+++ b/docs/fr/calculators/par/theorie_plans.md
@@ -0,0 +1,91 @@
+# Passe à ralentisseurs plans (Denyl)
+
+## Caractéristiques géométriques
+
+![Caractéristiques d'une passe à ralentisseurs plans (Denyl)](theorie_plans_schema.png)
+
+*Extrait de Larinier, 2002[^1]*
+
+## Lois hydrauliques issues des abaques
+
+Les expériences effectuées par Larinier, 2002[^1] ont permis d'établir des abaques permettant de relier le débit adimensionnel \(Q^*\)&nbsp;:
+
+$$ Q^* = \dfrac{Q}{\sqrt{g}L^{2,5}} $$
+
+ à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) :
+
+![Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 10%](baffle_fishway_plans_slope_10_.svg)
+
+*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 10% (Extrait de Larinier, 2002[^1])*
+
+![Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 15%](baffle_fishway_plans_slope_15_.svg)
+
+*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 15% (Extrait de Larinier, 2002[^1])*
+
+![Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 20%](baffle_fishway_plans_slope_20_.svg)
+
+*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 20% (Extrait de Larinier, 2002[^1])*
+
+Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\).
+
+On a donc&nbsp;:
+
+$$ ha/L = a_2(S) Q^{*2} + a_1(S) Q^* + a_0(S) $$
+
+$$a_2(S) = 315.110S^2 - 115.164S + 6.85371$$
+
+$$a_1(S) = - 184.043S^2 + 59.7073S - 0.530737$$
+
+$$a_0(S) = 15.2115S^2 - 5.22606S + 0.633654$$
+
+Et&nbsp;:
+
+$$ h/L = b_2(S) Q^{*2} + b_1(S) Q^* + b_0 $$
+
+$$b_2(S) = 347.368S^2 - 130.698S + 8.14521$$
+
+$$b_1(S) = - 139.382S^2 + 47.2186S + 0.0547598$$
+
+$$b_0(S) = 16.7218S^2 - 6.09624S + 0.834851$$
+
+## Calcul de \(ha\), \(h\) et \(Q\)
+
+On peut ensuite utilise ces coefficients pour calculer \(ha\), \(h\) et \(Q^*\)&nbsp;:
+
+$$ ha = L \left( a_2 (Q^*)^2 + a_1 Q^* + a_0 \right)$$
+
+$$ h = L \left( b_2 (Q^*)^2 + b_1 Q^* + b_0 \right)$$
+
+En utilisant la fonction inverse positive en fonction de \(ha/L\), on obtient:
+
+$$ Q^* = \dfrac{-a_1 + \sqrt{a_1^2 - 4 a_2 (a_0 - h_a/L)}}{2 a_2}$$
+
+Et on a enfin&nbsp;:
+
+$$ Q = Q^* \sqrt{g} L^{2,5} $$
+
+Les limites de calcul de \(Q^*\), \(ha/L\) et \(h/L\) sont fixées à partir des extrémités des courbes des abaques.
+
+## Vitesse débitante
+
+La vitesse débitante \(V\) va correspondre à la vitesse moyenne d'écoulement compte tenu de la section d'écoulement \(A_w\) au droit du ralentisseur :
+
+$$ V = \dfrac{Q}{A_w} $$
+
+pour les passes à ralentisseurs plans en utilisation les notations du schéma ci-dessus, on aura :
+
+$$ A_w = B \times \left( h - \dfrac{C+D}{2} \sin(45°) \right)$$
+
+Ce qui donne avec les proportions standards :
+
+$$ A_w = L \left(0.583 h - 0.146L \right) $$
+
+## Cote de radier amont \(Z_{r1}\)
+
+$$ Z_{r1} = Z_{d1} - D \sin(45° + \arctan(S)) $$
+
+## Cote d'arase minimale des murs latéraux \(Z_m\)
+
+$$ Z_m = Z_{r1} + - H_{min} \sin(45° + \arctan(S)) $$
+
+[^1]: Larinier, M. 2002. “BAFFLE FISHWAYS.” Bulletin Français de La Pêche et de La Pisciculture, no. 364: 83–101. doi:[10.1051/kmae/2002109](https://doi.org/10.1051/kmae/2002109).
diff --git a/docs/fr/calculators/par/theorie_plans_schema.png b/docs/fr/calculators/par/theorie_plans_schema.png
new file mode 100644
index 0000000000000000000000000000000000000000..a25abf5b7a92c69db30199bdfb3daa19cd32be1f
GIT binary patch
literal 95961
zcmX_o2V9Qr`~Iy-D(%wJ*3v>Ww3LQaDzulRG&D7|jFz;7L`ljBrA1R|XlO{0qO`O`
zn~KK&c)Z`=|Nea5_w|P7x$o;buk$?4<2cSc#>haMj)s$lAP72L9Zh3`Aaln*<D1Fw
z6H|@x6Zp>-PaSg~f}pP>{j;g@>|;lQ;3IT3)lCD^ex&=Wv79Jwm~lJB&UW*`;iE}5
zTDKj@Hyy3lJ9;$h=t)U42k8RMf<_Ow9tU<7(`Y`eE35?<C`}n;_;ga*3tOsGr&}rm
z*>$hWXSL5fZ?W%JXqH-Nd$rUzV<(qN+wtF3OheVX<-cDBzv)oaJ4m{^f}D9CWRfnI
z1CoWz_wb7q+uOHq-#u`is*x$?TW!SF<>$jABMbBMgQZnf>m!W`Lf^C(es#TY{gjrL
z_B+JTLfggJS@BX~VPQkVq5bWxt(E>Wyxi4+3uEhRe?9v?d{|svS$Jusb@b>_1B1L>
zGiqJU*Kgj`dtgk2-@eTmX&+FTot>SNvxT^qm-khQohkMWD=Vu;X1?{;xXp(?O?7s3
z6tn;O^^2dMe>tI`pn#H+(sOm<eHOm&cX?uUwd$q0>MzD2e->qBWWrBw-5M)pU0(d@
zn6u(0a`H>ho=FmF$Bx~&c#({EraRZt!$XR=S5<YlW%T8m#?a7^;GwHcO-(ZL@*aOH
z7&FJS_Uze{q2=u@S9SY#QqtV)(82u%hK7xe?u~EXV!6oUe=ROj(Q*)t))nX8G%^hL
zMMOqwlGbnK>&om<UDUQ6gQex=ijtDF8^=sdO})HixtZCWEHB_*<KyYMcXM3b!Ynda
z%_(E2_9@SL$V`-_b8FEaTlV7k&W_*~(y9nC?Wf<i?fK)!;UnYkGE@WSDdJ<VT%p;z
z^@}%arcu+7=U~srkF2)lA3uGX`BEayEg>N>H97fWRD92#50|@-a^8M^cc<aq!BGXQ
zAtNK>^7HAhuPm*t`=w6E%E@_qdWN5*j~W>tkJ@;0;<?S4GiQE!v*Pd2llD-w?dO-0
zsqfzh_wU(L{O}=Fe1=NMl^u*ON-tl&eEasT=Z~SG3nz3qw{KTaR2-JhDiLyVzI|{?
zl#WiJGHjzNJDVcj#MoF)PHwO?J6lLjjw#GsS9gmtYlougv12caiwAEtj;t&%zn0B-
zxAgmWgRKZt%xr`?C+BVHi=_KLcSw>gB_(A<)u!BcONLS8<;&QM*IuEaDtTGC;mwXu
z9zPyb4GIbxR;A~Xr_Hc>^7LufxEcbFg>>&0&1-*`cJJOjRGObJBO*c-fB5j>9S4Fw
z*qkURE-o%Cym(Se>rIlNc5OjrWpH)q+UF@O*q+=-d^6|u`}gmE_+Yx)xG?^1MEH5V
z7Z>AZiu&9}M!`d(Vq!IOO-X`S%sJcl71#FcF~wiGJ+nDg|Io9xGQTOd>EhIkj2%06
zY->b_F0UkZ+dDYaIu#9-VtL2L#yp=rd#3ExBeUPBsQ1Z}C+=l5baZsA_x!Gpab1|O
zzMGuv^Y^#=>WN2&8Ik0v`ZsUh?7sOlzt?TJdt|WY(wuGJ`SS}a!TaU+?Q8VA9vM0I
zh4k&uV;UM7V%epKRhiC*v#_zfJSrHoys|Q+F)=aW?C40*sF9gi%5j)<wvQ@Wn3>&5
zNjZJ`^e6Qh!-bzo85tY%qlfp4{3g`@oPJSIbn(iSD{*mj-2RiDZxC1;H}Eu}zsc)l
zf=*n+7y3+y@*L6AQ}i5E)6meMex=%W;<Bbd4J8x7z{M3?(eb9fesJXT=g)|bmsU-+
zwPft7J9q932?^Ohjp$Sv^DYxedc5ldDZTJ(JfG?;jwvjZs|?*MC@3f_Oc@_@Kuw6L
z8PD?Bn^j9otJ3S*-Me33UmzdinB3%W>Quy1=l#r;v7Ed-e9)qS@+6Yh!T`d_`c)9?
zMp6&?H)I(1G|gc<j<K1Ugbke^n;hKTb8~WfrSO$2PPY{Oo~ZHl<lB?GzfhMdjt`yb
ztMK2pBpbHAy3+N?aA^OoU2y@Cg>e<v<mKf{zr<HnRV61gb1zN2C*MI%O!NxTwVjqb
z-Ok-3cR)pD9q9v4>Uer_O=D_e-(h=ueic_qY3ZH63I5;j#Kpv1Vhh4`glaP)%B-Xc
zsGIJoUz)9UPty4y#q$#hk|1^(r0w?{eBGM58+k(I+z&G!pM^`*+v0bq-u+QoW#Y`U
zCN8#X*PB-@b+xs#TZ9X!b=1|>ku)vy1XyV1a#L;wg+G4sWVkJrlx{C9FE6hwjB{~v
zdh`}*>FSC}O1e#UJ}`M?(DwGNMY*q7|Ji#BnSR&Hky|T+e$m7q*3(0r&)NzL3lDXV
zyVtk2(yCI|jxRJ`-F|7~ZB5MuDR-0sma?+4tV3~3F`8apUL87}ZEd?06+hS2o&5Fv
z<Bc0PzPxl7RBD_-x@hJX6VsJstMl^ol=(`2xkvSBoaHrwpr)q2phh&>*w~aZCZwjO
z=H~9=?xGfU!Q%%82D-^x9z1yIhvs@55@Ny0#_sNJUPWJ>6DQac>Z%>+qYm!q-AQSo
z{Ux=sQn~Up+kY$I<|esbh+BX7@ZoV=Eo*BY+f%|=^7u^z4wUZ^WxBSo`QJY+w{6?T
zo50S^?dIU1aZYj9@aX8T#mTNL?F0eK%%aopLKi3Azt7T+p`_W9en@-raYcnvmBq3<
zs$uw-l8a6U)MoqN`p<mDGrssEF3GkvWADEoHb1y|lP!e)a^yp6XE(RSg@u-u7S}Up
z3SYc9;6KehXMbH_&)&W6166AX#F2)$JIaA_vQ?*AZVnFG+1lC;7s%dj&(88SH8)Rv
zOl`|pa(1A-tu11N^mx=dM~}Ww-f4(Tgy6%&c}gN7^77$4*8A`wIq}e?wYq;Uc4<oF
zXBN@tPz_y0<oHkb>7KLMNWguMwxlF*$PV`uoU9M<^qhTi?CGHdUX($Xa-qADRat)h
zwY9Y<AtR(Lk*457l~Ce!!dR4L*fL>oV+rdwX|2o2DV`s^GLJ=)vMTjlnIGkdeAC!y
zcvm?P)yXhJ<v{3aK#50xlK}%k@T!I?yLL<Z`Ta^vWN=XM(9?U1PsM${bpLWFRx~Df
ztD^V~y_ny*^}Kxb>*jube(rAKE@#fXb(9<Gsi~>y>EVd~_~C=Hvhv`qx}lCEh>0p1
z0YSl~AH5?#epLER9bdM3nwg23H8eA`gNdoov6;!)S54~dKoyFvV}aTG_wO|sbMx|k
z&&?$zC&$Le%ge~{$sXi<GUaS-ZGG$*D+zLlC@5@?=i=g;<K;8Xx!#jj#)@p3X|%Z!
zCs#^JYWaCXJWp(xf9|tqo+Q-c64TVAb3v`+xvgp;^UA*A;o;zr5G3+<X$o}?YXj*r
zN=kp9SFg+M+c!{hc1O&l`uC|Rtm(FdSLPNLOe4q_D=RBFr2#1coQ3x;$9I4H2t@EN
zF@GB!eer%cO=sroE7e|dO<<5b_D7j6?1e=|$o4ko=7FPcSsg4D^^RItl)LrH6_{~z
zaXo$TAfhogHg;`wm6MYb`9eKNEW=Fl_pe`Z(a}BSeoyb*;hH<KY11a81ttIK)w#wU
z&3Xw`kLvsu`z!pP+g3-Obl8^o=g*(RDN;2B`Xa6)dD*~nH*T<U3m#At(Z3ZwqbbKh
zOUmsJM*@C*zwz{`tF?8yj*z#H&)=2tjBPxMn&*r~-@JJ<Jw3gB`*wCIE50kD#Owb4
zwU19vq)6MoEGgM3aUgB?>2^&`O{5@6^TNv<s@~t4aGDzuc2wKdkQI7o@ptko{+S!m
zuH<-uz}~f{CPOQjXF<y$qh@HhEuNa5J33+X+c)QN9!^g0oafJN%e+s8hK7237e+=l
zyuBfT>}Z8Was4Fq{g!s^C4roroT=_y!E*n-d-vv=6$tFwwM#}Ok!IW`p7(&_`QJZ6
z*Z%M*ox8fc7&cTJ5gs0Xft;FG!Ta)ER-?=G?~kVHA2%|Z&5#B-skJ7H4pEIhNn026
z`$sRME(ux+IutBF$_NF*vaAX&d-du-q&)x>z?-tyu;!sd4ejYl{r&yT?TiHR(yh19
zXS^K{PSWz_RgQst`#J=F=<-mMRxDf64K9P@$GZzpwNQ|$2LzPfzc0WWwlLO)=UE9}
z$1Sn2u;{cVM(RXOJg%&)ymYA!xt}1o=^GmxsW(^)sH1apb8p|a&=yid;ciY-^!twU
zezGyXzcO(5)%@Nc_~S@;R8&-X))hBt6#oDq;Hi7QeA%HInr8Ml2!VzeaCLRvq39dE
zNG^o`_wn&zj(vk86|g2q@a^08>Ep*=!0%yezfw|Dx5sSnyw{`{xs_dtv@-%pIzrdz
z%PHvEmR_UMvG20bJjb@7?(8fYX%7I1kf`6Uyl;4L(8$6<@3_Z)BuiGB2plVObMyKD
zC#Q!<(Rc6KoI5A4o3pkfE-o%v<OmtjSL$_%gFW_5N8SV=yW?oLI`T02m7_SWvR_}g
zp5S=?{Q23Gt$@>XL}F6Xd#Ra2$d`-5Z(_-*>3`hY_b7A40C6vo+*~iy`u_bKAhzS9
z1(*5x`EuMqmi9KGI{epfs{4q#`p``EhKR(zG(dG=5a7MVMPG+iJa2n@yPN!9Je1>T
zq=~JqYRDg7;&tbP!^jgc)wlP$vJrNpZ*L5IZN1$6o((lK@?o6v`QKOThDyuIj@(sF
zts7eW{!v0j<?fGcBYd;uu3cqT)4!%Z#mr%ovBpv<Ts%BSuqH2FyvWPTlVo$n+Sdo1
zJegHgv^(|<z!PC!#(1G?ski8~pu=`f&bQ+WuPQ6Ejm6B%{J4wbUvADt<KaGpjE+-}
zO-|UMdb8Ql-rincB>COAptqJ{$73M@0kW8P=}PQ`=jyVTaiNA;krN$Zx3Rva6O4Zm
z;rQFh*H~+9!`9x6%<1dvBcfyGTtDSCH#eu=xnpup{eE1B;%5O;t5JOW^Jj~#TelJf
z%h9I4OEbG9C1q$WU%G9NDP!ESc{4%iXQ=SRAPF)PGCpIi4<CvcGYJ;@&)5**6&2@E
zf@SH`C!%P#ciNOpzBDp5tsj~D@Zkdu4Ndf1ZLJ0~Gcz4s+}UHArv@&^%YDwViisSP
zxEDv&l77(L{bzj)vu$NSLEwTDLRC5M@#DwHdG;Jy?GEcmK)9Kug@wN(398X^NG}JY
z=vV&!o$0SgStO4~^|UGV%*@UGc|+pFw{PEOmr>Wr$jNzlcz|_vr8{<si(h=xO1+I&
z=(Z>;8(VorMfLfmY4l|Q)%Kj?ozrh=NgbYPR(5v%`}baeg{F^r*4XK}_Y;KKtDwD1
zQ43GROdcj)V+GW`c>lgb0`Gyu&!0+5_g_%6b9UB=`26YWRa(@VBpu(GuLm4f-^8*b
z{;^-%c$N7i_HoB($~iVM5U(E`PDxz8x_vi6oXE4{mndl;;<}a43F!KYkl@`!h=_>n
zJNs2gDc#U#x=%qQd2(VRI(lug>(O@F$mC>`z(57_vZ2cJO9r~Sx`u|*J9kELNJ~pc
zEma}XNm<6kBpH{HsHUc=K+@uLKNks$A3pA(c|6yGk^oRpHomvjT|mSjZTTnbguwqc
z-H67_Mb4@9782Ox_wVy7tH|Mr=`3%*l$_l}w7r=}?}zRR=>_RT2&V`*9jAyb)(?on
zp|ZI610Z6XQ-+d%{G$8&KYxN$RaJ@CXRFr^T}4(wpF&Q^d-Ul9U6V`wfs{vtBTMo%
zzpk|gE)y5(egA)V5hZaVPlkgQ;K<B{1l!OE5U-`HS1&G8C2nrj<741kc+}dePfkvL
zK`rstEgd|T$dTLiL!R+GN|E)A2|KnC`-7Kd#LW3AsHn&Y9O@|jvF<$Ut%O-+fGjJ0
zVqck$wkXTFscyQ|s)2I9t$C?{1(DDC6qzlwElC~nmD%OFlSw++xw+{nDN)p0X=nz6
zPaznD#v%pTVt@Ypxe^>|WyQ^eCKXMa>3#*k8iZcFeGi~k((=t+mIU$j>sQnw#|Ke9
zbHiE+3S}Tm1m+NpZ=0KYdwY-CUm~R)P#8FV(bAegf7h-Vr$|}bREHu>q|@eR?IN`h
zhTh)u_)AUg!>Xdv(kFliKYR$D8>W=CF)=xbjQZfgN5(MIT;lk3JgdN5j>#i3Vyx|s
zw%+m0D8*DnKw#j<?rx?LF)=YB9L=o&^<kYMfLw0+N2lN2ZPGg!8d`Pn;>FxtcQoRN
zDbo`twsG#+Ofc~B8eBbb{5T??f#?V>-=I4<<s93g_{V)=sE*pi#6(#50m33V{ctRL
zt-yc)f?z1QjkMZh`v=Xi<LDvBH&<ARaP%L7ckFTAC<sZ5;%J&Xj)0Cw@%K$k4%W|u
z4iOg@|Ni~^bDLKJ2q;i6*j01^j#_)9r411Q>gpE+UTD=t($&dGii&PtaXj6g)@&z3
zf;|z2m0kDzinY)bMWVGq2S2>9f|G{yD{=hUy;=_wpF>wUY8>VKe}0bWyD`?9N>22k
zP@2au#$35_(PM9uvY3E?hJiu*+qX}iJ-hm>&lA84d$xDap1Ud`dRI@JIN^_~arm$V
zdO-XxKD)KG6`*b7&y=)-l_Z;zl9Gg|C|~=GV}Z}O0bA@S*pK=W_b&~Oa>(5}%~!zt
zxHDR4S06(M`%ZO(me{;?>tRE~DD45K_B3--Q_XW{HWHA)3d|(^{rw&Cb8;pVRM+ha
z%sf0iOdp4|H8&qMGLn&%RZr_HDlEh|pI@9ndv1t20t5<T%1(v@YpXeY_wHSNk=>%A
z(YQ@cE-qlQ&5veug1=S<hRcnGp_g=$OXcO|Me9-@;OHoHsfI(|jpM%X0QrBFWk9?o
zMLO!npL`}`Nwx$YB~&|C*E`p)X`DN^(b9Hj-zEa3_Sxgdd<`cZ90=kP6`jVkLpG{B
z&0p(*SLahWq@|>$KR#toZl<N96GoaVFjID@k2W+I2>Ua+lX(66=NDaFTKlExej<EF
z*eav>`Q^2xftp8YTXly}BmqAKlA_J#MUtC4ySlLafL079uV*O!9mn@)nao^<r>709
znr`Sl;F5PEh+C<tNw>J#r#?OR^Yy)c<3^I0Hxd(0kEQ^l*5X&Bp_Wl9YHC3*ur3M;
z3gXd^^+l8d=Y^F0V<);0{j#(R3kzAb1~yh!X#iRg5tP^TeSP;NG*0yv?PR@%>iw~^
z)A;Doz{LqhSsPPR3NEJXhYzpa;41qsM};z?@S2)&|MmA6sLDlsdj34Y^xIAm5phvb
z4h{}SCnx+_1N<30F?gXQT^k^1RQ_w%m{^|;;&DUQex0DLV^~nlF)ep^Lql69>afm^
zqVH7n_xI0O{i#crF7>*dL(R^S$qk$T7K57v^1*?NnZst*{uYa#WD@((-CcW%tA6$Q
z!-ow3h;{ktO8)p>Fd(E79;yODr9=IE%gtR)F=XG3jvYJY;*x_xdi~UKQ`1{_?i86x
zW|Kv*)H}?5YfhG>t?(Qoll|J!F$k6fwU&*4$fd<=q=A1236c!mRzTjY4EfvL(P1RY
zA~2?h#{EFhA_{x(`YNdyT~A3_`uQcL%}J2N-2R^KztiSqlHJy~JU6nPwgC;&mHLq2
zU=G@ba=$5@jQ^FKP!TjopsJL4-@Sj&NOY|BX3!v?C@3kB6N$PD$mOW^Naxr)z@t<d
zdoseV`I@i}x5bS-vx1A)pD`F48*2(ArKekidX){`SPwaMY833QQO(;yV7=~7pFkLD
zUyTL?t2p;lkJ0A=n&+yJzhuO1OXb@6ec!yUNDeNBbY|=7tb&4;WNYc|O}+l?@xe!v
z69AIf1not)8Bv~)zrS~B-KEIUM-zgY51@WOD+}OopIgsshXM++O{}f1(XDq6+^MnS
zRys%9d-^jn4KcVh5ca5cy$fJOhStZ+OZ{3|@QPfdJvt{-9i}TJ;=ud0tc1j2QI_u$
z6MR2Sbkqfs^i$<1iSX4e`{d=3<`|6{R<}*R1zO}<ar~5P`Ki(~Me^dMOR}^+o}Oy@
z*U^v4&`xzd+Q!PcE%ET9Nklrjm@`%49p@DFv|ZMjaTMJ@?;&1)eRY0r5FHwcTx4Mp
zm8(l`cC6l5S4wVPTwK%~2DG!6OT{BUs<qhjL%`+aNfR?OovYf~+CF7gmX?;{#p-!a
zo_zoGd`IjXjn)lu2?=UC&U&XJW+tYlw{(v(GdJCq*kw_?c~Xt6;+(YQOWK%Z4LdtN
zWSYHaSPH4C&M$dTT^br0IT-Q6Yk$ZIBO^5$-=d<TxT{yOmR0Y_tZ~>~EZ*JMiXCh|
zTwtbuwXR(VI6z23RsfAGE!D}1j?AVLtB6H6`SY`bH6K5I1XN#GUjx>(rjNSRcjG_U
zt-x&nZXN*%(xt4TVs~mQIv(Z`rWnVLd+PckJ~&e-PC|S3un;l<vv&1EYu`UU4OSWG
z>Pn`$%Y`<QmZ}as#LAxof%BR|Oe9!r@4kw40aI%wwNFv;HixvRD01@9!U~J*2>~9`
zZR;YBpo%_yD#29kH9{q+A|xzv89?yJkt3|EH<o4wm`9{-DveN3jvWhGU6#e|1uxIm
zynTD6&B?anTpZ~m!~JFJ`y(asF$95rOLI8iwdDD8X`mRinDZ;aCr_UI79*sroYpvk
zv&Y{RVytuc@Fn_)CiNsVqhS5cI6E6<5_-SiExuZ*?L=d^i9m@L7M7sVm=ZnW8XXgZ
zTRwE?P;~5(GiRPam&wTyW3_U-5*v$>ckI})4CO$LtDio6Kx%lJlXJ9&#y}*wEkku9
z+5Z7ny^hHl4F$+aBGMiWOp~(9ySoQCBI$UQZ_&gif|$kfx9zy261;2&Sdy1#K>3e|
zSzM$b_#DiS9ori)J4pYeVbvJf@19xv?Y&zSTn_x}vVg{N@+}P+p^>aOylrV|Yiq*|
zAvR*>kc1I>qzpb`0@4=C5ou3~SrYo$9kl37TbKAo*Emr}=<rR+O@#g(dAghs@V<MA
z!SRf+L&Mp#;IZ*pIH#JL8LDA<=s)k@*ND(+8Xk7Q4|x-!mNmeRTUc5y1XQ8~CL?S6
z`R(-;?R)9Ybu<bE|K7nNpvuSh48e8It}+##VrFHfByNGjW7=p(A2`+`3Uvj??@pVF
z-**;Sn`6gD2M1p}6`>8&1~3H_Y_O97_>8R|x;u?VvPp+Vn4f<WK}xf$si4v%#Kln_
zQ)mSKAP~{F(?ryQwqY0nsrB*wd&GWO*oF!M2Ca9Q&o~(&Wm6elf4c29<>A8Sw{cB?
zl>~u8s6E`VIs=kI0Fl?zWA?8diC$LK)Y1||P2%Dbw61U=t+1TM_dWAp&Q@=FYjy*z
z(uFq;bR057OvZupXeUW&n}$cnqrdzCIN_&HV@rF4goH!^(IzKH$Hq`xl0afgh>7tF
z0P!N96NC;Wjrr?Nc|d)~yA)jIXvIu2)s{Zwn9x#X;Sms>%sUMT0*aVg#HCN8qoXL)
z{pEfKX?!8Spd_a1i?F_QdrXD))|OytIhu8dpEbdgv9qx;isnY*+}s>T<X-j`z<pAU
zWIk$RllS0(F#4TmaVa-$KxIO}n5b)l;|8@f5d6o+)^=umoO=A2so7=PZQH1ct6cl&
zSN_!0TJPJpPds?nZaFy_+TDBhXqGQ3hplth$)FPzFV+RA9`RHUwB61Ikl=3a?h4%W
za{Z4kkV+|d&V}E<r|<3C;M}rp+i4jNfHNH}U1XVrMtt0TjR(302JuiGfnJSWuHCqC
z3WNy5=Et7l6t_ja_H$=%^~dpmP`01DeQu<Yv}q5I+_BTz;vN1Cr<4e{4PBv(Nv?f$
zehE<Kj^V&eUm5z(53kPqi~Ej88eAs3z$Yda!x8rDJL{tHp@)ARWj*@#cRW)FHZftg
zI)AU})3uBLO1?B-5@<t+V7`-`lsO;5fEE9VitVHZ0y#QAzvIJ)>y0B2WEe&q3VOP`
zUzTZciy={}FQ{g-i}(gm6Wj-au0QLGzI^%eY=E+a#8Vs;hgImi-rnAzprb43#895a
z@EcE`RtL<H#aNn~gTOV;{C!N44K!_X-4LG$YknqIN{d$g4HnQBi~7HR{}wqOr~9Du
z^=mcaH5#NGyAv8m{zJxIAWOk%0rD{vJj=~}k)IE}oBD7Q+41XXDj}RPb@It~<lPa|
z6g^IWhRiu${Z%1KL^uElG+vF&j?bStUHX2b3V@+~dO}*$N;k8-{Bv6y9WmRuBaC4L
zc@3Oy+xRiZIS>ZujoxJ>)Mp;#*J|CkmYh6vldkZI?|3_pXr8HPV3y>6XqaKO^a~(D
zv={yhQch<;C|U182aOaTAJI#D$-07F(o8MlNFmVJNsh6}$(X(yc0+k!1zF$PgHS<5
z15iiL8Z(E)&&9!^CVi^VTTsrSelu+y{SK9@!E0zm>g;5|OzQplWc)ip_YJtLBuBfU
z>G{!?oWyS^Hn?pRxTMgFU}nI&p`Aaf^;hHnyZ|(76gmGjh@y_5GxbG^%98&gbr8gb
z3l|)P4+$wMauOuMI@<~XdaZE;c*<m`)Dl`QFfwSEM4k#jD~J@hj5F!HK|@7FQD?kE
zBd$G+>`o9u25ewW?F-BRRdj+I<9WbXp#o<+MxZm4+PU*Il(*{u&Jno5Uq5=8a})$3
z(8u8>&bYYnH&#7;@}&613!rmRhdj+w|84duIddZ;hC6M%dz=}VR0C%DV&8D$m#iKX
zF)=Y@7hX3tZO++qp*;fRhYqEx7<7Y)@86%~<RBL@jG*7Ku&{uJXzD5I=H_;}ilKUS
zek;?)Xo~GUX$sc6Isihq^dCaAng3OR8Vuke=eU`*+~>5D6LQ2IluY5XpsP{pYilpk
z#8D&iqUd=bJtSGLK#!kzpr7u+4C$6c@9jZ`uFFTN6QtJqS{1UD@H}_!;l*fZuZoI_
zAjiL%S?cP>q^I*-swst$frK{X<>NW`(h#1*^;;Y&Gc)a%XNO3w7vMZOu{v9~t%-9P
zD3Bnaz6k@<poGshlh0)bgJ1{$ts|u28_RO948{hH?{!|%quL3);Bgq8=RfsjJIsG;
zCJ6C>&=3gap9KcW;+>qFkde1U)K>V<FpZ#j?nI?He*9tWCMMCF-1O8g{#I62eMP4Y
zK|3-rX`l|-Nw@B@e97lJGTXOH>)9a88UTSoixU@0Kh`%i0A7F|6W5<=dHWXIrX|2A
zmy4FJ`(G23SzBx)lHA+V)70Dy<wC#<tRQcK|F7@I00=hI(A3Jffx>P2Gy}F7fPiyP
zG>!0CTS}azrln_D*f%5qfNt<3A`P$(VDng5S##_t0X2%jmXA?uAx-SraP^?kp$S`G
z*%?&_o@?8DiSLgdS^B81lC!qrAJ`r|eE45)#m6d)jw(Nd#-Uu31`5*p`ue@p6<eSK
zsM3-4rukhL$5Uiz|3dbN@ruzb^qn*&UV~_BLfQox_g`0)w09Ocv9R|Cj<<1U#^5J1
z&@J=ed>qbypP?==TScyL;E4Rd5c6hOH(A7<<0Z7GLhrgH^q>1YD2U}he*_HMIu6*a
zF3*_;+y)Cb<XuKjPp|W!8CiTkcRVCw2S#lg+$lT<rwhzTBwqs-7pTij^0=lZ1*x0a
z?<Ejv52`|K7!>{~8IGqXo{OM*qah|Iz|2K+^IaGVgZ$^wXnE#ob8G8|PoGYJGidLx
z3SBF=Eb-9DlsRx9{aIhtp{h+hZye>e-*Zs~(x`ye5wVqhx~Je02V|2`&_OA?EUDhP
zCb!_`a0fxZzWXgrTT7+HHlkIC1V;;X510co7}IVF0@<sqv=pdZIe59FzMdjs1HC%>
ze@Q8+(ADJvsPr-0H4epb`a$ni-B?|S+7Zgv5JkszZtc%6tZJ<}Uzt@^aPPoCHT(@|
zfCU@S&F<8{)q&y!*9Vpn^%9z{XvRB;A9M+gbt8~0=jP{)jf|S!z8&`5FXXg&67339
zgMfhL@J-~=UT~)Xj8(7yc?wJc{H~5u`4{mP7FdI>4epnJ(s^QXa@`2X%Uxn(n+T{Q
zPhNRw<GdjNRe&@rD!J%$vwrI0GjGYB#5&**Y^SB-t;Txb2atQV^YG*XA38)5;n%NU
z&pa4~2*DlSr|+*0BQ*$(Bf=sgoE#j9xA+M)Nwzz;Z?mzplawj676FxcdGIwotE^o8
z{KB=#`YH=a3i2L(3+xOR&bB%k<tqES$i2`<&GPNW+tcg!ivjsQ3fowRbdr>mgy#!T
z=I6J^XCab4J-20#(ZoU!SQ5}u%$q5;Y}o?UE?^aW%(-*tkO={f(A#V*?bAJSWS4}*
z!HYN!$nR&KE2G;z`?V51To-bHgEDw3e*PLL=^(mZ<xz@(1K-(IMMB~@dA;VVJD{zA
zYjPP_%JwVn*U{JKmUE0QDDZN0%tnXG`>wrR9=@5~yAfICk&#p}+sO!6Ycl^WOJ83a
z#}07X*!k&!>a%Cg=wbPY0<%iHnv0O5u+I~~;vx;?WMpV<Nc8j1?xs;}9rlSw-mM3b
z8ols{)Lvs*K0H23YFSillQnE??nXsv18M~YmFMM2@xE(o<B@aJv9bAzV^Z!r`EQr7
zW&n(UlM?dsH<tsTp(~)T0--M~B(z^a;gq8zz|AHC%H`Sqa!OlfcJ?Jeh5bMT9?s6r
z>+8UxXj|Oh?N(B%sH*ykU=NfJg4+hka3SElEb^n_ST&@2d=FTE-}YL49i1k)Lc*4Z
zs8608dAD(bmWn(m@TDfYO04-NV%CV6cLsj|mL!62_wJ%s-TbX>ZCV0HE2c#IXC8!z
zii+kJ6xbK_>X<u$d4=d2RhL=2=^Ds#)ZU4$>Q_H?cbAuy$)>g*IR85l6`*J9Zs3j_
z{)_Dq@E$$7Soaqz{o&(BwDCz-uECQ8r~t9^o81;Mq*Ze>Gtd2Lj~|OVR08b*H3ON_
zjOjsY^K7=q`F!y2LU4h#!_lmO&bpZx^e#gP;?lffyiU!<btiCx#7bW`d@psnHP5OH
z4iFsg$TZh-kQWJ!Ma9KG9N$S7m^~vI^3>$Vl%~CB1E2OQmHW@HI|D6$nd<j6`zhHn
zAPhzDU?gqe%KRxEo#>Y@<>yWy)3i4=l?JbPgVAW#+jbfSa-T<E51fJ*DYr(?p-7<~
zk&HoneBmH7!LmT<Qh{a?z|Fi<P7b9o8J&2CLyDD6Wx&w)@8ZeLU_)Y<BZ`an0OC_!
z0%t`Bxrb@@Wt62k@XtUxOS7|l4R~t!np&_s6%`f!p~vz6&!0V`Ak>=O&YUTSFMzOX
zyS+D`S)38)WmQE9+HUahUf&6$;ci`RW=2L5>JAB6L$2nxlt<YCZ6zx!o1VIj7=*+C
zC`5!04i18251rqOwY_BWN}6o?kYEim>+8TU1P+o+mGZ#Z+viS<%`i+HFY@SD6jC|+
zRhf9*5XYt4Of%Gxd5|L#xtEWA2DDeB%(K9Q`;4QnTme$uy?3uxFhB2sAjlk&l9G=H
znT$+KMn*>|NtCi+1K>Eo3=MHl=Yo_Qr|QWD+F@l~@f)=d<`sO#eCt<pGBbz9RDTRq
zhkaLl-H?_z=FgAweERe_T1wtEIC7|o*ZB4vqkDh<qxYfCL8f!y4iba8%$UX(JQuMs
zGdVR?vUs$XzSLIl`0?WlB^O!O34*rn^QW6r|KzLB$HCvr(%z9fMKf>z+_Hq8kU`=V
zFAge24-4QYV@DKj4xH-V#TI+Y)ipL+LJWEK)~#DW7W{Eu00{sG0m{6r@yr0JS9uTI
zuCa6bTDe^zT-B+SLnOH@<nKB0Wev5Nb@Wk!w$-<8aS&<)RUwxC5-7wYEnz*?VH;P%
zJbisXzzOpHJ-^2bxm5k+FdVtw<!z`&A*7i1pMj+Wm03&RJzD;l6Ud%WsR1rcmo3=-
zM+PX@vk#+k1Mmf_Y#^U!3pu&F$89_h1+3d?i>f(4-Lmp6)$Q!rv#Z`eT?G$LO)S9$
z;D1>o^U@{qdEK4D!cbg5TpU%`9H<QJ%C+1FQ`I*QluU^O2M(M%b*kPsh6N<r(DhLi
zu=)Tktq8!$J8ci6%Q}HOHxa6<v*b*wL5rfKpRL#i2Uq^5HZp8P;j#a<_qURh7n;M&
zz<>SOhIkoR+ZG=m?-_N?Ot;0UNVQCt<Q^%NSec>Q)Ya7mC{AM4Ew8al+c>+p>|HVz
zp^VWado-hT?uXiN*TW+qT#p$W+1kEyl$(1u3`I0!;W<#Gn<}M%T}CCh7yqWo^)H8j
z<dZ-RASe2D+%cgLy$?X#B)6I6C@S>L>Er2F(LI3WcF4m9egNbfYmac;^k}9nR}YSY
z6KdO^c0yB>;kb%|%vZ%gf_ssqyp(lOS`(sX<tF|(YE(8~UtbQ|LvV<>xJ<76+tvKA
z*E3d|k)uv-3_&}DEf<%&Y}pMRA(Ed-ia?43&LqO22p_KwR3iIJ_2=(j!3XXz4pI^N
zxA(+63%!V{D;TPVnu14rXppY>+hldTas%CMeG5)qabsBhh6Yrw;DxGi5_0?VYs9;(
zNiYn06uNgaNw)iz*)UZR677sz6HtngX)YN4oV-THa@f{(!0?<Z4|G-5@(icbr{TBV
z&cVSKM=iH|H&*^?TwG2^z`bYBXuo$AyL16~;F>$4w`wH_n!I4$_Cn^XS8FgeA|Fru
z{24c61YvLQ>cPKkI#5nm{`?^$P%71|$e-utMo>z&eQMPmLe7DjjuLyQDinK4K?DQ^
zU0Z&ksYh0U{y+1bC(6Z68-v4#w+3E!+e$*?CAnD;fc|qj;IP*(lj!wdQ;kEO3|$t5
zw-kJk0bz1z3SqcO`^>y3l7?CbnFlVMNP3<tEQ;z2)zIrqGCPGNBw8Q?kaXB=sMK(4
z9OPr@gY&5CS|D)c!jZQq>fo~<=j4QVYit3stKBEo)!8|_mTxdUM%C~5<L6Jt8C~b~
z5`c4YW%+){vAViBC`dZhUx2p|+;(=eV{Kf8-mY$LNLs4%L+7l1g=-32piYb~KDo31
zteW<ukF@PoeUUF^KBqM_YH?&@q&9(WMN?i4Fae9r;MXl>mm?z575(1U);d5ztiQ4f
z%M&FP73jW=-(SuOJ){mq+DPO-h#HDeH7J$@M|t7Vqel-Pj$w6U+9R_0l61h}-Gm1h
zRRs=NWqPjovC+}~Qm-uA>d>ElWpJnW=?@}=5Pw8C)c2w85J0b$<vBs_qF%QEO?8oE
z*t`h>M+veLk`I0Vq@!FfOhHn%RX^aF2RdSUS2kjL{5UVz)x!(ivJUlOoV0t#@u8|~
zizevqKw3tRu>u*TEBHJ_prDE=tq{6C0AVCKbbJA9189fY0B9fBxO?hMF?VgjIhE2;
zw!>&JSZ+{Z0)hF~t!RoJ2ZAV`cDoQ0`99JEv%xHPU4ivB8~-hbfJwZDTj}xO?A_b9
z-;R0%R3x2ioF#O@^8#R#2qfrCeSKD7oy5YQ<mE+1mcxC%Q(~V$ew(A38o?ChE|Qej
zPbv-F2msgx^Ur*I5;l;%h=chzYV6MSe<Cz2(|a<y$q68{q)}&q+#-LMH&=yJRY_8B
z;|PC-n~e=GKt@T4w3ygR=aQR0z!w&eAmE|<7qXe3m^!IT7J6X~T1cqt>@2(_<qu!t
zSjz5w`_4XJ+MpWCg8H=`d+|o5wV{D(#Tlm;A9CjOY3&Fy>wvyE_+|c3BvdrFw7}+l
z8z_UMW^Ci7C7i3|r@w!{V&8*6&&k(4H_^dQgkyZ5uxImDf3WPU3bBa*UY;fM*aFXz
z&bm5s-iP&1rQr3cK5M+*vJr<P1@b%x8{_E6KvLbIZ^N+DG%Tb6$-6FP;lb1Aki6ib
zz~Ke(;cEaAdjw*eVY3IqM(b>k`u|j<13@e+JJ!1lRW}i#8*BcZ)i)tMwM85;H{U)P
z^2O%01r0@}QICz^b<)w^my_k<;sU1$zE0=CFfb0>^gxLluR5xIa1IOpiR00hX7Ct7
z?aX-hDEcr#>bZ?KE%`#RJ_Nr2@X+{N04iW~^8nx&+%qtyM~5<^gZF$lk1o>loi`f&
z@_$#o$qiJ}C~a|6)mKP_NAAdjAjT!o&75KA=l7zjN+qH3@R1{0!}#<1A`6GxHsC$Y
z{VVp__?`q?Z05?2PJ^Q`2kY_*<T=j$ovGfPs&8m$C<JFL8~iS#qgsE?n1qD9N=@zE
zd15mYGqcjLH|{N?((3%N3&G@ydNT>3QVs<HuxSGU1Bkr}`XxZ>GS0ZVjtmbcvN5D5
zn2K9hhlW^Kd`8ueIc^UP2(1EQ*0$7h2%)ai%0TcXH^*};ctcQ9zeL5@LVrrG7g-pc
z3Kinv<8>>vUNBl>K7e!v&n1MR7e?0xZch6uhZoG$k&%(`@e*n%f2cHru0St+(|+FG
z7f(y|_x0H=k-@-i=wbX462G!XUn#oIIIew6N^u~!P^mB!5ej|Q_RRV|yVv1{w>e*y
z@1*@v8v;*YM%a4la<iV$H5?@oVc|ANi#;EsB!P#~;(Z?;CX?{?%CoJmf_m)lzl2=R
zyyUB!Sy|bKd;9otFWf+wFd^*V^$*!`XQ|vp2^9@}4=#islwpE6c(9KDU}U&_@Qy0=
z&(^8@13kgT1qF=9zmbw-eW{sbq_-C1LbdSWo5Vjl;#ryccx`j?&g3c~;pAp8%LIW>
z1Hq3F*hKX8^{p?M2JAEfWN>wDag-x@5SFAL>8Fw{N#7aJMWKO6I5a-)KmSd))V<f`
zP1<g!R)W}bmR{BGyD9OyGH^k0XIvQd@8O8}dhk_WNh<(>7t<n07097LJ|yho><q0-
zC3N-HvpyB*ZrrPXpgH*0j-sdzjRHu2s+w7)Yt?q)S(CI&$wOT7D^m26v%#xK8KS4J
z51ksq>LJZV1T<7<w68RcTksu#9AMvfC<mxrtqxu(M5TZw;d;eK0IQ+(QLqt1>%w16
z>1SkX?PRFvxtr`{0+hevGav^40fGY@z=aa_Vy1cV-8Z07P+<^O$~N&RcvIBLpmvBW
zC;dmYAzM2xP2*NO4yV%GZH5Sf)*J`7>C^N4e1<E|78ac5WiKdlG1Jn0v~$1D7;Q=m
zK!m1BJIEmK{UFBw7}dNXl_;_c_dpaj=}&+$LnDh|%viiT?Fb?kY(`FY_GPmgxPJg`
z<=H>|28~KFZ3|~h5Q;pc)ij7$eJdu%k4J_Tz|F2YE(4G5>wgz)F4#{5D-44tIpm=q
ze@lnswsq9o@>NZ*qTQq)P<N6`2sDs8Z2)B?ZZstYodSwReV&klLh8G5up<Hw4`&-$
zT25h>$ezRD(J_d2!0}X<)ESj_k-Qz7a<kyjn>#6$;(Ge@2@4Cot6+u0TSh<k^b}`3
z*M6Gw>=}AG&}TZC%zLaI3e2Jxl*FR{N6CSmtKm_htvff}*Zcb^)G<UPE`-PrP%bE1
zI1?pM5sQihr&qR6kY&QRKy$kFmMq97bcOgPkPy^xut$in!il9#p9sc?CNEVm?4xnc
zVsb<y4+_~$5bA1tYAU^05hM{PUx4v`7IM45wvK)KR_{;%7^!tN<@)vgii(A1l2<;k
z)i6JG?S7^{9Lu)LL52g$+)m-A8*q&tSDO;u0&Wf7PB`mun+zk!CMEEPW84UF3=$a_
zK%*oHH^V$)q`8RzUk0zLK*zVUC~rE!@9%5fOZ6EVhvM!H)*r-HO<T)Yg9JgqCl&Bx
z9+2I0qfmHT^|x=17%6#hn7!T$*1rmkOzc5Lpnn<I+<+U~cRLkNt7fvkz9i6g#2L1E
z5*f>P9}|G*lD@#Rz~t}aQz!ESiUhcRPgvL3Vn41r`ThQ3PIc*huwjZKC}<jIo}X^@
z4zk6;u`x0H4Vi~;!sMzIU*X<g&PsGtTC?|c^}ldsXZ`JgF_l5<ExlQETejHCZ~zBv
zsN`a@Mxn3zvdvL69n3MB-1Jd(LxT=3_V%0J*+O~T3ywro6#i%KY1`1TjSDza(3@Zc
z6?7c|vN~#P3?b<6x6c7!QT1PAa?mHQ^AJ2wq)c=BS06*{8widR#51e1Lgvn8!_dD!
z_tDlJisz0AFwC=g#aWk+gqC=NBk9h*vvM3)aj*rS9zm}N*}u6thQ?BUm->{m1bk&C
z7ao}t1a?uN0qUaNQ0PJ+tC-uDmvPOGr0KF$RSaIlG&`btTw5IRkV};m5jlj}MI=KV
zu5TC_D0PCnNHVz@<P+L2Twp<m)*rx~-&b9K*fByQ6Ov&;!5jp!p|Mk#U{Mb1ZP@61
z@<hCJbBz8JhW4zjta{vjBMq)Jhn0q|1>NF;I$+>=j$*d&=QZKOi6TiwPHkia@WS8Z
zHbJFSFh;OVf&}??u(#kO^`)9wn4C1amebO>p>k4EM*N?yyjM;RT&wed)SaJTM3H6Q
z8=L|iLxh_bIq~}oo7L=KU{IrsT0)S56NWSG+h1sVyAc3=Wr-~F3k#Ty=y8*Ow(AdI
zZeR7)`1r`Z1xSCM8^(MLuT{Bd>juXjT)0q!N{N=M!u^YUX;^A{dOxEsW*2dPBFQnu
z$t<yNP(FYR(Dv+Fvjpc7Y!D1(EM8~ZPGw~)5PcXw^18Wg>(-Hl6%s0;6B2_73-Tt~
zS2zc*bA*A7))6W!F3zqkvbML+1n$D4IvCG^<AYm5CBrac*PXDae@D-GoROKC+|??H
zWPg*CBl$DnkF32CTz^Vr*RCVzp^qG)D~nCiz{u8~gYUb$e<Powad~sC33f(601Snk
z{|P4GQy%};$#h_+g}FI(lICvf!Hu;8B_OaK<!f~fZ7w@>;k|oz!5P?)S#}L@ORj%s
z#QePXgi$n$8cb6<T3QdvQsm5EPo7`k6mVYugkwcga7o8X$k@arQ2A~_fvf{1^;Um)
zA(U1E>UQR!@B4F^+y7}^p8Vdul!WiRS4n++J!D$w5wF`0gNG;$)cxV302r}}oGKt7
zfP#{;Mui_L!P@<`7J3KdYfwvNW&Exq*pfP#*1Eb8TQ+`hYX-r5Mn{iM-V*}I2Ui)W
z%sbx<nxh7vE^saZSOVTcA{;#x;|RLP4ig~SD^Q4ESBYZAq`p50Bmx%`IPGwnow*w%
z11++8x;okoD56k-<;!6(IsfZBG<)p`dLg(mzJC1*I}awI>Q$FPL4&}R<+uvoued@E
zBJpAvxIp&4YSjFQzbU1O&aSR?Yb_WQRyXNIm8)Aje9IWrE675E0F{t^@zDlY9KZuu
z{|c$r5vCyjfYCLr7!gbdKO9BWGEQ9ph=qQw%quM<beZI~$$$BBY%Tx}y`Q1)kITSH
zf|$Hs2_#9!qj<g9@nuWd!<RTTb>j;FE-)LQ+v6byfBfic?l-ff`|r@uKSEc5Hbata
z3MJ=XZ^FaP4W2+t{8#460PGw|`}?}I(zaG#fA~-YN8r}2&F^d#6%=~Ed|}=d0gFLj
zHTQl`zP@UV61YKOM>(|_*u2q{o|eW?a1|a^9~1GuT$@)xlt(x)qkH%&RM(nFiVbs@
z`;Q()Jv%znQ;-#sd|gKflsHve<zHc@Eqf@_l>9yZ+7$Sal>9a)n0cc)z;Awrp(WT&
z0LtTkT5CrK!(3Q&Y^(|VrSkIaEiHl)CDIZ99hIme2o+=g5~=zx&;7Lc-j@qztI<&o
z>zbsuhSs8_+*lQ}jwlg;yf`Npr@S@c!NZuw^XD_@T7j3sq&P`#$ba5m0sp7SwKNnL
zAx#Omj%D-R(8B|&6&VPkXGSm(;Tvh@;5!)4CmbZ1II05kEMCxjtxUXD0-9+PfsrIN
zSawu5R+)*8>aeivmPt$!4GKMfKwgoq3r}NKmSA$TW_=+%`|a)VbwfrqnX{N{EM^Tp
zr5Lm@cH~NcW0(jI?i(35lz$!mY0SaN{BwY6T<|!4ob6K01O!L#&vJr-mul=5r#{Wt
z2JLNeEW~ge4j3-zhK8^qK>zk+XD&&6QB=ewWA_@Lf<6IjL%mPB+V|Is%1SGw5p=IP
zxqv~(;M_4a&A!NL6%umb$CFZ!z4z&HnlRpsp?`An4U>$o)nVJVJpno+BL>Sp{yuOl
z7}CQ9wLx^C!E4v9T?1G^SO0kS1;7UgO-7oCrs8!t_^d5r1SkK`3sCMWyL)%m#e?=(
z2%Na6I)$)xWm%LSx05I9M!ivVn&0O7k+Msb9M4+04y4Mt002cDEz&r2nN=Ri1r}d%
z>hx(CqDXG$v0`Y`_yc4Y!h0T(NYKg2NfJupN(JE!!33K+dmhM))?XI6?i27Lk~~Nv
zT*V=|q}d_lic!z~I%jJ!ln(!(RLXg<_VPCOt@mRdlCZ0fW{jq<3H(T+!=0~DTfTpB
zp8b^b{SWBpvz6c>EkUP(<C@cvum&l#Bkvo4ZhZiZYanm&TbT5Kv1&iKo(==ok57)(
zm!i#sub;U0pst3b-veklYtIe8+3HLgC3ymY6{9JD*sW(tWC2Y0&%BRv%T)4Dh(W9M
z1*}XY9T!+BTu1>!CyYQn{u>b3#Yeh`X@_$iSB=DPU=Eje&+eQ=J+LZLlo_A9gd@=X
z@g|&hcege+*0>6fnGO8p-Q8^FyEhCKHMGIY!`=dq({R5noHF+Iu%qX6G#rM@nnRYX
zE+3W{q3OxV=8-uDFJVfUfnB;pi137jZ3Sm&<)<QQ)gq`z|NpTBjN5v?Q^5ZLNGG!#
z!=zAMoQd7bk6I=H)8Q{%hH4!Y7zk7>02UU&5((N<x@h;dv4hE1aHRREe`fj&p`7J-
zmIQ6Azf$94h=D&$t3Cj7RmMAb6SeAp`8fOY<UV=g?dM0?RyhL{lAfNviGTsb^||Yd
zh#jHJn}~eRAq}DF8TfL|FhmT4BI-OfL9*X`JC}wWN9323Jkn^kB%vr)-^BR!fw`)g
z#P8qFfF*@j8sR~5j3nUuFcZ?)(7>x4z`)xj6oD{bT@A(}xPN(xvPO_5H%cI8LvkdD
z<YpF{2&h+r+VP9?^MHUjf&>v>Hw4Ht{I?Q<66%_5&@VbJdEkSP^{M1**Vv?O+)kfn
zXJcz{Dw+#`BLb`qB0<`^TvORVj|P$r$WR0lNHmNj)QzAs#t&$zM({w(-}l7;L&`xa
zM5)RbU_Xs+9}+BT&cBh$w{$xN1cos_Oio4H15c7H9In$i2}eLSA*SF>#SM^5KTuN8
ziNHjwd^ask`OJsMa3`n1ZMW?AAk&3%;6*%XYF1qQ4Cv+#J@#>I56BE8%*f;A>1q&q
z(WavZ1@hfOM90Uk<9!q6<`|vb8+-x8N?zXd<D*#w0pcGA1S&FkH;@%1{{nm*8>4M-
z7s8^x_CO4&CuBVq98_Z*7l=GI78cD)33yx`YcFp>71oaD=C{@qW@^sXO~wdH2;3b#
zS13ArdP<$zZewH6$JA+U_U?sjh^`4_8T4JUN(x#cA9~omdwhn5?=We|Fp}*Fkc9MX
zVQ!wT8g_TNkByU)<Zy?oh*<v?n706wW?mWK1&LKdgY4^ZHp0l-8lY$bE*J<K_%YM&
z?3F{#OWUVEkyRD}7Bah9p_ioRRc>;WLxNShZ)_`m1MMa*1P@8j0SDx%#Jpq=cZ8|2
zF$S+AzNF5!UP?-0^fsbUWQWtIq}D1249==a@t<W)%$GyhF%pGT%+GWJbY_gE&IwbJ
zjWl2V3wAVSDgc!Un?_BvrYRJCq@Vd&ns+BDiGSzL@gF~|%*}PLY9BfT8xY=MApW5W
z*c4`*f?l_8Q%mrhs$`sXbiDj5HCY4f6<k%9YShYoNUAQ$jI4j=-1vI%gkS%0wV8yM
zJ241EgoAGqa99D|O{kHk$tujA<~)8}8h{KI%MM543`9OI6=n?4&;I&lUE;yh*Dk~>
z2WGLLqy%QfCNDDQJoKSpll!h*2d$*CqWSSkh<d6%torEab%@t+8%EDTVFoAkZxq9F
z?&Z(+e|9mGhx+Qn;FB&6f4;fztTa!^+MgF#8n}^GcaSDA{_!q}J6VlM7Ep{v+-a-w
z9;K1BF*Cy%YaaEktE+>Zaq}~N0AqHhsQyug@!IDYcp+iHpACo^^p}@4_`OTsHZ^tp
zvnY93S7&3iJwVY1vnjw5pFVvW_bv;#q>lk?Iw$zs{l7IOB_<~R$1>h*-?(x8de7(2
z-erAbB6=N}vlz+D)iD-HP6r9n^vKzou>%2%HjQ2SP}=69N&PFns;>eU9%5eN!UgpO
zmjjE&9$BZoD<&}iosLb#lhqf#e93m#P>Yi(k+RQfKTNw!OY`#>9fEQ#h_(RkyWJeL
z?Ck8>-+p2k=e11h$B#GQXmTg@@Uu52LC;ti85vQ(3be%7N6Cv9lpql+;UGhcN_FW%
zTDx1ksdyXS7z3Fbn+TKu)58NmBM1wqnyP-NFkpZL1+xZ1|GGn$z@}p+Y~{WUw{Z^3
z?TuXXBC42!w$Wn?;>P>EhAIBDLk({*u&_Y;{qt)|oAPNoa63$GuFlSU)}`>#t^`-X
zuJPr3!3%3`+y;(#lzk7fXHw}u%QR+Y_}0Q6LO*#V0~TAq@`bJt6Y@{=$^hznuiMKP
zFZO!d!cilCr|q1V7k^2Hou+0z?i_BSFAYoogHn1&Y}LSGo_fndTSubP(ssffg%LhG
zj!5ocbaS3FvjBg{g4RV&aeyM%?J+4-V}t<>$fdKhn>TM>hFNcLvQ^%~SMNVJXgEAu
z^Lyyhx2~<N<;?B@ENmU}gdHd1mP9|sirSo%_U|vQ&CKt|iI{*V0E4nv5m_5hx{nNZ
zu*I@&-wy7l*jgL@sx5>Wrc;@s#yv=|<fU+ridr(w`Sa($RZ+EVJk(Fsh-e@OvO&5y
zfl?ixS9?qpatYdX`0N}Jj9@cU@USlF@x#KLw&g~eQxny*A(I$M*4{+GU#>o!zxM44
zt3<Z3izn%ty}X4va@!7%vu6|B1n9TR)i*Yt1}%dR)RJWU9E;9t6Y=B6kHm^jtT8$#
zsB#(+@=gEaeBc#!xRi3|&KIDb|3AfeuXgX*=Rb#rHo;vq{5jyp@hN8=oz1atkkNKY
zNr^Oox`sN79;505`+dPupYeDjQ49ecdiV=tpn7_GI5coaqJ6<HAf`u0gFZ&J+2b!I
zMCt7ZDvf>psdPx|1HVPv<#=BVEI-v3>4HMS_96SxBjEKzT3X;s>DVTG_H(aZ-j2wF
zVF1<^Xv<+ZmdnclrRlxzU0we(rIM7zGpKrbVBO;5+flL<_gr|FnU_azQN=G{0Y?0v
z>J8cvo-e^duaQHvby%=?<sgzXpe`Q^Tk<L5^ZhJTRj@BLHJfr4@Sd5q>=ZdMByu!<
zEwBX$+`fBPieWQpl>7IKxtCqgUtOaa7OIiYoQqxnRpYZU-%z{nUe>^ymG_V=Iy*a2
zfbi}pq~}r@OGKZE3Ayb(yzvG16R__GbPl|*!c6jJe7wQVadT_ySI+P6Lv#k@;A`w>
zld^(Hg3(|nJG+i%bAHf`@MjAvDV@hWBM6HClDV_yA|<qabX~AKslpAn4(J7E*Hvx>
zrk5iPBXG`|SBJhTDOtiirjGu$d5i&pki644@)M@Ki4FMF03*0nGOD4v1rMZ4qK|~3
z4oz$^2B>k{%6Rv~3Zx(SqSI8vst`-xgqN$)WRAly4#%Jw%7Cm2U<-;Ah7q6VhwSrv
zjD_F26`eLKp@zZ5A3X(l$ItRb)NZiG!>Z+_r9Hj9C>ws>clT@@sgT%x`T7d7B9GOd
z4WI>#AnZdEN^*iwQ}=BrJWgX4;Cy?U0#*exeK1J4$#WIR2uC2a008!#^@k2PGB$=$
zM=|4^ZAvGoDJb}+0>JOSmT^Np&Q7Uoax4T5i*gTxxPVXnf7W!=jTZ%K?3sQG@9`!u
zOb^3_xW@y12PSIZHU{+hdCPIi`OKM%@XjvH>?AoxNp!oTTmrWO$;gVPY&p0Jq{{rS
zty{LBmw^$*QMj9X|Bg2@v<2b$MMZV*`fE?NfxKz@Ns5}~q{^4?wC7%R-lP`>^AF%q
zC$15s@<%$jU(v$Kine4oi7XCY_WX9f*{KLK4W1>H(Bb)}&O=ce_AbM#5qQ$a$BBwG
zDU3J8)X}hjZiVwT8b0rZ6*zHqlreU%SdGDY4GW9gSRcHh;mjFvSsNH~v9Xz%bI=EV
zzjB!JWhr;wYwLDd%7P^)q#rK}Aznj3%<+maNG7>GFqazmXHhJr1=5{nUp9~sW|?qn
zIfGj-ko&R7ft|;wXdLeW&UMVgIWBVsEZ=zJfSIca9AvC+L)_uH?mg}w-lHX%7@{SN
zjvu#qafY?(Kp0+RF;o`?2pRbOLyk-wevP)QOYt+4ZCtzxeAu$GbBHTcV_;W6$~>@W
zp^7Fr1s<n8J{L~{l0saBOp*VXHPrQyLHd<S{>s?4Te4X^$!>dLS-=$Pzmd@62>cqE
z*8cu<nipCCqgGO%`uez2TeUPb!6Ra509g<APrR!sGPfz|(p6MK8Q}Y0=c=70d|6cF
zVZVyqpPK@+y%9+IGSge#8F(p8oeZpT*($+!u@FaOU{H`T=1WkdffwP;LFZE+0A(0O
z6zwtw{Iy>D`QjsIo2xKPi+LC_Vq$8l?h`2G@Qr~TIe2FouV7@GxTAab`?0(@6&00P
z9NcH>Hg;$fFd{$Yd>F6kd*dLhoE`}N2yaU8!?}k)60lZcx*f8&2TX--J^5%&@h%k=
zbozMzOS1J5A*L<L@-k4ez9om-UI)u=G<3+5WO2OHPnt{6v_H5HkL#UKp$<L_NCX{o
z;^cX-mhjUiG-fsRzy0zB!-MdQQktLVQ1BK?ZvMgN^FaFJdn8r}1|-9bt!hu)Yj{lk
zz8e2*fyM#N3W*XxEe7vaFhwWl?(XieO|I~Ng6}_mtA76vsmAdIG1%}azKf2B^(egy
z7r8kzV<;bYnJs8*G>f|069GGQw|neI3nU)*Fw9xx`!8C&4%!v{%Ae6l{mm5`vMX@{
zotmcCrCw#LNRQ2^{QaUf;WYDVrIO}g;r3dm_ExchgIV^~pKwsjlt@EN;PUKF9aITh
zr?p)3y~%SUDM`V98iXz`-XDQ)>}2kBaY!W);UKo4$4)`FKxiiY@q5#8?A#t@<zSSW
z;fyW}F@ZukdejTq1TGhY+k2Y7e&zME<=cG!9_bpyWWvl$H5|4eLUDC(<%GOOMlAmN
z<+Yvk62N>q?-QaEFK?g-Lso!Y5pQYufwz!|+-XD35YgcJh8juI(nPO=9I|i3Yny)l
z_#w)ohc~lik42866EGD&=1cC6cWKZ>$RQ%7f(GP!-y>a+Myj@NAM&=s%$$I<^jSBz
zzR9)MU(`K3@}Pzx$_>6qC@EQ@+d6V2ZZl1UGVfW$HW7|@zzj9m`+HdFr||7beI8qs
zrI9%c%L@7_Sf&;9=haR=NI#`rpuvEGKD)T3y6G_wVnr)M@I{uxa&CDz0E|qUg4b|8
zSW`Ii2f4T6O<bIK?-PnC7BOax{pBS*CPG2}PMl@#J;sk+U4pe|-i$9mK!o!=I9T}{
z1_&`XMMgv?x(KZPdR3cyTqBbq&w;``w>?AEP#_5qGwSd})b<2q!TJ~}KY`qmEX-}q
zs>Vvt!6*S|2Kz_jo13kq{NV;5!eK`~*$6I^g;Gev-(yHR>55C&!=d0o5<_y!Oz^#P
z9M3DCaeBO+B`*%NQhtK{>E5GOr%ySzdY)t9GPw5nsH|@$Pa9qdiC47zrx>)@$v8SX
z8Vx*yiGcPrOpmY_Wnlmh{$^b158nJ)7&pYpqlvg^nF|~Y59#3t#xeO8doeN#023X(
zfyxQf*Ooj7&CS<x@iH7ufg||elzSE4qk4E_CF}*4$ySl?@SY10T9_N=QM#L+PUkP4
zJ9#<}M^aF*i(c@(o{|O3ESNyxjEn4w5Z$%wXMe@Mbb}em|3}lAfc4b2Yk!p@6^%kf
zQc1{^q(Y^ER5C|Ak`Rhg5+X{P$dIW*lVpmJ%2-J<MG;aVGK8WCN$UG8@3%Yl-p9N5
zexCaO*Sha(IM4GsuleC!B`-`y#Ix<%UjzpWP3-YFQ(AeCvvKF{-ME7Xt5@byX(M#w
zMJc_`^4z0V?}5XDVKUtV<v7XX^r=%d-o_b?6L=g|{?nJ+np$?RD22N0ATW@NVyu&V
zj|>1%F`7qzy&SW}N$>Q@lj`8b`|NlkdS7NcIyxGv*CU9X|LaS7C;u^R-ye?mSrBmW
zq^PUX8Z1uL7^?GN<qs_T1{@|E>b7jz^N8$#E7Wf|J)-R@h@b{uj8g6Py?Zs$e~Kke
z{i;a1S*C8PuPEdCX_Vszk<an%W^}?T81t_!j%k&Zl{IY_oa8(aGFlBwrko(pB4z=S
zDEIN02V4n=tvxDRZCPpb%N(B$6$+<KiJ4uW_MceqVcY!Sc`3Xym-SVZ!BkB}!l(rA
zs_}O#)D>{gnfZTAKRoV@EQX9i_PsGFpUCTg!%{^>oJ_1PQj=-3X5qL2Bw5~g^QM(r
zRBBq<FI=Q16?X}}_wI)8BbZ&E8tw!`Q}hJO-lbkHi@s6$kkPUDBY^oxT{;Q}86#Jk
zb{=lB*6%W^OUH-?GPI$3I<o~<inGbt!KtTmu4e%@^0^4a)G&METvmASovyA^sZhu?
zg0}6GrPcA^-2NvtygId;nd&RGwf$Ko<b^Bs_r9~0bRj9^T)CoR@%k_K!_VZ!-Mg|M
zJQ?=sW?xm<b9Myc-9^in%L;kvb^tR@D<WiUX6UK5h}bZo)%IRtU0zsy_9-k`<KF}z
z$|n-d2fHPW8L~Kn-qRKMa<2KeAD?Hd?*QMlmWq9a^9B+FA&-JHqlOPo&(X<YlwW`K
z^oX67xdx$@jSb>Y-mF_Nc`D;<m)lluDT~g!PXReedk>`JgYfI?zS97taw&RuwVmcW
z0Z$D>in0;0Igb751HP7~gdI9m#V^(wHF_@}2}BW#6oi1DC6~{ie^gi~ZLte5NGa)@
z2VM%nnn3%;OKX7e;O2MkoDzR%S4lLQ?b706-l+KF=(rN`%RGbGt#XBxrLflE4czZ}
z5_f<zlX8@m?6xuKvK+#0=+K>4{=z$Uk(XyKg@B-a;?ly-UAuM^>MAbEt^Jd)r)<&k
zA~J21zu44Jf*r4SAJzj~qUZmn1q<Est0svrYMN<<Bxe?#6oYR${zc-9EjrbblDu_W
zv@QADoG`0O4SY}H;^R9AGSj|f0dtk?ohW@;4V_lD)soN-k$Rkcxo5`>urG}q^m=vl
zT&aqw&aRq}2X`m6{Qey=erV*m6ut`00-ceuj|kU-Ix?@QW!#TIY4$X1>sHqy;P%)3
zc51Gx;jn1M+zD!J?6flF>Y}2qBVx_qqqLfDxg15)K6L0;-cflzpBdc5Gv5O>D%>dV
z8EMk%09ecWL$~-_|L=W9h7`P}(vq_94l~2U71JP186`Ez8Qt9gFLQhjo)}Lejz~Bt
zEh(CI#oG5l`<HcnmZoBFAXp1U=F?}qo*s-Mz+z3;x<~z0WuaK}ms}tPRhAiRNY?YO
zygawacKPy8BrQgIgxouCzR!xgkitI!Fl(hK_3ZGKq$Gy(yIJhw?qsgnbGYlyqL2Yc
zxtEKkyqssyePvqf-@g&NzWqdJPDJwX2zT+~HFOcYeSP}}&%5*W=tlp{)2Hvh5`X$;
zcYmI_EG9R%9f*Fb<-!>=R0F&E|Is5G*6N$KQ2Y^O{Yndcyp4MwTy~xztvb<C3)D@}
z)YGf|b>GU2CZf|nuc{C0gL~>F-wjok@J|>vV#JM}_wfD_@~A#Y9NoHiuPiSQ|1@5l
zp_n`Okw+#~S60pWl4uT7a)0IqHO{4E^!)=FAHn6EBq=FbG5n6>2XbXjuKMbak934Q
zC`s)RgL?NJ7l=q0yN$wi@pPU^`$rfG?E@>8+E(r;i;mpleR*@eFhn(9y1@0#7j!rg
ziX$R+?AV7Y2?JNJ`o5fP)DE7W+kGAFL<<4E<gF_<$L!yK3?6~mq+L&BPf8scw^4oc
zm)EcR=_@^3pQusTQIb*43NKqwp=ix;48>O3DyyqUYQpc`TjjWT)gI~#U~>4(s<$G2
zlJ=Oa5S|!2Z}#j?qi<3-<VOQg#>K{-IC)Yze{|cQ-4&(&nio?XMDr<=!v=A?gFclF
zRNsN(r7ZR0$@I4b0pdJYILDxhDtQ0Cef6a&oz9FsZzV!vnVG~)l23Ufs2F1g`unH~
z2Z<s2;Rjm(Xe%vn|3%Z!t}}bdZH?dlF{@8$;0yoCQW*J19){pqhm<zrakS6w;<<DE
zf|Z609XcA0>+#2&@_N3a>+A$*0)Aa8#W(_9nc&tR&lVWZ4<EkhmZr?=>O6_gj#Glk
zH>SHPN_BBC>~`2OJ1gtf;<q2(y`v07@}ZJcm45#GYPfQy=0125{g<Kyz3sl*&o7hG
z@5XCy<l%N&yS?=#dUsv==4OPp@-mu=J#oGE1F$29!zJ<50+Wp`hJx$ey#qCV-(9m`
z1Fk-_MIlEyuCC6L9$qcVT5A3^EVAgeWJ9&|&$zEzH6_WZ&$vK6f){g2!#wPciuY0`
zxY}||`@p0AnHm%8^^R~EIBrxCZ>~2ixE{zL+!bcZR>_q_CNTlPM;0EBQv5~%MDr}<
zfe{mq2Rl7;nQ_z&XO!w7ophavc$2{&GH~<7xo`LGMa+78{-nDzS^f9H`4n0;)E{|0
zr^5Lxxj?S)>C#y{6rfNr&y<Lcijs@9zcosGmnv@qLmt?gLa)80+g9$0>!HL070*Tc
z1USvsCZA9(ia<UQQdWuqs>uC;Xz^;?GKU?zf;HzP2l;!b9l-%=8%385nP8IH0h#NK
zBrAY?lf%&?lPPGa!qJXs{Mxa$DjIbgtrMld={X@AExF1E4$O}EpdX>wqsK(8-DYFQ
z`lOyKSsML)(!@xbR4I$z8X7*??-;yLl=_G@iPFl+owY8e)SEB2Z6D7Z?2@<8Vm(~+
z;4x&@K9^Ez$H|LWOMP%7_28<?tS%P2fQpopsu-V}Oqqf4$AB}00PD2Jf0{l{kn%}I
zN{2|&>BNkAt9t4w*``kOd2r`vsgJ4b^t03#5f`RpnEnF%j&L$p?%A{R=L6o^uRzu(
zYCobZi%9&<y<Y0(rZs3#RMgWC@882ef@vuw`NX^b|0~v>zyp>L-aj}T<+2YcTW0~$
zPXFM&{_EG91Z%>$=EV0OH40S~gM3;rn5wE|xG0+xH1nNI+o%AzUmTZtv0JPZWu%;R
zM6<sfALJk-VtcErR}5TLW?{O%xnbeKBOzCY0N2Ob9}5k&PP0EBf_q%oNWIq;OHgJ^
z81l})?1jI{JcDe~{|x<ZvwwEkCr4?B(c9n?my|mFFL|~EQM%<>?xw-1Yv!T%klzM-
ztTf^W;(pgTy&SDR5*VDcx@JdCk_CnqKUeZ}WZe-Fo&OC=A33VKO?pY3Jo2gR@0)+*
z&=4N}VFT{acl65Mv-aj*zrKl<0=i8lXu5@|tT2p__&f<MmC50il&*2Nyyhc+j-~d1
z5<JtG2LPAoqZ7VlM3X+$9i7#L(WM8!1gZS*)9OPQa+zp9KSEtN7UKIFYm>r+T=n)-
zR>u+49G0|Bt;QluLJ()H%Bq~CB=bSAB?PF`a-VSt3Ws-D?W%xw=O)-Fy5s+5Jm4*o
zCPgV9a+PI`k%ukwqmEzB9X~FkpIftcjSeNmsH=ay-vrU>Gx*kT_e3j2f3>#dC0QP&
zT2<#Z{j)^dyjjo+h!5XP`PJcs#@}53BIKtzPfh~RJ$*W>X`YS}9R))|N>XC=Vw8P6
zE9+@NL5RIB$efBrcge^Z_v1$^r1h3NH4G<$>wo6^|DP7Xd}~*2N@G$MaAr<dZAu-+
zbLcp7@-A3aHwJL?ks7FH&YV5lW$s+mZ#-J!sGR+^m**GDtrQz?RoTTzg_L8vMMK8b
z_A1h;wXwCulOD`3yL@DIZU~<`r2Vo63a~l=`A|#I(8&ML!w>M;!Inw$fIU@Soq5sQ
z#81X`y;O4EK?94M?QV+}F>Nj{FHby0Mv4TtFLVD&vrci?EPPV8Zk4JFU{Dd}i9*!T
zZ;}??6Pd%cXN55kkd79_@JUJiul|ZM(C>~(PKOR3J~!r!<d$l1Dfbbvns0)j-GTK0
z_in9=hfLPQo&bkusZ}aIV!&!xkexy{?<fqOm!mkEigLaALCHNZMn<tGf=F<JId>*v
z*9nDgvRBr8-WC%qnyjIH-LgeONmUj-R9QF;wz2=Ag4c}L1Rt}K(2?B!B9fwS=jZx*
z2dP&b=6OSspWD%CtL1CL39Lsa1zpRUEdbFXY9kX|Y4kr9izlAt|MmAXy7~I*@m{ug
zLK4-`yzDd`K$*XjCN*|MsLTg=qQM6fqgG6mQdtW<?Q`m&73P20u<FxJ5YY0Xu|9!1
zEcGzd>iunNu6m{ys8KKZ5M|nNeveAOi9cI^`vL->f}^ZBts#y`#Y9|D?njuLGG%9>
z+iTg0NT{*ZT)c3h#n!8$(GE<jAQ1YqJn<>ta>84x(MU;Fyh-izO=T-J7-pGQbe*0H
z0W71gT6?eXOFR3&CauzV^de*3xkJTgKh3w`O>OPOlv2kdW)T`<X5~D6^fTeLP6OkJ
zbxcFX(d$>jSco@4oS!Fi&|i@RU}oCU6V7_5XJFt+iHk%jt$RNuX3izL$uci>u7-d@
zrr;knuF+R&4jkuc1_;DB*8}$v3yTc6uzxy7-tud|M+Eocw!*E^gOuENc6QEFn)mGX
z1FGagb3fC#J$sVj3DVPdtoYb~za-xXwB(-oZZM5!w{C5-Nm=L;n&(3uVsh9~%0~yB
z9``CCZ|}hA-ZdqiCn+}OHZ*wiVIZ}6aCOaKfk{4vixVeqMdWZiq0{FTQ%xbjmn~Uh
zqZ{LMqCy!vI-v9zD=qN<4x<?{p|)Tepx=p0Ne#aP%jd78#Gw1&NriN&CsB*yidD0<
zJoiRmhni0K^oTU5KR=kVS2I(CLXdw}TBsh;=l{k&HG`Ev=;?QsjqsP#c_X8IB~+`M
znB~&#oGy7Ida{~Wg8jJZ;Q58!j4g*O=1?8-*(XDkqDd()ACf6fj{x^*JJzY`D?ugq
zHog7fJGHgE)m}NBLZC)LAdEQwIuBtt&m0CST=9HAb@V04HZ!J7IXn6B(4+n{<ZoU~
z;a7S;3uJD_^Sll88e?WkQl0Sxv{Wu)GFA}K{1!+TR9_S47HEf<jZEQH96Ppc-&Ddi
z@IOw8=x}9D&9tzPXxdRzHJutr1S<|4`1+{c|MQlj7PNp#*?lupXgH*Vx|i4DWwPJV
zW&WE+$f;Cte2M3qO!new)0E4CZr{IuGrFj-kl%Ukc^%hkQt^)4d1q{m8Skh{U8OHR
z(K8yHyrF_CZz#tn;7r{3piQ<0FXsS7h23$d53CvSgEUg?I*j?Ph+QsCoEV-T62n6|
zj{t#bAdy-`RBwIjZOnt}C{$NWqKt_hxl~e+(K;g~HxbAq<HLX%4{rmE%jl#7jLUbN
zfb3wc%QpN|Zr_IAR<@W2G;QPJ5^tGQo!k#hfWiYtPrQV?L>CTI2DBa+Y@B{Vqgw~1
z`s3!B#y~)^_OP}2`>tq=3+!>SQZb)s({$pF<!-(wfD9C~mY(Wr<KE;AI>Hz4s6Jq4
z5%;uwd0|T2zsHoEAn<z&k8CH*sm|xCk5gK`0M8h{5gk|bAk{7YevG_Y)jl}9dpFvp
zfvU2tW~Hme3IO~Kd{fJ?4<-NFHEXOD-I2lmEBR}^S|0j;SlOjv@{S8B^RM;V55%Wf
z8cp}WuyB_yKBs2d*mM-c$ptItbiO12EvT!ra}WQk<UpVvyHp!1tBK23vNxm)r&v;u
z>eOjb5lm2`in3T+IA6w9z^O_!RM{N9I_W4>JI+Qk@N1;l_cue&iy5G>`Ci068G;~b
z1(=Lc4GN7;0>J>sFMfEl_io=-w1~m*p1Y_dWZ<w~)l4xbA>gsN|MuxN3-iuysv;s$
zygp4tU^NekI3;6MGw})Ew<xH&LE>a(^{nBO2vF9Q8ZL9@4DTVY<!&h()GhKfd8@m8
z$eSS1mfTVs^u!jQ9=<b`N_it)DM=OYF6AU4mo|ngDhO5evr%|`pPb+RY1l;B9IxO|
zEwesf`QTVQJEoz5A*;WM`(YPJdnskX3En<v{#Xpzf;HiVbS&@o$``G|o<_gf({M$S
zgEC?E^HRh>P>q>CW}>KbN`H@hBF6_hMK*NL-o0h(d_4yQjtipTqQAMdy=S>kpPil7
z;u-O9e@R(e7`!3v7;VPXZoTyPRUp08>irq@{<4)T9n&6jbwe~TiJ|$!r!2o)m&scx
zJa9_^6aw?A@$1KgOPHoi%$>bC8rJ({VAe7|JJMjGg%$E%y;^Yp-k9DG_-BCo!oRm{
z`u$Dk)WDL{U#WTFJM*7q*+io<Jz|#%^6_S6E>V#e1)r}~YuVa=^O+43P1P#1DE37p
zprUKeyffL^qa&>5o^z948Awm2tsJ2l+d}2`Z~C|MY;)xvJ!FJ~MqcVlCcD6Ykui(w
zVy=#bR41)sxnW$Y6VU+H0wcBi&Rebpl)&A)y?cw~<4RMVf%rAa#x3uvu;?;c&>P|_
zs@;GNAW!3cVsiq2++b!eTl|gYUGP3}0X<gYz!HribzN^ZOP>joivAx7!5_U<Sh%nV
zGuLv@Eas#gmrRcAQBr4wO>(XJAn}Op(g>BtaU_x&0_)<l3x@8V^LnD49k?fMJU1>j
zuBS1MD#Y)nU-0Bl;AA93AXwwSVf4f_RiI44;e+x=<fF-|YG$@oQ7Zr9l-;Vx5*XT|
zY0pvL4l>_Q<_#|G|NUp+W2)Z0d)o2ix0hUCds9XY71>NDrxNhe@!249bcduesC;bH
zhx;4q=vdPw;q=d#Bi;_&U2w_bYjOz>ze0oydH9Ru<n+*h4?&hN3rT!%&ZF@%Jr;Eo
zaB^zfrmri8uc>t&jBdo*s}<j-={AYA|AP8f>A@7#=^Sth)*PKty!b*lN?9cfSp>a!
z&tosFq7tHkVZ+vG-n_B{WmOqs+t0y;9LRYzvvwrC%2gVScic4h5p(blaZIDxO6t4J
z-d>(a$xL3+#yb_IAP6A-{3V7J-HMpYNV4qrAm`2IzqV65L|jZ6R-+&=!#3}GZeG(z
zzGerZWaM$AW{|ouUs(nqtm)?tWG;`GeoWnJ=LHKC*7R$Gf{)%P-#*6m@nX#<&%ET?
zmzc)I#1McNAqD&H7}(l8)yC!+m%seQsiP3}eQ@6mwakxrJZtvsUmqWb*`+GykAu9h
z9A8OH&iIL4!$MkMVKbV!&W;N2VCRRWNUc4+Gd$c}QB>^Z_(beVNO(n4IA_jt3>1Ll
zMEA8j?r_u?65gXuL)iSJ=|G|==KTMp!Rog%E2~JZHYpbaPKWIi17os(lQ@U=ZPaYl
zKOY|tU`B-L0r#a#$5Y7x&$3s<Vcd6GcVRPa8C(e>Hfjz+S4Kt#G>?R^-(bF-)co+E
z-rQ0_DD^CI#2rAYWA4J1(Lx^NZ?xb3LubpP{Ut$=0fvrFI{{=wopT{0Bk}Ra`TEzZ
z>~iLPp;l9rdY&6J-v25(CI+))f{|U50i5ynVE%Q}rkt6};D34BU>p=P4wELaAAr<*
zbKe<sOS1^`<W8A2*=BtdeqOPDm?$DAbbbF8d);w&`|P8$*j8Fn!t5;$R&GT!r@Zwu
zpAYHbM%^#w4&!fLeS$BhaIq!DIr>=(^Ilkj%UUW*U7v+ULbhv-%s=Zt2rSM$)da^h
zKR+K1x?v_{4D`vVJ&*iRozb9Q5Bxoi&u0BwTyWBm)jjpX(W!0H{(B$2?bKu{N*~b-
z1OynL_OR+XX0<!zE4RVZPG=4U^KVAd#MKc94NR$f8##XfW-F1K06pEM<3>0R$9@Sd
zjo-2kLe=$+qP;J7FylauJ6kdkvRNv=rB@@r)dpamAbNVt_yk+NaMKC*Ihh{f^b~`Z
z$Z)#a`mI?r9=Fbg3wIwm(nnQw>yJ>oNNPZco`p!XYv)LSA+|72!TgWM;`siohPZbx
z>fr~54w#gh)YO?rEFp;YkOK!cvVh8%4+bEcGD}<%gKian2H4&24GoGr($u<jE2jP}
zUIMay>*h^N$+7XPEH3uqfN^c51QEYIr<1B7uVLcH8y1AIW3QcQ4(6bZZ)@)G^vj|x
z8qZAs*0-JTyS#X%3cXuLtv5k|<NCJ5wYIiuj~YH0_Y+G+cYdAm*Qc+7+IMK)7J=Q8
zoyiPA=DUhXUsct$2uZG<Y9y{ZN?q51(8C~`TeY73XBfDH`4OvD1*5QEzkU@(=;dFo
z1X`=PrL($^xWy+}lW&ysqJ{C-*9Ni!WW!Uqp%m@d_s^a^E&)Y|LU*aUb*f|aI0~j?
z#;p1JQlm}pWNle*M8+j=I5x+Q9%XdZTq(%8jSDK$km@^Zq!MEGzTezU)|kN?)6XsK
z!QYQ-*Vn=UN(ijRP@d141+WOK+Z+EjycU<|A*lZnbZGznTW;r=kBM;lGV9;8?V$es
zNmm+m&BQj^nx67dE79PXixB}eL^1dj(&ZI5H|EY;I<$%2EA?nRckSE96Da(#{}Kjv
zbq|K<_x}E;-owr=k|lJ8)(pgXINYNIq<)~AO1e67<@C^ZR1aXEF`bLkk87|<VH)tU
zz;clS{g?D)2(MAlmdse&f2wPUQOA(sINR_RQQ%zL^mi_C4m;+oj0|=S^2^5uwbeaM
z?}cBug2I3szvf5k!7wNL&&ZTN{Q~6n0@h>RoO-t-4IDr&H+X85a{JpmOtDGh5U+Jy
ziWE+M0O5G8{px=v8;tML#XtP;J?V3=G$&_>!WAnfCpme~|Dat6U2=TJay|-Wkc5EX
z1L2V57C}E(+#~Zyh1TN+dIP8xV)mgN<rxNbWRaM#tFJt5VQdVOvHS7vA}b@qE2O2^
zD*F}GJ32B_xh6~$mOSt^%&2&~u8BSnPp+K5H=(N~gu!Z)TeYXo59d05|J@2RMvnzu
zDO$tm=?UAL`_@en{!X!Snz}zY<lei;%YS_whMEMIMH@v0%+DjmA&MevzL|9jq?1p^
zBhZ?7x-sA?C6<JM@NB0B%307uX~Aq$t22G~dDL(Lr;E}pyt}zvTAeE9LYf#s90)@u
zf=_qPO+(mIv+#F2d&k26`H`HavjKn3azI&+v>Uv)*eiZhng;V54bB*;rZGprjC#3(
zxGkVhpFYC$of~jC6!KWnVLg;ZYFz}zhpsoum91UdP;JrJ>nsIS_N{0>USFa5-MiFN
zr>?N0C&?)Q1cGWFKlXp)4K4RMTgj)s<5uB4zwc2+iOl|k*?)9V#Z+Q4uRr`;ig-e(
zDfZbFo+t+}GBq)oc47u_2WARj^RhyD<}wwdU)T)vvDrud9jfL232Ng25XxbbZnHyy
zrB*9P7~(#pWvGU?8J1g|(c?=-9Ju%6*DrL_-qyOv6_T7-hzD39n(AuM--V9z9WJe%
z`#9S2)N|2i?DAzYDZw0pNWL3zJJ@bXC5D>$ZfOiDyfz3vX<*p--)I5~PZSEqu`Bql
zPz7rBdS*{ilmrnB={pDjh?FF^i2f?VW<VmhUx7T1^55Ym9ga>s1V3XQH11|$VXDed
zgNrG}TDPLtZ`knIBa>6Ju+#6raq|k9Gk#({eYwi8^>5iSVEQ)SZZqNlrTlPRUETA}
zr%|}PKC}aH$XpQ>%r-P9{6Nr%6<<pQ)fui796Ln|Sx0zx;35mfLx<E79umaI2(B$n
zAKm_ItE{Vqru*o(p8Sle%a{RIs!Py0Mi~B~^8e8G#R${5Na&Zmb!^CiTiWI9(<T3b
zYZWh$hzbJl?1x0CqdL;3Ds7BF6Wc-}BJN<L41<UA2B{WsH<KkI%k?-)Q8pCs@qG2w
z)2Ba%i|x8;)-;pu$A1g?``Xtif<Nuo72Dm-vCoYcs3bhZnWDSq_T~k2i}sK6mignp
zC!J-Xd*e5e0L_f(gg17qhG`o@e7!SURqXbG>2$Zr&06^)vRA_JMI9roK0Q+Y_Ebep
zjhYnB%4o&*hacK0Bpdv@CG7dTq0WOLyu*%5N5m3!sD8mmN)#l1`8y>!HO&O4av!md
zVWu~0HzhZgaxZ(_KE!UI`-_xiq`2KqeXd<<OXMVE_^qK@K_bfYqvd}0{Wrw2q_FGG
zTiuJI3D=a=Y3GjZbxh;wUn)-6z1N^amU6J)nfKed{gY$-Ro8DtQL0dNQtC+umZ61v
zZ(>sx<ohAwzoS)WwOx#L$IIBL4hqD!Y>D4hs4QFq1%Y;7Hq_GjSq}P-x<nqDzL8Xf
z=oUE_E#Ibt+~3;w1C5N-1kIDFgYT}&Na00KI1nG9GT>XlRiM}I-4BTU+Z}hK_#wys
zYFBj$Uu9hGene^eVo8C#f)-J3%C(XuppT>0Y2;LNl#)VeHWtu<OV3pS4EYKPBUA&T
z7dr@E<HIaT7UzriXtlnJ3^^12V29cy@p4y`k`xeyg5$p#w-*^5XMw6R>Z@(z28<Ir
z?G04vHhTn8O#~_@%O^%c7af0lojDZl&7O%zsrTqP5zERm+i0&#{cuR;vbZ@`5I`ai
ztulj{7lz>&2Zc@)kuThb65dufMna$};x9Yc+i!hi=NA1#q`v<BWDG>}#eC4b**Ovn
zi~P^QcafW$t4k8Lf7ouOrKU;<R1n@>I(y^v$_IBmILxBeg|7n0%M_N%(wAJ0_zTau
z<r(KVuQ?1MY};mopBb7k-rT|dgQeQ$JChM3s;BRkT=%zSlwZBwk2Ti69sChy&jxIy
z&V05++_6K5OIG#~LBp;ZCaQurBaC&%VFi3t#28XjJDV4_bCYPw7+OQYg4Ev305E>a
z|MD31BJ;Fp>t5USNU}PFwBN$7Ut*-1*?`ckTg|^hf3Ybg*-4L8lZxNJ5#Br%CQeLS
zJLA2#vD1F3_u1bA%zE5o#45O`<>}iUU`LNV42RoJ8<&tEt`v$18T4jrji|6^ssv+*
zCee>?#3|A!AO$Xg*rZ(p+QWBNNeL<VIP?Zm7C;M+4^15U7FfXf*%|tOrMc55=CcA-
zLOA?o)q#rACHWOoyM~F5?#dBcV;=EQunLd~R!rKwl~}ud4;9g(DJ+Rlh%|r?unT@1
zA|n+{Roh=?1dCHoC&~}D76dkNDJ6Z$I)0pGkq3a$WG7NWvkJ-qX;?{s@brb2%n1Gh
z8p$5nNQbw$nac!cF0plUb=`a+1r(yLYTXT$*C5uj)8_(<OZeWcz9uU;Qx30){z0t)
zOJm$=!vL1nbfU0lcNpb9_Sm>QGU7pAX8uVKFdBHSeo48u&uHeC$Ne`?KUp<`jg0f?
ztgyO!aP72s!*P4CS6_~aacCutThX{AvY6e?{E86~zOdJVxc<|prlBEhy1`ym<OG61
z#aPqTmnhyzTzwMp>RWpsRHSe)9)@%29{e$TR5a?N`0CT|Y>8eA@SMg;;)t=2B{0|$
z&-{a5C_!9&cQd^1wnJ}+&16T%FE=MqhYyRjH=HIq3#h2X@XHI<S3M1vP1@df{C|@t
zpHlg-Z4a^o^r@h;ai5r;;!I&f1NhlR$RO^_OFTLWM}^Bviq*+^Y~BEK1QZ{>-hSGq
z@t|Dur|xMQnvpU;b^0r;s1MHZCilU^FhXiMN7yS)>{wef+-#z$nHcrHWWBhO8J4VL
z$T`kWT{A|JMyp=3sq;L43b67WuN!GHeLEnrv(7IHQ=Ft2C!BXRfQV)1y=@nwP$m^v
z7yy;AsEC5)@c#Ws^o%^;BpfyNuRBP?OyL83H`dGy3qWbfE%EX3J9j?BVFwdjQQ-M>
zUJ)A8KPkLfHi|5D_y#h(=+^eqXU|^2`%$dG5Q4`IRK3eDLXQOHU+T8+Da&#;0HRSr
z9*lTu!N39PqUsvX1EurfaU0P<s636p5Uq#0y5*KB{|2%qYAgSI-y0ZUJ%?CQqs)`h
zn<Y4^TY~f4x~0q1Avrl`Pmh7hA2=co(fC&*U3g{IGuT{NHgx{lABedqYH>=by0)SF
zA0>pSt0|bN;h4xUxSxJNlL|6y6D14w3Mt9Sl*<wVNoX}e<ic~Jpmn#)I?^+`?Tn1P
zjJBDuTPlu-xwusF-E(qs5J^ntky7L&MP0!Ujj>}&0!RTywAi4^n$Od`kjEeW?l_Jh
zdNU<LWsRDe_(!+S+b15A`Ceo$n@+L7r<0t%Xs$LrWK|U{zEYbpKDcE8e!FODc#UkI
z{Y0xul}!q#=Haogf|TQ$@r3#J$qtn*as+;ia{Ng{L%z&|$tO-$*YHOm*Yb+^N+8nK
z2_bDy6o(8+CoAL?0kcn@Ov}no_NHw^MliZ`P_E-EN&i=SEfud`yH*;rI36j`-Qr?t
zfyGyga@Uft8`{{NTYK6%q!7cI(>%qscb_<2&R8{f)224|HzcZ$dK$h73lmMvyow4F
zeSNz(Hklb2-dNZ21SsU*HU`j>V>@HI;U^BMA93p7gZ}*bYN${DyETo0fq`5lQQt5s
z8CfuI83}|qpcSk{ViG;O5#i&MC7NpCzzJ6CJg!IY-gW;@Ph|T0{W25{@XuoLM61Tq
zZ?YoP3MJL&*ROX2YP+4|kG-<%4}WfGSjUT_qG>&Mp{vNv(D5Sod5-Fui-GOk0Eaj~
zPA-279)j|O$vdN-Q>jqT`S9{EJ=k%izwheR%F4>sHDK0E#T67$1;J0G=YE5#Pi*&x
zv2Q40KFed}N~Tsin*#Ea6Y*!3>nj&}gR;QLp--@v8KUjY^;bS%mw#j}A-GguUCJW7
z`snU&L(?9QE!;&v<^T2Nd?FK#S9#;m1=njCi@tY{2~Yo0m+U^ron!=KCfj?D+1QfF
z_l_#0>Fd9HBEyS&>g4+k^Ebuww5pk7E3wcmn>u*&l~fKEmp%Vd5|X&`kyhsuQ%_NT
zQrB4~d1IzSeZS2XE3zkDeRMp(-hUt)eZx4I?b?7Y-~^PSu7Q4tTU2GGpY2MV#BDDK
zI!7PC<EE6&Qprw7_qu3PsoUtJy@ct$34k93eIY4Ux-zI~J@m=PaX}=Bb3LfsLpKe6
zw8Ts5^#aAd_4=l9hYz!VI^xQ7<~u+@2@<^W3hS?xx`{2~(qaE$0|s<j>57+`h-`>s
ziO6tTn(`wC&A;pyVXqr?BE0=D9bMDcR|$9Am$<uQZ@vWXe&+Wv+d}?N3ovsgs%Q#o
zbdajDslL)q6}F2O^}pY5E}k)rL9@=046^Wuk=b*pjvZ0D)$V?9^XAd%75i|_-EF0{
zqwjb|jSC3YWIo=;jOo)uCVkB~^Bz=$9+w}?VGgy+0e?JS;CEAjJn_0YiqFxzt&q@t
zGN`ob(JWR@p;Sfu@?tl0KT}VXVbhr1oGm96{67^y!P+^D?6p4Ib;rG^U3$>3ig8Fq
z2Y18<t|^8s+^brLhHL)%`}O?-SKBLh&#rKHZ^GFHw$@K-e?FU2Rv{nO51X`~xDRCk
zJg;u|(Gm_GT8JA5u9=M>5cqV@?%l&_1WgY2>De=4`Imp^lWT~?IweJP#MCjKAecKi
zFwn9H)zm?IYM6Qk{0W4N4X&o#hhE_yqkPKq&2<-BZjymGW&QUrGIK0nPo4Tq#A4K%
zgD;Lu9?R5Fg&Wh2nKOH~c;aooRyfdzd3$H<*x|rbFl51jdm5vbmr?9pyLvV8*n2*I
zNx-x}<}22eNcC;*VT1$<U?J}TIsrm6TtBIgBVf@989$d-r1u4L@I3$@xGRaEnJzB9
zusu;J1(8!eLF%iOBOw08Tas9io0#Z|^2DQkF3UVWhVI0_pQ=KpudS68U@fD)mi2##
z!=zT-G(<CiqosY33dIMiM_ApMH5ysI7x$ocCvu(R*1Yhr6Wyk@t?=_YqJ%hITq!lw
zIis5Jt?_EI|1L5zl6OL=_J9EeZ`@?;4M&Y0O&6Scvp^s4hVQ|Ff;b?&Oqf1_;}6l<
zLfc7YfUT1K`50Ol`oYff@>_?0?KWr@iX*nyV81bB+_>w^&)W3WF`XpjQA#q1bn@)k
z@qV=><SVR=j-NWky*Gx}!TK5{*VC>S6|lym!KX1<l=7@N|1~gU*T6s+Ihq~6ZNx)j
zFDfVU4*x+AjN&(9Rjn3P_-=K)XWI4<o0O#G9r@M`5<G};FbIr;8IP@W6m9nI-W4^l
zVxUo<k}MAXRqAyS%+ns1W**bM#N02_BjlwcX6qjDe1<=KyZVx+(UqK>X0AZPsog9~
z`}=3D-+G`hVKZzaTm<lj;aqGWovhRRMcUxYc#c@&aXAt0KOVN(Ubn!}cA92;uvyA0
zcUulFVQLjNskNp3J&U(lO>}SoIz9exs6B}dIVNok#)}H=J8z*KB2I2>+a#|3#(KHg
zdD5h1NSHI~XOKxzwgg}kT)u9?c{IRcSQIvMe6X&o2JM3>0>Jx^F2>wkT%rI)-v8s6
zVBEf_7-`E^t@;Y^C@m!g0wsPk5(Wp9eulBpargHw>kEcHmlXuia2c1zbBvv`6@*<!
zj<hlD-fT?U2SB(FOnBC|2l0%F8unuGAed5RQU`%{iaxA*5w%=dFI_u~w_!$DuafQg
zJlNsU$H82+#KWd|<LTdungDW?mE}(eEKh0R7T;X34r36G1Q2%@1%>Vx@`0QGaBmo_
zz;xx+ye`|!HG3F)yAlQL?e7!kUh`+Y;E7s#d+z@xQjOE5-JEjPA;WnvDX*!BoRs3T
zf-7C;(>ne}ZeFzi%s|62W7hEi8+;h+U?k+psb>_QS8D6$PGRN;utgBkI$~|$MV{7_
zIWu{$RrUAZPO>YRW&#@MAYfuhFU#ej!sshnYTR(_T)1Wz0E(1_r<WItb$Q3%fibA9
z5h?K_Wr0?0i%M*ajMIN86aKsGw~T8^%|+b-5s1)-o`X15eE071qQyY_Ld{a*16<QV
z;3o#qckbL-HMHVDtQmu&6mQ*CRYmjonKP4as8cQl{%u+FWT;i)aqtO+MH@UG9n#~z
zq7U%>uD0)2Wv87*F5)&}4&vy6CjwY*D{Q6<cR9-(Xon$9NfW|unsqT!uvL^wYYCQq
zzn5DcG4*HB*uH<u>1`DjIYZ1ExmPwmIcS%f{A(w9Hc*~f=+Wxu9qjCuf9^EVy-m8Y
z)Zm%)V73!@?TXNJ6bpIm0-Hw_=wJGue*yqD9EhFwda-#G1VRm)7MYEMB?A<Os1BG-
z5D$@wYXgk&G;+a;<$oI)XsA4mfaS+PU~-=w9MU)bJmCul%nD6G0Mv!@;uu2eJcu31
zo+QQh=A#ClA?L+>k3t2L=wQOKJNM=&|0{p*xS!7-%FNZp#_k{&tVXaopgb<&m2PJ@
zxbrA`P-frA^{^3=g5f~tghPi0#~nVBkdR9z8op-}wMWj)4F(6~y3O`5jPv;5tEZAf
z={xK1Bux7BtVX|L6nd~)lwB$;am2b!u*q1*#N45%b{O~i9}R~~X+)cT|NaxoS}`3Y
zbw>`r40fBL->+8zEMZdKQRw(XV|?X@<uyic)(r2rja-$SEpiIJ!(5+C=p01@Dwml8
z?T@a*eZ+6l<oqTZFHt*;NpXMmE#?_ZANGN}yX325c((mDPV2~fDRsD|K#fk}E09$U
zYjPtQ_iC}umcg3R-=Bq&+js6v7`c?iCoCua&0ixkQhbRF-P(^WV^KK;n8jf|>FS!u
zB1>+VIJVXFkrlQb1(~j0$1%{#YoPGvmLA$9F;=a<LzYbFcJ)zrafo>KY%L$pCwFt2
zziOYI?8%ILJQ&5U3p=7Yg1(*B^M6!S^yUCp1z<!RVYS@AVm)_LCYa`MYSU~g++HJ>
z$hY)AaPJ!a6@Jr4FWp7jhV}}{SM(Yvo9n^%qXx6=BrTcGSic}R_@_1g_)!?!4z0<2
zC>bc_ZZnWI;s!v~j8)x1BH__M&b(jj$XfNP>&RhL^;WNHnbCG1ap{g@nW!N>%9#jT
zo{?y6nq2<;`Bc5VV5wEjpizw6AdP=oNTQiDct8K~YEK%{jX@HJD?u3=-hbRHWMKif
ze)g1u!}_UC0R1l>s(odsh?H#cS3TqAwle?K9okkw0BSDyv3s+`Ra``P3!-QSCWUU&
zGKmX)5p5L+Ki40mkFAMY_}_W_m|bg+we1&H&=cLQU=CAkv?qSliv1xW6R^Ki)l#gP
z+j=<fmKQs(FRS<NeL5}eKth7TfL9jCf=W*oQ39qs*;TBe#na-;SZkatDGsk++f<$3
z!EmBKWvA}h{fJduhcRPcdp0pk)al1aU*UzUSl#z0exG$?h7KRDR6Le$ZsnOB>t@U-
zgZGR#69-4PJEkpi833Asn4f1hYK#QP30+m<cua8TxVRK_7F{|u!j`9G4Ear3aaEj=
zsX^~!Dj`rvI7FU=UK#Z~aWo5@Ov4!PDEpk4oGd99ZN09o^%93Oru~<wjCdw4Qm3=;
zIW91#Hil*6z#Ln$MmtWKB1)OQjs{3<+N6@;`J^jPtVG!b=OS-;hoAGm&O@d@2h_t(
zH)fLdBfQ*AvOli))7<n?rD`5{z1S~{uFsqSvS{&|ke0(Dd0}i^;$c{OiX}l*8%Rw!
zLu7nElWV@CN-DdYmZ`YBW(CTa%a>b-%Xo4TtQr0I-wexWHOLr`rdlo{oi#rmE!#L;
z2=NBbhC)xD)SZPR3hKW^ea=Mj=QdSksZ(sTVt@ZJw;ZSWVbo5XUpQq3LYrN?cW*gX
zR#9<zOfOc~JabRc?z5Bbcr<g%r5EZrQ8ZygmQ*-%r28l<OK!*r|Je6g)l|sKqm$D2
zy+5*G{`?)+yu<;le;V6h&2UCEKP9jlXxqI(em<hfpRH|_e<g@FwkO|k7ybJmUOBK6
z7xxXwpu6O=6`U8L5yM}Z@6XHv^LIBpg@bv3*&#WN<#Gk43oA00)fyYQ<J+JdoR1FW
z+N#R5M`2<u*3X3`Jzk#EYm@88ok;&}7XMc44fGd?8hjYj^O>3Uc6Pz{PDu@9A@Qr+
zc2Y8BqU@DGOfp3{0#byKPsxijK%c4)c8W<(BF#bi{QCSt5kKG!4<3Ahs$}atV>~=y
zQjPhk?%KEM2!NoUFi9|3j^T6!slEVObnC@P{n#JNVf@l``4~O>j7bJYMn5S!8yb;N
zB`(i0*Mt>b@$KTUuCfA?jTr{g=|O@Zu4NzF`s3r{PCsgS?AK}v6ZI&^4r2O3sWaE!
zKGba8HyrKGaD!=j=#bT7f-AKNs>z|-x#Y+<(3p?Gwc+zn>bX<ki<}X<kgR20lK}vu
z!8Cc86bR|-+GsGSD#%N5`}X~yW@P%zcoTMW3JN=UIW$wBYikXEebXJkm54_dji48)
zPgYxdJW;Y&FVn?$_eMWkPPtxDS^0-c?-6+sG)o;|fO%_b9BNe}S49*1FJ~TqngReG
z(5Mx7=<s1G>UaEwq}_9CFMB*L^r573&XDU#t;%YlKu_ks-unyozehwGF31)ymTY_D
ze80a>3u+o&|7ulDM{UsI%r|5ShQo&O=&YRdFkL87S-f&(*G0)(CYqwg@82sC$_uW*
zE_;roVDrl)<2D3yv9Uc_seJF=gtRY|4cvichH=-fZTxd{pE$C6=si|-9<56l?Dz0U
zd-3@haN6A1{R596K+DJ&=9zicnur2~`g-a>{8DGl${JJT>dRcRpLXFj*4-Z2P@RU5
z@(N0rXv3m2v?g7;c*Sh^$ZtKq!o<KJ8W+h?eaD%a_Ih?I3jObqvAu-q`uZ1cPuJ6k
zn;qcVg>BnLN@b?>LjU?zpFe+w8LK#EkPCX|p}hg6Eb-B+epNH?HridD_nxny4<BV{
zh(+O9(Z#c^FJ8bU&42k6=lZ$mZi^1{T=;v$T~I1M_SDc=&Z6h-pMCxM{MFcaRY$I>
z74J!Ws%is8i_MlGof&lu7Klm)IwBg_u*Ru5X}wJS2P-N20k0*#b)h)sw(-Rl28w@^
zEXnB@qFzdAo#=A_ZX}>BdHOVcG;$@vBXN6$hKakUXDh==IVOG$tHQ=sGtFAnasY@!
zLZCdM8Gf#G_JETfdIvoF8o9NVP5Ml$91QBJkeL3f)@Ty4-@OA?#0;*dhM+Op1VBdn
zy(XiM$gv97YAcsBHx@ZW1<jx%VSFys@-^?)yw~(lYtdHX-B+H=iod70po><lxPq~Z
z?#R^2n|yZqYy>vXkIkmj%ir$i{OQG)m<iytB9W-oL4Zq=`Fm^4`XVK6#*B0~UP}2c
zFWZw@Z3{1NmU_(-rf4pG{P+s}4mPA%^NOx@ii*2pW7nYrfdR<>WPe9=$!EL+!kGI&
zO$}na&0ZG|PCaAe9I{|_-WG&-^|C)=jq*QyrwVGTDN<lVFbyoG9AYm<Q3g%NQ|88t
z#$3u~4MQzcJ7(;BZFF^`3dVY2EA^NS$-J-(4;!Z)ll0!o^<6-hMY#rc39v;Zz=A-d
zsdB}#W#r2%mo7!LofN}&mri5GTp|J^tO7emcIp521yn8(^6ZHdmtYJ}o4F4{RJDe+
z(tkbcL+-dU>@UhA(0Bhh8wYp_5^=|UM5yJ*!~~o!H&S{WAM}kbk@wDQ2fdcpj$=|$
zh2R_>kKbBT(880!;|zP%%hq>oFh>3yWa@Mg8vXV~5b5i}TenaJn|n26C1V|0U0t#=
zekq=;{4850+HY_rIdjQDt5Ct4Yf|rTmVSQxlT6*D&HwciTgUXRC11>i&HoTNfBC<d
za;xp=y>P=Hw6rf?OdUQ~1R6Jo)9mjoTJi2xWk-`2BPN7<_t_C0y<|izY#?X^h$zk`
zRM^P4L``)_enw`dXN>Q$C~-unumcr2Y}ahDRo>X5ttbQNBO%ZzIOz6nTLPR=b%*Cp
zcZp0)^!-D`=)Fe}diIQsKJ5ge@*-$Bd!#atju<;uW5{il;`za`gB{)*5+#9=il0Bf
zw69MRE}|TT|6Q*Ct_RL(>P%pB_!128N(qhS&*MWO=LktGDf{u*82r=2t(4csfsDnJ
z?$ds9esjx@73?@$pJ0^mkWFdV0)LAeDv+ti-~XXwdB#}Hc_;y1PxtY4)OpXUEzGEP
zWfc_Y*9m0{p<-)Q#38=NaS)4aeWN1PAJ^ZGVk2hKjbeum@u}NagU3^!nR_klO;c&(
zyV3g9<sV1h^5v1Yb3^gBSb=cQ!C+7Ei_W45<lH&b$eVn-x3~Nl)Ut!6U*+NX&!6|4
zFI6$*>-Nw>w<Mh`GFZm-r!Qar_vx8e2XuAbi-Qo6fWE=ZV@Qa>g^cO6*toc?QO-}g
zvDZx0f>|g+xKSK>U#g<*1BPJQ5{y8~!sN>?&n{?sx=be0Cn??Kc>T|#Ws`@C1IO-k
zlSYJ<+lbgVr-r=t)#MF&)V{-e8z~f<vH20N01ZgY;!roy)>6>a(n`KG00Y49U`@q;
zvnX^%j`XE>=iE<NTg#-|s_DNU^DIbmta_+8kbM8c_Z7>RW7NwS(JbQ~lm%Jigy$tC
zu8S9^CMG&LJC{eV4b#@qNq0V{Wo+Ez?=u#AXZ=~8tD=`6DL7wRy|`%lO@-dZ!=N;&
zZZIU)yiGe%soit`!Gj(P7oMa1_<7Crz&*g@OW+0EJkgt2^EP_77cB>9=c#MvIy+~6
zeX;PQH-8Ok_MG)70*=??HN-wVTdUmF*To;(qQ4p@NCe$PiQ}pVJnTgivg$L=G9Et{
zXb!mN_>52ddQuL3LnS_f*jDoJS+=srCM9Cde?bF=`Lp5(cyqMdO>yoPQapL%l8Pql
z<vNHXaf0Co0iZ{Ka;41#c}7RTgsB?+c))1!h`IMahDjoMX9HPjF5Fy?!06idhU3S#
z10&)$UG8Vc4Fb7S`>@kt48O7Q*RSpuiV%CG){buhG@&U6%TZmE4@CoH(x`$rhsZS{
zt&E!9?IHCXuz8fPYC%pw)Y-yKGH~Y{X0KwG-_Lf%#mPQ2NFE`hA@P1oRFEUWzO>uE
zz(Oe7e^Z;6n=ZuY*UkN?Q^wjGJR>$7RUOO5CO0BH-1)qFXLY^&5esi@RcpW8+}!+g
zO|P4cKz*WC@K|Zw)k0zv7dt<dcQvZEWu!+*;`^t=QLzlkDCwg+$Nbu5Km**>lp}7s
z4!coMpaZ~9fyovUD#au0YNM0srLNAELMf1RUR)9p@7FgX>HPU`g+ux0OGgX^HOrKg
z-=Ue+P0GUc`ZhhrT=$=k`2Ca-_OQ@UY6oPx$!nZu=wGC6Y-prQo!i=hV?`hIs71k@
z{K(a^2-+Iot!@DDt%y9q8nQed{L`yKyDb<Fmkc6o)_vkVms#}B5Qw6!S6hE55qo=k
zR(7bTPdYGyw)HaoFTOk{G`_a25?4A3!kRTdUY-8ljkm9?{OG!`=xxK*v)!RCuI%2{
zLe<@M!xZ`>s<2tD-KwWrY%iM;Wo2u-XwXc|j9Pwu?W?T(roO(5;CkWtn+uPDqHzgD
ze;;4GG9j3?^`D?#n3q#{m-E^X2YSyu&7nhIxs59WL<6D8ggGu<K=Y_C4?#g_dH#IP
za$A>eMKz3rNeIKdtIa*eQ8Dnap%#gs&+q<d84WMp?f4?l%U=XD9PsP8z}Q5o-RaWX
z*vYW?FNf(;Zuy0!3MY>*BQR3|;z)69{~2r1IimU|Z-3!UH$p%3H`EyHG)PH9{oIcm
z8Pp10p3optlU;g_kSaE$>a8VJFs6ftH)ZCV7j<Yb$@gI1h_bIA)Ys7=GV%hFO!pvH
zqXe2T)F8sjgz>|<YKtiwbrp6Myk^zbWHQ|Y3=(ojsff(GtE=YvTV3Sj3e+AJCyZ|=
z&jQ^w3>LLYYD2+y_mS@3?3GS6KP+|nOg{-oR*O+P{p-rNypLkgoE49V8p8PS&^_A9
z1C5QHTT_8EsvjsAty!f*h%>@3VTtjp%WLGkR6f_$9Rk5c1;N9R4SnS9r<Tgtj@YTi
zxWq>MC1mC0<>6e>TmvmxVyqWx3ClBw*UM)<{bA+GXVJm46bjzYPZxJr!%d~1_&Vg<
zstYN+GH+kvSHS!GJyD#I;p9Rsn-`#I{&aKNQU90&2ReNoN(b`^4^}Fyk`nZV7neWL
zuWeEQK*Al3Kc_a>x#VkijolaM6&mh>dwkz?4ip@PJa9Q;pn3Mz8Wk@|EIB_G%rEy}
zPR1(Fr{^v>Jyk90BIROuxHvK-WpQ(ZpU8f8$v5h$*zKRVi`w(%G3&(oGu{LKFd5M!
zSW?u!Vil^tPyau~9>?Y+^}T_PeeU;uSoZa4{T5};dM=jWpe_XKV_Lv-4TFCs(62@(
z9!<^{C-_kS%7(6{!p&Omqg}`cJi<prfWil&H9(UJ@L_Ch%%6!`*A4uYv~)RPBwMb&
zEyHkw#`Z?%ffHiw4~aH-B&Lv0o#Nu+8lv8R`C_o7D`<O3Boj_~9sCB#Epxpo+shY%
z{4h(02ipuAHA)1+nr`*%)hlXQH))r(i5nZKHK2UL3Pg1|wv+yf|K&bTEo-0Y&o*oe
zjttrWeo9NvVMl<%i{_|bzkZxjQmOLSQTs8{QBsnaz6RgGUVZuiVSKHt6J-Lk^k0N8
zrL6VXT1}C<FgNdTCfI%8#*GUH-bR;F`0)9|hYJ7ob|lSYj0##7<Bt)}(|=3v+&&C`
zIiUgPqOw0yljm90doUAUQU8s<UCX{i=_aL7m$Ht4293>MRh2WfHKD`9;@U9CK+U$_
zyQn}aD=H#yDKQ-5T_HKmL|jmt7@ri9dRa=GNM*dHqmZ{F@wf(Wm+#>;xbxGENrua8
z`+=r<?AZz*);#2e2r!N9yu&7>(_J-%62+;evXkuWZv5PG%t?=m!R?HSqN0$1P;{tX
z%g`3ljIm&S4_@l&RZ|E%iRaHNuZ(6t$c=ZaKNQD*_&0E~34u?*<cs4zUft+@X`Z2(
z_yV>KAa-fD%bmX5&BzIh0mduEj!J#$RMcGsL+L3-FMD*9u}2t4MreO?SAqHYDfe)2
zc0PE}?+UM7Y{u5DyO@)`dH&FnLy280rc!__%FvW2PMAcUfAyvmm?c{P%0>n!lq26g
zH${wT6(4<pR&(qWdVE{<WxM1KWa1m52A;=RkCf)IZ0?|Xy|99Q!JBUdZACsLDbg|#
zB|ox0GfmD1Ac|(>$hmw*2|gNzwNs}sG(tUl^r%)H$#ZwL@QpbD5=042UQNGKnttk3
z$ewAt{(ZLc^6~)2L_PMo++Sxfc(5pi5d^!On2FkYr?<8B!~H3E>Qd4PBkFa}f`}9p
z(_TZmc<c^}(4YY7iE~Y;B_&pLTwDb$H(i_fjB9Jzp=XZa2<FMrxzg%K%+`D=d%uAG
zDzD+_@s&q=VBEqc#Rh^lz#emwhDWJu|Ipq|Nc)VOj&T!av%o*PtEl**yYu|Dla`4G
z?&9oxKW^0I)}QGbK_3~b$~bI-vGK`s=1ESjWpm6}EWv2C{i8)ZX)7zMnBS_T<qu08
z?d`2Tdy&e|<pR$kW?tj#iy3~z@oPZzBI!H#kXMX2mY!XUx)91+%<cmQq-}h*_t6>@
zDNGbf2;zjp*zTQiJ}o(R^0^vxS|kMW&(BpQC3Jf;^~T`5UltdI{GEUtp=1n!ViMTg
z^;M+v|7iidW0uMC|100sn;>#&wT}L+Ud#lvMLzt%*FsxHH8?l3k0%fLky*+yB^jxV
z&F;h@_KV{lFmvV)@+GApO{q+9UPDO0@}S*xy>GkIRofQC9FJRP3QQ*7k=+T5g5;OG
z`}SPP?V!rY_c~xVc`_OkwnJpBH3ymmpjz0JJ%-p(-S<&k@AZ4}M`5N9>Z;BaTkh-E
z+mfxL7zT|h?C0DZxXI;VC#oa9c;2xJ!XZZhHbYB>+!Q=hpHfTlamS^gdi+;NUrXPa
zpQg2q0&1A5r^>$iICcGj=>zxz*ra8?@}kGV_=0a*;dhbLoArJS!Hn6fP6HH_d-an0
z{(){gQiB2XMZTs19=6PdVL19IBD7a~$N71D0z}*wp4Z|2Vvl_oxdwRmu;DV%<^!(t
zI<rueiYZgJDUWGrr0t-FtFB=UGyCiFV{x)g`MpY15<ip|YEj7UedoEGYPdIJyBquA
zz)yl6L>XFQyCeDJ$;cgp!h<!%WJalAwD5+M;pil5UM`vx?+~2CZrxf!tY`a^*T&B~
z!TjiRD5&sBOW!wCLa;w#HfG?!&T0Q0OHA~xD<4kJNSn09d~-CwVDbnh2VBFRu@@TI
zOT=H7qlzkAvHrGgeK&m2csAqP-@i$}^tCh#u`(K@=Vl=}ZI-ojH@B}{K7TsttX6m?
z{LB@7wRuygI_=hUwK!TKy*D~s(;==*N=8T9J7N6$>|d8&NoncylX(9(?5sO_y4Sid
zeV4vJ^zc#^GnLd=Q&__~;JmSnkjL?_DEkgTIgj2TO<x8*=>i&+YyS0d7cZ_U+G#=_
z1dVRc=q(dr6>P2i+CaIhy>?A7Hqhu!(bJk7G->w@c(?0$?YZ9`o}Q;U4E&401fUD(
zvS+w&n`0nsM!JBbg7m8-_dmKOq0G@=pYZ$P_;x0|_<?ge`hI-*ENvFGe|x+=&(T6v
z{|asv-3RvVZG7jwC!j;U=aVSrT0~ci>0zqu2A(??964*ctxuZ6x~o6wx3tt&S~aaZ
zXs_Fv+s+b0xe7I_UMQjpSVR)$GL?iIU{E||%XbzEJ&lV~@AD<)`-*Y;0|q?H@9A8`
zQXhl}!Dq!KStG-<v)5AYqUxocOGhI+WXRvjRk;W$s=K{Mt7bYP2OMLZgx1rfd6^zc
zU)CeGeR^U{F+4`4rvhR)7+hOf#q*^~V^<ng?0tZEjp~8%8n)SeD?2gW)VPew3_q{Z
z6Bqb9!1UR_r{Z*plgh8(e(~N1`ngZ2ZfOheV>54FE8!8i`8qNN&i8>KF1j93itPnZ
zbK%47tPq^M##zkv`x?a_*;OaRco*Q3xNX6vGL|O*S5FViv-WLnA#0T=Dc^h8*4)@(
z|Au#%k#yFTqq}_bI~u~e!I>Vx?DsUr7g1bZpEY&rmX<@pW@u!8+oHr8K64@92ppJ>
zPU`feNmr9EUhHNwEFv=U%|jiHh0J-;&IPF3uf;3k<;4{T7^MZ5TB4!+W#Z(?1;Gc*
zh7O5VoQoSimX->s`9R;5r}KjqEeSmI=TRS)|I(7WFkYQ0fYG|p(+DJ87a;}!cv>2!
zZs@TqE$su(Y|J%Re}5zUyJ)RozN7_hU0s|aubntCY1*_s$BQI{#8Ue5g<fj6mhYsd
z0ii_xwLT!g&uP`rAw!CxS#WGZGx1_=G7TumVg2bcYL7qS&KMzQ&1bc?9um~ws93_{
z><-~5%Cf%mqcBdbA~rpE&~@ATHM=O0Fpgh)x9&{R@#EnuQ~vG}ZR3$Qfd8T8rf7V>
zZjHUv_|5wUT<*MWA-<;?3zpP$4s1$+?&gneXl))IIQjI1&IPunritO<w|S$lKNDRn
zm(2oWB-t4K!MlYvUWv~bQ0^$YE%HPM&$)4_9DS@QM%8rbh~@lC&`<RQeR=cdO;>}T
z@JCcw_^yDn10L_Je@t*J`Pf7==^r@o5ktZtQ1lc|UWsGDS*cq_fN%C#K4Z?Df&KdV
z)K`o;e#{0ImhGEwNx@Eu2UX+?Se6zsMf6X}%FNt4)z?y#O2>CKPJZYMOi#y8jF^9I
zy=asXY}BcAf@=?dVkf-pf0tH=Zg_}69@W>?xdCexKL(HgtjY4WPc!!FDsc_<D(U}5
zj}H6RQ%g(h=2&av3;bQ}13uz1v-EVV?8HPqdB%*rkOor~ByPA4145S&Zps+Y)*atG
zbMD+o+n-sszP=Z7bH(wg>Z<Mxl$W!8mSrdbk-T~=#wg#9)Jt5#0Pp3?aco<FgnZR!
z*PcC`jo`B&>fshAh0T20lmDB=nfxs44q1cta3l3Gb{6I%ft?>O$(Tn_CS1ZrMO=&t
zX9M~=$bey!&t{9QD$vk_u#Q#<1BMUxfxsjeqVQVvb-<3=*#IVlq#He7z#lmtG9HdJ
z>WjiX+wrWY5LIjKLAp0|bzGFb8^w~jz}Qe&JU_OQKf@ah*eFb77S-MTEejROb#3UV
z*&vDpVv$Q>y(UO5`JC|sU>qHTWvoEP)A@eF_=KD#Y{KN`aMh?;T_^kaG*Z?G0xH8#
zma!}Nu;g~`Ft*)f(3<$7hIwdf5PKcLg!5(XmoIGWx<DauA@wp41Zj>%+{|M5J?&^j
zEylb-()ce!np;|oMvp!_|H`bAZJJVf6cOOkr_Y@E59autn{D_wW+T5rFK`(i)cCCH
z)_iXg={_W+KrC7R{e<sPdBID0Sz5aLcwNXsXH)`0HR#{XTSQvO-k_lNpZZ(3ZrgT#
z($Y1%{&~DnRk<GP@5#insDbglTFE<>5D-7qXsMP+gN+k_{i)_#%M^P^7tN99C`(C6
zIh`o`lF-6^Kq*?^W;}KhajMhecS;+Tdo*ckhaOQ3ww^TUBUp)9-~Br`?Uke1MD51g
z@$Vj882TU5($6(D9a0&rNEvU<JU{z-i}M*c*I>$Ja_1rP1>q}l19l+E*F`0nY-0ly
zF*xe!driPLe$PkCE~n{D5h_8fvgc4y&Tce1jIy$ZnNdhZ@uX>76*z87t4GkWoE*_!
z8OhVxH(|BeO#{cv`pzJ=+NfG#w>Kc>4leW6t6do`aFOgV!-P8m?73oT=qtKJM!&*a
zeo)mrU1%gc)oaXTYy7b;NX(y{_-<LPKPdhybNYVBhWFUjcv))gUZ3N-`qywnL+z*2
zCp3+Ab8`~}I+m&x)BCrW1%69uzi{vN1oV-jSng$-_gOz;QO<N?_WTT23v+XGKtuFA
z8#>*%q|t`PL6v<oiQ;Axw{^dw6<LPKOK_`u#HH*Ze+#(Fb(nWNYp&{F<+4&*V)XSD
z!M*?iqQttRj)c%rz6Z2T-pGsk;~0G|4Q<lS|8{R^ZplYK3zsd5J(w^D%Ap4o#U8hM
zYARmc^5IC&Z`0@JVOO7}zZTqlE&*uya{XVsLxO|7M?cOt>2NsMK{i$n3BfSgOo!Lk
zuHVgVZ`;7YqlHW97|i;&oOJ)?OCh|l^#z@Tw3nQvYt#APwNrNQ-@inq>mm4FanF(Z
zk#S7S%7&5>(M~;=o_Q%j($~}E2KNIX&mpBWV9%B^7uZIGc2^S9YkNZ-B3um4lI%B;
z+Xo$m1!)ZziaCCZ_>kJ^GWT~XcV@hH_e7qaAgJ%yUnFr|l{Uf~Jq*x0W1*feE_Zuo
zk9|tRw{OX%9`i>gBI6}H%{O);tFx1R!LkQPyJenu>5U(sQ0V6Kb>#9gJ&Nm*KQ*_i
z(d(cFWnhEqm#4!YRTKaPsnX5*&eChG1#}{AB)-Y#8gBF1e1LDVbmys4D=<lG^p-CW
zT@#ogQj#9bzd@7xi~o-9fssp@bm!)_JDVjsG&fGD8v$~B1Yi>NA*d)Dj}e)J-`vjX
z#Ckc}JUNRw;fj55xSyaK0~^Y?T=`Z9#lI5HcXod$_%=E0HIE#pzI6yYmns}}(j(d~
zUeWaZd&t5}M6i^OH&dfEF%a7(U4rjT;z)x*gShP%&Yh!VvkCS#6W2aLcitSOE*%A^
zMU%5)tMmdkm4E^=h$<SwuUG-#VW23dWNFRZ^`%Se086N>fM^nnEt;g)SL__eI5Uw0
ziiiAs)nqn*0dGSb)|xKPe@{Z@ypdp!7%o#j>-o7W7%s&TMSZ|M9+|0&by(kdmsVS|
zZ{w*@?FjNQ-koK~HH~*}0`x)2-%Y)M8yhuSR8$oIchmpw_bv@<{P~lX;%Qk~YwPck
zdopbO5{{_dh5mrCrwB9a&BDs_rcW;Uh$;z^5S*r5)lRn_{v2C00o1B)f6!4g5{nES
zLPdIUuYYb`#L#)Idi(4|S*W@B=Ez7pCnu-0jttZWyqV4f9T?w-6$cGlA16^U0c3#P
zMp&)(_iw{B>FczPHVqNf<kB5GQse|OuYwnnn8-hWTsD6BqD9|v3(IMV^w^2#H785h
zOvU@(dL1xQL<}Y-6(}=6B_so*#pJQWrocFI{r^ntWJ7UZoHJvFl;G;JrIWZ?{<T2^
zUF$Hz(<e{Ls&y6w3KIh3gP1pO?hBhC5GJJ0pwtEzfO%8ips%Ml7;EC^=NGdPDPK-G
zaapI}@Z8*7xG_IJajYBZjGl+D;<flAKU1h7#|GYdDO2`UV_aYWGL<tSGC~eM^vEJG
zTm$bmo%uB;n?e-rD5i9r?i>5bChT$jK<aXG?=b))acZo9h&h5eP7q6#rfYE}3qsqN
z06|(Pz2IT|=(EL<tBF~83mzUeeFg)<pzQ@AIx9=mm6QgmN=$WfYG`c4VUWDc|7?CJ
zzok~P^;-%c6gs@F2_3(V;JHC|qfkkmc7k|I3j$D5bl4(35XceI2i}vO9)|Yjh*9Jr
z2so}Q9)Xud@ouG$zyEvtEzFp)m2k*B3jndW;fuC`woFNX!JgpK2<&N2&+&z@0{|_T
zckJ9bf@C0yd9elHM@kA&Wp=Fdw5e0iF~ZfFj-qLk4@ar-+Dk%Db*>s=>A^|=d2Igp
z&EW;sL))8t{CN3)UH5Py&YoRW6lUGDjs+&vGCpWv%`}89wOVGg{T1i(4w#^-OvuHa
zdETBrEw>T(<Y(h{&g`>uq67PZN=t|L@87{6SK$r<v16OFjf;)V5|Wtr59M!|3K$h)
zOSS`4*mrohie;{@c>~XgE5Qx)I)6Vzd7|E<2YVyh{gze~6@B;|L~d)W+5<m;Y%9T^
z0lJrrpFeyUT`Lm(Kn|TNWUbDo_5D5d_-mG{WdS+Upudhu!fzq3tJQey50;8bM@1#2
zIqaT?)`lOFUgJk$y3nCpt?j}DVkMqe)eD;_utFEnc}dzR!Ps&@>t0;xzJJHQn3$Sr
z=Zjyw(1=DCOm(F`bm&=LYIHzUpBmmJ>FU<7!NZ3)a<*y0I5|Dc0*3i?SDD5VVvj|`
z<qLRZ#4CM|L5ea~eUI`{owqfhiw%g1iBS>Er%X|}uG2ErEbIr`r(1u}0QWT_T)9b&
zZ()ew&Bj@0|LgMNEd|yv`FN8x`hqLS`Atg|h#^7594?KWK4-96to;(-iTqoKM%hYF
z+)#L1PxUTPwm43?YL$WzzGFvy-EDfme)Xa|vTq1LQ?hB3>G=PxNbx;rTv}3Mo>J;s
zJMd@jrl#yyn>q-s<cOPhSF)z)=1nQVTsP)id+Tw64l{@^aV?U$``3(3z&0uQb$9+B
zQD+{OQ~Q1KQ<_v#8A@qVA}@)QjFCu0lDSfmOrcOBnv_B$QzaQHL*@t}G@!huQc6)8
zj3vsDDEfVl_xfJH=MNXEr{|n=-}~Ns?X}h>W+e5#pt|$S8Lt58dxI30LlNrS`BjFG
zzE7dLplfV=Ywd@p&C3p8=-$U3c2`wp#Drv(*o+YqNznpM-ys13rF2QCB}*D_W3#S$
zjFe<Zm6d&7z5Fh~)v)mJ-+)6LG&ITqkUR#LWoM7Iv5B~3YS%Dy@Zete&SJOxqO5FF
zTT6_(qv@Krb_=H7CDFtA5|t+TXjGIPv0HG1Y{P23+lsEZg8+vLQaca5;`n7kGgdCV
zXt4ctz_!%Wt0v$vkPt+Yb8s}SXY0;S`~d=Gg<AMWaOz4!c?9;V`e#wC*xKG_e{-~O
znw>j)wj#A~);Z_0x9fH==dogJ-*3JFTX-5IFo*`{I6G&;ePFSGC25Y{Xc24j7~`3>
zKi67ofkB=6EX5xw>_Vnzj<vJs-~At!>X0E_b4`R`a&06Y9L82wR>-_Y(5@Ce9qeN}
z)plctw9P6X;rDUQ=n%3NNIbG4-#?J>_IT$NOivb^ohv0-sI4fI%t@G*7UQ_~lH;ad
z9e?LXOA1I;4uiHHIs_+!v04L-jG&v$J~KyRd<P2z)4s7!MB0}tZdiCy+)5h&erwVB
zTVo?KxAaSwYWusI0+Ul^`<5A0LRZ-f1bt{^a#Ykq_S=#2VhYm@Uy9|d11v_2fJu(t
zV63L3Adm&%5j}IL?9Y~_WYQwuRa`=sjj+mq#O$VnZ8m{?aQw?`N1#ePme_eK%Z)}h
zK8Qx)1ivlZe)BqU7$f9Q;QZMA`*&)XEu%zbx7_<KVR1V!qcfJ1R%h<xyDHl!l!1|1
znzS`}^o>_VO~iI~-zp$Q&Sh#be#%fuTT5#cc8<K`B2UlN2d*QGZK<K2K6v<EUf#Nz
zCvW?3af#2`>PMUSUXHNeHpaV}6P#w+nKO0;TLfw@X!|P-V@sbsLmYeMz&tNeVhQwh
zN9P+oDRmW<u}7y3_pjqj#0qZLt^%zQ;qrk$3xO;bNZ!g?x^gAQ!qiEVsK?nyTXv9<
zHcFq^I7~5i6JV=OP@BZMabTRJV~1j68H5?S99xw+{Y$`aj@&qV{ygMp)5NKz#l;3O
z6FFl{=KnZ<`_G0SpR_*OpAdmn)h=DW67$Wk)<YXYizW!*ywGo!kg<E6C|pA0rTN=8
zDWNUBe0^s(507FMvyPP%<y9qS(+}Fnb!3Hk`}&4!8i)2aFnE39vVRaaZxU9+030OK
zXafP&ELsW9Zt8~m`dzfN6652q{YMG8as9e{?j~E4Mx(&{uU;Lt?$xxkQB?IQwe+Ej
zpo1q9W%abhEAbV(&|%Pgh%73H)o62zqu`(nhpfWP-#uvLXSOoxWEzm_LkxQL5<TFb
zQ<JMq(xWy6zxn*~T9<yiAPtD<;V99@a_jOc{)yF}NIV9ByfEI;(R9Fo9ZzPT9!D*$
zGy7PTo`2>i@V_a}GSNGBg!>c+>&AwRksAP!r=sIoOews7#IzbUDtUKmCQH}q(R2U(
zQ0*AGGi7Iv9Lah!Cu28<Pf3iUx8W_(+*+U=DWjMRXj%TT$ZVdIQ}xZz`yO9BvXq`i
zxAooP4qtL%KvWzC7Ixq6SbU4(`JoCuqCMQ26dMbF`{v+4vhl8y{u#ruJqja=K70^{
z$M-rk1C2}E{&GWdhJ(F6Q_)d;hS-kSq;9-^pfWuSOyifBs>mtkUf^KM`R$;X3(&&v
zhD1x1hb@G=fn~g1AYOJK+Zc|<rn=%JwZ$D!9hW*%vMsB4lW46GGM_cUj;N*i#dk-b
z0@;24H9!fYHTXJU+ioI6ykc%G<OzflKrH2^Ed(`OIzUteK|x`=$QgRF@<(GMv@R)u
z5S=>+SHH--9LI6lW+dv*Ph7vQ(S2eN&XFHyO`BF#QzH&-6|(5@;0I53Hd^jmG9N&k
zWV!Ad2RoUYLS5phpg#w{7DFMxJ?zd4PiXTWWuimPPC&0vSfz5i?aKo&{p#3I_vbJc
za6rF(+w#S+=R`~F?yPo>(ER-%8c4%2wO9nNU_#QbBGyiemz(b7#4MY#Lw}YGDF<;t
zV5W{vhyQGo`{iI`lShQ5n~i#YOIR4SxX+>3Z1#so)*e^|>5oPqMAJ|E3o5>U6$ot8
zjM7`3)GU{|xp86BU0nw*(Nu|SM-|QV^f&k2_WmJ~KVQ}l1{8CtLDLvqCj@6^ZX}H#
zEx9>6_(2ZQBFm(|k<r$M`<mJ!HKUajFK5sT$33Jozl~$Ssm8gO_o4~x?Y{Mrdas22
zeMXvTf-GK;lsYIM)Y`mb%|3XfA8E09E5ElH_FyWeMpW@x&SQlv&Lj7BYK@Fjef0D~
zo;bT7y36ihP7xXs)WsH^7<{lr^%PhHS;pbfi5B)dwr}r(Z%4Oo4T1C4w|_~_l>U(%
zYMydFq_q$d+M+)LGt>u5>KS<dau5(lb>O$ko?ehONu8`jeG5&jY}-0c)Fu_T#%n1l
z9t@<~oJ})aTA)XR#J`WJ=~tGINPiK~9gsS^OD#6k(-RZe*|SS&vJj4QMkQmZiSp=5
zYEaF)ce2uHM5{yOVnByoyGlKRLCfszg$@oeaP);SQ>QBZiC*aBvnXv2**J7s8PU!m
zSM<wxZ&Q8oFf|6L2gIcb6J!)$^n`xfQ;JU?924Wf&h_+s3o7IGfD(-a>tM>K7gsws
zM{nJl?Xr;Zxn5y<{oydGZ^;hcN9fI2eu&0gQ_cAICm{R;yU(GGKe8vbH|p^DM+?D>
z;`<TQAwSwr>$S~KsZTZ#NkJndo4SBDaSUdSfLWp-nD{rkwRD%6ABXj=7K936ljat8
z8hYMgP%>(@Fi3I#D7|(-hEBLfsfA^QPU5Hl^TNYpISZ6*0;m;Ap8a-6(g}CWr8QBz
z=Qh1FjwYm!Syv09|IN=w50Trw`*!JP(>Vu1-PNN+gO!LESFslmge<RCL}6;VCjIuw
zFW2XxQA{x96gVes#s0CTP(lIk;K8JOBQx=r&A7OU6>A){RQ7}G&ty3=iw<`5dxAzS
zDbTI4nO4%u>SQSj!C$_tjys{$XAUWcAP(Gp`|h3P&uC6NAhtF~kyx1QI4e6BT5seI
za_8Vv?iIGNeI!RgOC1<hfE6NbpJvERVi2s@KhRZak)wn_*t=5|M5#mRL$U)EokG*p
z14~5tKa+dntdKN4mFNY}6vIh&H!%z(ff`l4nVO$>>!Nm(|33P19fY{Vsj>niL}BrX
za7@ar#g<Q{U(+Oh$Ykoxoz28+QxTZ}0QGo@LfnFk`4Z;%#ftz&Jx*Q3V^T$!=HMVv
zA!F&b=i^`3QzJveEwg9t;2Jp%Nf<z0c|ip<!hsGx0dKK(TAU-jAckNvHf;3hK*A=P
zRB8o<?){Omqa_3vD!4=wL!1XF{9RL#5fNxQaPY+#WQ`pi1Xy6ydM8p+*rUIxA3W3M
z@Z(us23_y)CD|p9Bjl5ZE@g+Tikcedph#dKu4SMNl@EtSbKUnJyRC2lq{Ll#e%|G6
zU*}9!%kL5yT3xZ2GJ_zE(R5e&-Y|ZthmIe|fVAStlh51?|3BL6Xa*WPXOK4@Id_h(
z7d)f>{ri);0)}kgw(ZEpP6x{{p2Qp`5vquwi#!-GGbP2^a1URG&D$hF5!haT{%^Yr
zyoKDJeSg>H{pkGYUVP~2i)2omIUA`R`QWrbc<xl$5jq3rT+l@sU}N(RX7rtXwg`t8
zq?ONj{i#1$or#aM?8^Et9*vaU6pbM4;+#S9rEIs%p!Uk#T>bw2&p_(s_H7O<E-Y-K
z{)HkLx(ZK!sCt8W^6VS}4Zdw48(lyBL)^9MGn^xb_K4L7O+k3L@QzBiZoaEm;|Y70
zniUxS{n}s9^?bgUtPE|oQL&03Dgk4R91`8(e_R0C7o=kSmN+TPRVJT4tuR!jv)1t9
z=g%!@7C`6Ai9Yi24ZM4|%+6s`Pr!PnYL=1t<k!Q(;-EyWl(aN1rJ?QSx;Fr}Z=qKL
zL$7w8HfhqoPoI7vMw#?KSzCU4+WO<nSiUEd`#`!qyfs5StU8Wtx$=o8=F?|VvbemS
z-#Z9*gOZ3=2jM|N0RQrQasAU^ZhDv!Om(`yJXYm>i^qPONrP5W2zJ_iCutj%Z)n{H
zTKb@^Gy0h^dymfuiqzupa%)r+BE&x10&BCn-1Ki+Kzc(Z<Y}S~ctj_NhA8Xw^?l=K
zq(x}||GGTWm-Yq51pL6+4Vo53!8w}}6^6jdxr%cmpE|LSmAiEdSL;-AS_s>9j`AWq
zGXu&gr9g(&RBKLB!`(S5{+CZG?9v&ps~mag9fj-WtqG)~RC4||Qc_ZIkKMg{`uOqT
z5QSMO$eOVhI5N7g^L?+*aUXneZUn7oMXmAkUcGuA6jPxJU=KNy2IVz>i?@3V9RM6I
zvV28FHP4q#Ot``Q0^+;qK+wa8%C+FGpK|6`=8w5qH}UNVgd_ymKY)OZOd*`&F9DD=
z6wV)DLBfFp2u#QNo*-&vmzjG2aW+1oALbEo%<FpabDD$xX5C}x0MRb?K~T`9-ZNy3
zZde$7EK!zMUJkR35`%OMOL4?)Ra&ew{Ir3uB2QmrsZ-*xc;{SRwh#L$pD|?L(hA*4
zG8n51K9qC6hI5$)v(i-)T2Q#;0hKa(ku;{U1Do;H^XDxffrAF6u?T9G-?gAH<}$?d
z-9(*^61Ww2fO8KEim>%&f*`XQ<iG@;y>Ul9E|nKI4?cQ#F9IFaZ3aJqBQxw07-)0*
z&*DhlHwn=a`I9g1rfb%0?x#FNW6JpPi%85(PISS(^%!R*9#GE=1c49^umoL+Qn}?E
zqeny#jP9^c%xpR+lnfd>WbAE{3mN*toue-1UeKx(5uPUsLcz0VKptnY!eWXcdcnXi
z&-~O?6m!Kp%s!)W`G#}yzdNiP`B)Xm5StoK6ylnaVf9+6uIIN?z(?Lv+?)-)2Fxtv
z-)^9k)knKXw|z|pmYX(Lou{KLCxJ!@GZ55$z)ehZ_Jdwkx%0_+Ul)K39$yH3LOQ)k
z*RIWFAh#H@gr$dq+xm)M{AEFX&+HFaKmHF@I*$$Pnytw_rUl2c!zhHliHr=p4icon
zzxF@u@s!&Z0nhH;;kCmt6*%j!aGTzI==fy3gzom4IgGfzrkWYVA+L|C{Eqn)8#VUZ
z8e$Vg%L}{Fv>@a<c2r3Zkz}-uFNg|qNPmU?-YQJ<HkGNm+n;DK>ugP)5lgB`^<OBT
z{9Rd2Pxga}?se(S*>SKWE!*327o?#~!WI*!HeP}4zt^d##GtzAKlh@6si|Xur~DT9
zG2o%Z|Ed8jBHTT!D`wo<jigOYO?HnGNE*&U>jN=VFF-5Wg0@X_;Et_hzUi=+*KS89
z107VzBI<*d?;qeqn$OFpI!AiWtqeLP7zc!!JI;ZFK$Ia=e~d388S374A^{p}3px0q
z!;;%BGm&!2U#E@Nq`M<6r6u)VANlQIU5W$Vf#JT(R<HiT`v5YK)RqnRdUdO!sEDCC
zdR)Qe$q$}AyG(}xTL##%EPWm~=pH*kTEH!mMnQHm$g=s$mvS$BXtC0>Zn{diHT*Y*
zRw||knkyek3Yc3xjX7J!f})PWp}wUAQw@Be`zkxmpD$W5I6FHrF`7=gS4S7G6Cw?L
z)$QMg)U@PV^pv>|0Ji;It{30A<AIUL!PaCxD|T5JN(Qe2vRM2uF66=D*49>WP6pUA
zM<|VY65hW)zO)f)%yzv<K7QPjp&aDk1a|+gZ##usA!;EgR0qyDk<ZXfn5l_VgP6TS
zdI6(HY{a{1g}hgj+u+`#aQjbWByHW$dYyZuMDSCPljCPXR~-$|z3$X^03*D6UC|v*
zqnVJ%{A4$E+|sdbvAuG68jVVN@fKd71B`Te(V4NVds@w369<nj=@Ubj6!Aii5&-zL
zK?n2M7NiA@V+l}s@qISYS|nB7ciBg5<N17ymXVf*k#j+7G=WrfOjG*n7!7k{>|BSQ
z<HqIU2lwgKRCN1d-fxU9#lXNC_K2Nbe=w3(hr}9A`Nju?PX$FqDS<0MgSjK(1iMq`
zwT+64Y)Ou^@cP}mbt#skAK~#n7gpDyLzUtZW^kouLqh{=9S38WOkV37t0cC#(-{y1
zmOU-DoJX_YSCaTtuXlHeq#9uUroN%!Tk22{7$I1cqb#;vzy2DOJ0S~p$xe~z>;DuI
z*5A7&`R)eP2*ejK*zrg(sq{rWT9B>Qty}7;Q!Jv+I)6lH_|BcG@-nz5zqnI}gZ^|B
z)Xlx-APXQ(0JTkLL>-eYgd<Q^I5?<OLEUn0KBO0u>o~?z{t=v0dsKxYf}~><s4-M(
z`NSy{cK%J&P?a&OPHoN_K8wRT$K=fQ>l>)xgkW;>&HsOg-hrq#8b?2=&gih}4cEn<
zxDbBdqo&K)OijkTUA!nMV8*f=Yt0*ec+-L?4Np`WLCrxyG|k?AAnupBCVkUxB2C&D
z1`tdW1H+y}y?OkNnJ`-YlW*R<nV$ZQlgC7nMJ9-|p_uAetp(Jn@Y@;Uz!rB}FcDow
zZ(R1gxLE4MQI00{Efr8kA8R$KL<V-9^%|>s%zLv&jP!35CX5!b^wuZQJTzzloj-Tb
zL=JKH&Gg#w$%I$;2P7U<uGR<b*G15p92?DmBR7SOM+%=k3-2r;XKg9*lTh*DfQ}2i
z&B~hkdIg(_c6J8McP4jQyl4?)%aw1Lo0^IP=V2;saR)iZOVDr2xye>mHRNVQ4OHf^
za88}t_MoEYk7T-#`26$m^tZTkE-~uMPt3nXul9otV*rnZEZSIu6gNNXM^u^k5w*+)
zkr&FCo5g`$AFqQ9cF#{fV~}D*xG~Y=&~u6T%AW$if#Jvsbm^IQmb)K2tc>pgl%dA5
zeh0bc+{Ie>fI0zCNS!~00kZwn>^_iM(M{pD3>S?WG-+UPjW6rpzULW;<1G#sKK4qv
zcCCkC;`tXYQ*KpWZvMOZ#VSq;A($Gv93@$g9!#2`psH#bOD;for%QmPIDSo_&7{Ng
zCry&y;w}V}QE0Xe<cFvwBMupow~(HTgUqt3=zmav-MQTt<CF%T=8TsnaZhq*B`#}g
zX`+We;@!DEeZ1GjU+SeFyJ4nQ3JC-`?%%c~cWTK`xT<b4J5QWgoG|{7guw4v+#2xW
z^yxV`qLg+7@Zx_u12ucJd?00yEE{bly~Q298O`>KSFXSf?wUR<a&*WMtzk)OoAY}7
zhCjH%kHh2;Rt&^IFs0^K8ySe*^Rs9HDu|xTWlDEeeKVPmiUCnY#U@ne9DFVIvsu_f
zhpIIPfz8raJeHCYdAotY2K<?2s~2<o&o71C3k+nyrkrG#c-W>-cR6EH$949s``+a>
zJia^=#Y4teEZwZn-85Q$U6)}Uf~sa@jQA>gwfeNXwsQ!YcMdyYc#&qmdBC3`;bJk`
z5Z`A`<6+Uj;#OPmn6<JqhIT6SrTa=^b7;?=uP{b3=H}Davi>XjiaUB#FY5QwJ)}rD
z2rZD^SkY~;cU2b5BoXK$SPmM5!uBiwK)phXBwRBd-V+h_z}2fiXl-yt0-H0on8^E?
zNbBi&&#x$=K8vtLt`7n^mk7+Bo_{+KajLJ(=4uKJdT7`kqv0Xnti-^+bv*XWX4>k~
z0(TmOn^B0mF%w^Q4tse!=<wMn(-*HQr6Carg4mH&tJH%~26Gp^CNdrBvzn3KD7#G7
z%AFXMXqnMC8iN`#;RONUq0HSBba4g5awZ^1)-{7J>PC0mj1KQtj{MYXiOtUU6{7L7
z*oqR%jw{jN#O}lYC0B=Lmv-fCa?9WkT>I8MQPUtW#BBDoX$*kIJHK1aos-ZC=$C_&
z_c=j|!w5Z^Nxl2`SNsfNLaIaP^D8bs^kX<{;LSAM9Hp2m;xWQ5yy8t1XU&>EV+MRF
zL+vG=p2w4t$j|{Mw{`nR5XdC;{6ww3;0A5=`IEQF-sgtF)2pdw_Bna7zyp#vGx=*F
z49hr+$%>gdA(PJ|_zfG8;ZjQ+^mebJE#alZnQJj@*k5{0*6Cow$_2}pD+I0PhN-3x
zh#W0hF6L9DEg$OZFU>haTSLpj`^be0yO<-hB%S;M*%ghH@la0@0N%Om*h>W3Z#DA|
zlS$#(ZX-9gG;-bu!C-fwzVO)`QfJ^LZt-18Ac@cJy$Hk_YaG-W(^HEn^Vq)(?s)o?
zbUMPPn>uAOJ#aWuRQBP6aw#{M`ykQ2;??7Xq4u=GFpmP^@D81LqR9TBMHAzZz@Ns2
zRF!yc+?W{=AuED2GywU~f?z^(tIe76im1x6@G>Vcn&Irs)FFm@EkqF^1QRXcU1O(7
z2?NaH+k7J!sHV%duVaJmZDGKsK!GoIb6hla1aF*_GJbDe6<NbUV?6hwlpr=oogT>^
zYGlb1wJ;K*#9MPc>is^s@)-RMqr{OFr}|=zBX5`_2yCuM$L^1Rg6DI6RA?7WF)OQG
zNzx~I)l!u4zrw~9-x>qej>lal+1i4KxvTpTP~w7*(k)`hX`(*To@U9xl!c8gy6iGc
zc=PNMhpmxm9wu5YLe3Q(0o4ad`T?S+6fRNU!tHOHKN2pG>Q<>|s*ECPd-Fg|G1oiX
zP{=|!I!H-NMpjm~B^A-^R%@}4D9z5z?cn!5XJglU9>~%mORf(5cR?DG3z;1s=lQ{o
z+K#KEkd>2@bW^3uYoCRRnkua4YUzk!=jEjA$54=TfJi~4kgX7QZry4NB$DQo5ZE>M
z0)lp;a;+@yfm_7pxS4b3%#rId)mt3brEra8)2*l*u7~1GD76GM)p&tVI@mY5hv{3A
zygQ>I2kA|ygnXEFO}`Ri-CMHpJB|r)amv!0a4(3mobJ{$FrCoP0&GkZ7I=AWq}9{b
z`1n^L2S&@Z)#N$Ne;UP3{~G$nYp#uM2sv$_+TgJeWr-jd8Ksh;8y^e}!h%FoBl=xt
zFXal^5B0tLC(y(m^kOWB=#+-eTWsK<cpHC(_e#qps}x%2K?z+u!!E{wRunOjX*Yym
z!mRT%NXG~{V=ne9Flb>oefQydz19xbGJGcpD2vO!{j{)u)I7V(BRZ2SzRD}xXZ!gx
zs}-9g6%~rrY)wMVhqc#X9=+JC(6n~Ne2<#ym#y9smeTKjyf8A|aEKy;J}}age~gUi
zTzk(SC6%;X*K!*rqBJ-PD2)s@<{r*3JA}L+-S@Fv$e3>m-ZA}w5VPlnzF&CcC*|b(
zR`M<EENDL3PMlbE`n~u7zdC?m{(z4b;dJHTwc&EsLn$)(X&)1-H=E6imZ?O33NG<g
zft!H0Sx&(MGc(MK`Y&iSl`Py;u<`GAdXH5kTX=1)GE(-Z_-=Wqf+Ge_OEC`BIU*Lh
zg|S8h2kH!8yM$u^HXzIH$jR=K+2j8E@kJCz?vETexOs;*;qN=dj*Yo47r6QF?>&4B
z4^zDM*wcvGIDt-j59N*jUeF~mUHJDrP+tDlUM*6$+m?_aGeP^Xj18sv&fxC8Dx-wk
zCB9-WnKFu8_RB(Vs_qsef;Sx-@CP2~oo#_~Qme++Ux)XwN|gt~v@g+L`sk4rW4|r>
z3m<J#PD$PVe$an^-^K4cazt0mH%^hJh-9+=eV4OiDfWAO)C>1?f0>IwW#s65%FAkn
z^po4GhW`DJTlgzW+jXCYHjCsyOf{6gfRQJiR{@1#V2NO2YDy`tEPiFDMf(;c`l7zM
z{hoMD=Jy$MF_89ep^MyD>nT$j*wu`PtL+T9!eLvRb{0fBWX#$Q^biiUjtD$kPiV27
zJo)QV@w%yJq(+wnVEr<A=~AQr?vi;Kj-K=^geuz5SdiC!tY$$`MM?-CUtTM!tUUCi
zSx-u0&;5e{HzFZrAe6(ao4@)56=#XB;GkMYfJ$kSq+_zsD2kG9nB;H-Rd2^|QXDU{
zc)y;M{O0VcS5<xItFg4S@YG73(NDCj6LlFuq|z*sb#hos4&2oynUqIV;oDSbzZ@~Y
z39CfSZ-PqXxeyT&d9Pn3J)a07tEjF!XQA?M*}$I;{q|v=bN56xyp_;ShI@KokmQ;?
z-o@HJXP~8qib@*g)aXt-fnvP6s;P;?;r=R)Rks?z9Q!SoehwVxmt;%QCr}_VGpXf@
zNv{9>E`=&-8;5%eNfG~Ti48#H#B3P>YTX5N4?Lhh(tjUaX_u~Di=RG~6rh3PUwA}Z
z5(ED(mYdoJw}X{+|33K2DH}G3lh3N^L6#Is)U7S0{$BZw^^^%TPlT+(LI=)`g15TA
zwEp{vPKS_sybf#YoAmC#&#-_;?|#{V!vcUyq?1Pf4FVemair&%DC$me39G7FsI`iR
zUG)$2kiLE8ZcT`}ezPl%3``<3)?yC<eQx;o;JLpL)BCe~_wR?cp)HuWWzm;a5Z_ZC
zkvjd0f>~=7sD9<FSB0NU9YOagTVwNk!=$A4OHaTW`}LhXT!H*SSNUc)XGgUGb<GkW
za`WWy2kuy&v@`VY)7l3*Z`Qjv$<@GtmRL)R?|%EgPu!as70h=M#`KCIRghkxWOY&$
z)x4_ud*$;x-Wo=Z*murk<(z0v`gR$czl&lt&?y{6Mc4Cl(yZ8IVFx*VC@OMFNlf4T
zY}pu9daURJOTJB0hc)EHSZ_Hqk;&lp#$i5<J9*cx-Mc4^nA17S%_L*p#HmxMiatIz
zqU^zt=&ykYFwLjO(^hP5k_`$9s(e9&We+nKTdQzuqyGGLlre3M>)Pg(K0}IDTKcZ2
zO5AYoP3d5tcfK~=`QYshG9+&?@WS%)+b+H+E?&#Nq^<JbfE{2E#3c7DMb@^h?N$c8
z4t-*EY&!H%HZWUgM1U8HKr5>p79-Nb#(U(1fR=y+lO|4FTXdyav@{dks4!eCnA&5a
zub&I92wi;D!^e;Rz(8h*(i6MaWT}0I4!yd(R~0e|Y6(Cv19PTgJ^k>FI-w~)%N!cy
z>9c1OvHnxr3A5aO(j?Ki`Oo=QG#{+d=f<N~ZH<opk16>nCylsEmy`zVolwXWgXn-V
z0J0`=$H(-azx{S$M9k5GMs&eKc$Xl7gBQuic7XPKL~<uM2?UKB-gU-%;^Oibq!~g9
z@Y;x62e6$UtNpyEK9umM&zu>#@}<Rsg-AUhKmnKguinOY!1-|v`h9tM1ZtqxmX-@<
zV2`<X=ge<{{f3i%XherUK`n#s_XZl478;wI4b87-WZ*cvE~xQujwafQhA(u@^p_B5
zR_dAO+<ec1`ShYhn`@yF;4-2aBtLlJ_gVl9dIOmzXI*eC7O5ha7gDy3K(@+=`Um@`
z#F-p@;pejug%1@-eR&$oR|uwfQPt$?6$PZ0nHSEjz(5H!=!V}%*dn+k4358ZkNg+D
zRfO8{%MZA>oDF=He2I*-OoOJ92_A38HiP2rm>BNg`lYGqLwV|rhXCTX2C7cUxB?R4
z1D@~RNzVaFNXZ2=#sF)L^xrl61d>|R5@e&98oTV*{;YhU^%s-g(1jJ$D1kuqa_jPW
za)*?mvI&3_UDNeKkCwI;&Yyi{Hn?YLnPP$OCzTD!kB;O8Y5JGH2Rg?j7Ah8p4B+AY
z`x1hbjEsDF_w0fjzIBj4Dz~Rc=>fEcnjbBqZ^x@+`L@SCc-M|iC|HU^j?t1X!ynN#
zBAc(+v-pmgZ%kY0F6HjsC!8pf5J1QwzH*C0ube#b;rrjbBPjpz<1NDy3G|3lx~C75
z6XYIT<47gEg_=#!{Vz~-5@q0yqBxQwnb^oRLs)OA|8p&U``;jAhQ1?9joE@1_Ur0W
zMFVBFIBooK-8Gx|&t&)Wc3P5b18PldLErw^>YvYcqE44yG5(#Ly!<@CJdw9g>L6OF
zr*})NrJ~1NC|3MmsQe(iqt={*?<!)^8cXZsJ3_nS4z;|%Aqa3+qFi6O<&Dj4qA25*
zPh|VhRwkghP4HW#2mb=8E0J_3N6Y*^-&*izs9EiJ9v7P$7!9FUlGb3^_v3k216X{s
zZsXBZb$GgblH-L<twS^h3>`Xq+C4e>zem&t*_Ht>?%z)xYAE;J*5dH2*6OFme-9ru
zCJuHsGeiABYoj-38Z#N`jJc~jEwofLtE&(j@JWXeWaM}Z{yS@hG7*FW2#w@3P1Mg(
z#W52E{h$x~nxrQ5%IOmyDguF(UjvogtY0o#R34e~eh8!(2)28~`y%#uu2#&qX42+)
zr*p8yD)275{e(hC6|#jZrmjt`Ya^BDm)gxqawC5O*&swW9By*G`68NSprkQmBKJj!
zOiWxpB;zeJRz(IOl#(wGn_8q9q)BI-SKH{x<V#Um@RdKzThT)*G^nvKx@KNWOTD?J
zYS)Gy_saT?lxw*A+A85~$J>vD-{vj$;(C6+jXIF#lF*(s|5w1uBG0j9MY8S#g<Sm&
zE(gR^=-WU3bA~p=x&}%JY_^Em9lmrN{cK8Y>BbolHt*e&SvhtMeB?_+k(IA*xzJC%
z;--Fu>xYphPS>bieE-Q4QNsx}ivWFnmFb@Qncmf*+qV6S9<%Wt)dF{GB^oin^$JVI
zLK6}0ns^aBM)v3=c-IxD0>`s?YX^W8Lv>{bynQAght3~;E6hm$!5Tsp{8Ae8Wj6zc
z&JRwUketXg3D949lJD*t(IW>E$D#1io<c#O-74mFWM5(-IT<(eh=>TH2f`a7Dg7bn
z3!?2=pX9<1-#8B94jiECqqd5PGQWsMVsG*Cv>+_gXo_=4HF*sAOCE)c&jmK_Cus6R
zg1}=!O|YS&`?z(?7(&cY2~YLU=~}&)+mGoFm#{qe)t=3z<n+4|v{A?+(HUVjbzPnR
z8cE-n=XKglO`PiBFbLC`J}0uS&(2HO!~S6fT+t9cHKc@;<Hx_$^(QlTIam9Lv~@eA
zR>pfr?zk|?&)eJN{NtyI!z<xZJ)|YRlgakkZdE%(j~T)F=7xQ<7k`+lwQ8!{qR-S(
znWDQXtO=sg;(vZrXd!#J;mq$tS4&qJv4e^x1$)O;vo;>ElQSjb75P;o$7+7*Qm`@o
zgsq(&U2B8Ut0V;s0u`jr#`jQGX3t)P*PbbzYa$;`z4`F;{k~6VuR$ldBR4^2a}#s$
zC~+8XAXi{wjENLedarywV09EsppNcym%TGzGCE=M#EBV*E`8=9ZRAs-=<GEnHzOxI
zdGY_a0DNH!mVGo%Gkddbu=GUxR8wQ6;ij&wJzwOUjasPQ4C<d#dUK-VRr0w}W3P_i
z-kr3^*Slxjb|BbmOpiI#qf`Rv<9u#7tXrON^Xv5iMv^U`zfm&3ee1cvf5?sr+oPgL
z?DxAB<q)#?IJlQ=y9#-maljMeYCrxrQiY=@<m!J^5*q9r#R^>Dw7z?3KPgKGP`Yu{
zLuE1^b2_8;-8)tw#BzHt94K9`c*T3qa)PI}p2HN-P|Rs2U>VSy(%0+Yh;^d#9t+N2
z9BBwJTm3gPzIWy^{IV;{o}Dtc{8bxm2`))nr>STx%v?9y!I>s=qkWj52wR%|(QBI#
zp+XyGHa#$k6Or}(>{u{?aTjK;M{UQUT0LET=PrATzax3>fa<d|8z-oj^-b@+ld_f6
z05EXJ=O{@5yprQ0+;8waS6622$?A`9ngEz3vso|w$sBL(aYN3hr8RN%z+%LSD)iEJ
zO|l}yx#V|yC_pruBnLu6=vHo%+pMgnrh~I_8vbHOU}J!niKikuq93`m)!DXLK{+{h
z9)v3Q+b~a!B#zfY$RgJ9OXb6RL7{x^6vR{lbWLf4y-5rwPK+csET|hPvg#XVVdnX!
zq2V{&7}dpkR^d=bV1SjqBu|c@PXs0G$eEg{US1!$6OraXIyui2s-uc&1FWZuhsM=s
zfvlQu`1+;aki9^6YZx88IMZVI@aEw$+u&dwZyN}SgDRa21-Gu&57jNN=1-dztag2@
zoZhGg8-z4z?K@`CI%m=%N4Kh*>hPDci6-u$ph}gf_;ep`zs~UpVeAJFq?4jz<2_tO
zfR;fc931p!PTewj`<>GoIy&um?YrN)jU)vh)-Gl)JP!R{y-4}O9EXY4T0{>PzW(U5
z#5RDFXW)0iTYMtePzXoVUD|-U!CVCa9VTvk`W8k0_eh(c`^jdE>ALZA$d|d1#zo2N
zUa-J8#_;T*vs<&Hv1H&Jvs8{RT5@R>|I(+%44e5D;ypuXyI?_5Vqzkim`b_D&3EQr
zp4J3c4PMEW&%-S&;_fc!__YMn<yW{-NBTJ7_d6z1y3VawyD*aoNn1?}e(EM;y#0J?
zA(F8nz1n5bBSP|(5cnKmq>_WDm;i%{Uv7DU@w9}-=BlaDpQ0z&*aXp|B^$kSkF$U|
zf4kI;ioTNDkgB6!s2%{R7lhq4eMwA#@vhY?g9+qxAng-}GiAbw-`HV7ovPZWDtUvg
z)~e;+TWFpGb&|m^&}VlrgxPzR)>2S1X3=vlfTlIw!^FjXzO#e?(KRVG6)ls*s-s08
zK;A;mhnKB3hO-)17_kPt46h2P4~Gr^4I*(zx)t=Iep~k+|B&^t!B7KpJMFx}9(29a
zu1fQphvIzE!#1x&_WG&Im)E0^AecsOzkVSjtYAX@g*j)?Rfw?V@fBl9{hemb@`Gz5
zp>a=3{pxt<d3N^pcoWuhI)$5e(Kj)fHg4QP4n6<L9FoAk(8s*X6$gIc1Zb?VR?J05
z{Jh33oOuG#^g^hLYX=b6-A%BqArEFrWyhEJlFy?h&ngR~^~@*!lt<HRZwn<rGiwYY
z;K(7Jv;S$id=9Af-zzandz?g&@}J2hyENlMeP?^`zB8;^-E3Lc^J|y+PvwIwSWv?U
zEPL96l-X{|6zL`EYHo)2U<;QG9u%znPCDmWB5CZPUZR^H14ox6Z#U{H@3c*6i#vt7
zI1Js#a{Nh-r*S?$gI=U`d8IXE(4gwAZt;zxQ7Dp`Pn!UyB3JQXgEq)nP5bup&wJJ|
zu<`TIPh7E7V12}gs5`c*c8j~dJ(fcB1ZC}_kCMMd<SlU*s_hm_2{;c?ZK@8nflh%J
z(;z&Fk5;7Pl{$6(`e6wPu&?P7tNXk)n1Pi0@d2|31qHjFONO<$OAE^XAsRuN7yMri
zgf~sS+LCJG^jM2<lvFpx&###r1yUawn#jr;ce4C7m=8IZ*A7;__f>U0uWtu+j{P+o
zwVtWeZ=Z&i)=hZt5;CK%#6N!j=1uR{AEG!DOwG*5*Y9dpTcw+{26C>txs8c3-m*S7
z$7>BjM()Cn9i1xa7v#lX)gPH9%uZTwXZV#~DAd26ENY=stt8`WJ9dm8w#INqr_B;(
zd<KH$g>ip}NJQyQd96Y|0gE*_+6>$_Xj)YYHZ@aETrz_!bG>w5aYLVPyL7^1u8V@Z
zP1EAs2Rx5>L^9%S=z?Xj`_#p4jny3%53gkvhnXj;w8ah`iAM5DraQRp{EkIm4^p8c
zd#7a?(KqT37S3oyk6y++iymHhMg|?8Z@_I=Zd;vX76`mekx2G(6`-D5J%Zm(?2lX3
zlOzOgv4TTE@)ULooitwVx5SQbwNp)yPFQ2XxDZt!Irjj&m0n(%Yd`FUFzfbgCS#}3
z`$uY~d*@_dap^aMdJPz(9dVZb<P|Gc`1`k<nt3|RG*Kn}*hO@e2qgI50qN$rm?6-F
zHm#ybG)L4FnRMAo+PRMo+O*1?9xwZNt@Vh;0_MQU;F8lgVf5?Y|8=DeZKo~DIV&`1
zy)CfTvwHsi=uggFCN1`wR7&T}Y}BX<q*uW)*EtqxaC^mXr*gA8^w^)rY+lrZKmV~v
z&M0L1IJJmj4~cP;!+x$0Uo*FcESRWaRlf(|zx3(T9M3}-t%LZZM3G+9Z5^8zceY_n
z>jTL!uAqTdDf`8SIIs%)a<ofAa7IQ8%w6dfDxpKa-Pzc6LLCj8F!iau6r=CML1e;E
zTt0^fg^2-+j*stUY)V70pkUgP6^}{C?CdiA8Z;6-q!My&O_MmB_Wa*F5K36a9nU_L
z4z~i!(f7O@_@`|c%Ef;N%k`n^-xA~OJfyv+mR7*hlMZv|#*<e5VKhJ*{7OL=8x5#?
zdgHdpJ-oQHn)UJa?Y*-3bLK?Oire}vOeZ|s-z%*%*0ylBym~zzrD(U<p!*Fx?w>q-
z*!9a=`VUiT9%5?xmHT3q@K{cu5ht{_J_KT6oWceCP$kYy@P0=<0b{oJ{s{~irx3YV
z@UJs22c-F+1fp&7Dn%tFvFGnOeiTUsUU7R}-B1`jsHjNPnRzB47!(`IN!wWpQ&JR2
z`AXU&#R;Vn8YN>f;yzky<9(vfr_8SMZzz)VKD~ot4~>n6nPYHH5k&@P(K<grL-W;@
zP2t<XmPl|=uqhYy_}$hPHY`!4Qgp(#-P?*~5JQr07R)EVWw|_i*4xt~`)Qojh(S2r
zo<DuM)-Jp2+i>}lvz9DeI4)}c;)P&i)**W<bEv}MM?cqKGm6+y$n&DPFxzxAc9c|}
zpuaw9X;fqGI?H*iYYhz!)=6j9ul@1Kg~gY&xM989@LJq98oQs2vlOG=fX3Cdv!R<m
z?qnkFX%1j=rXLM2Z1$Ei(+C8zTY2PrT2>^RG`>|dtEWme$?DG_1h8I`CQSvGg%O6$
zmDG}M>nO`;e0Q$VUQfPHU}(Gwv2nP6;}KoEdSg(~(3`h?yByuOMrCS?_F}2!WnET@
zGxPX`hiRJQuYUW<W9d20p&1txeZNEh3cE70OSqN8UpJe(P74+;4CnT>U0rJP(y{BG
zi4_EX7JC;L!!t*6W@$M3i>AWf-i;U%ZtWs{Qe#TjdS!DYod8%{4{WzK^JC#+-JRY!
zLOHOd-ezw95;7RLE#n_bFz;y*O+&ZRJhwJ!CwC*(1#SiDsUd7Elf)SRe=sZ}V7<KH
zzFCZ`QN>tksSdi)@oguC6>A3(W|fqX34H<2Yr4nPAgMEUx?*Rc@Dv9;mXY$hHQ7Pi
zuY(M#ilxr|``p>J-rjCSSMIo??oyo@uPk>o{PxgrnDQ*lD|v|A7zA%Hr+Vq*CDi~A
z@82&udbV#z!JoahcsOZG{K)ke3r<C29Dh7B^WcDMy-iHKsZp&o&%_bqIjpZ0=9{1H
z-tWj9^`>^3>|OUw>h?B03B3}0=!@O@=ltk;VoE}@=m3>JL@H@bV`((cZnm@Y!6^+D
zrKPhkTn+rMZX-`vV6=ra75>7}L<0$d8;aEE`O_Ypxnb)aN^^4;iqhKmHME>ao3h__
zS|jVZRk=$f##SVFVdlpyuz8>|hx4OnZuMkR)OfXiM<h#mlgMq|r#+Vwj-;f#{`Bc_
z?-scb<$iw#K8|$k(qk}{Rr5t7pjR4zFEp<nITAee1jM8u>Kl;mmKI3=Y;uk!He5qP
zG%4ijWs|K?Hor*7<4=@}R~L7V;nuNqA+sEZX10Tks6AxKw1m4+<fM_=_10LKy->))
z?~-?Z=f#%GH92!rVQQFvllyReZ5PFXxQ0eJ&6`L0w>23m0B+`Rqfz?*DEhh@bsyR5
z*RNkk1T>MI<Aggo>P0VkO(;ccV(R`Fu@f7XzMMuwXJ0v`)mz_{pJ!K)M?g&I(PJ2e
zXK1KoTRnF%sptbVA<N$-8O|GxZ!ZH`Xx=!1^e0VjQ9?^=D~2cx`;;0=4q?>4zZYI3
zJmCiEM?TkD5`WD!jTf!aVqTd_&2OWH0gZ9R%M6u)r%7_FDAio~^x&etuV+76kY?d4
zH9|Ue`;#~Ola3xOJY>w}j|Y8>ZTOHgK$`rb;O+d?G@aA5{ng&*-(BV9B_+@lsCji@
z=gz4C%LAZSuVjSV#Zk`2qhnn!pE|WHpvQ8cO9G3F>D%@z+HQKG&BJHTnzcZ^nLP(C
z`7!8&r^zo$%L{(Gr#4@#uBsaI@h8R#LKcAHAjSGW+SQOc%F{(XLW33)7Yiy~eaNa;
zmOC=HBU)zFAkMdtRY#N7B_K7qx>$A4m{f&_cn#c)VXS9qr30XmezTbEz<b@;@aa>f
zR)Dw!F3H~3ziJD#nP5Y0;G4&IATbD=ZhbJ}9*e<Ehsqp2e2oKKow}W)U`RKVtpRvy
z-no0<z7?NOLI?8WhsJ=fZE?pz;x8wwR-YDG$O8v@rb~*nogdtKz{9!vBkyAGyDGyN
z2NYoA>-gOYLk$a!hi69Nfcuv_g(nSRC!txaE=Dv90*79C&ui@22M%P*4K7J5OHzho
zMH!%fc-WfbH<L+iBHZIh?cO=S{&X>y+1VIm|K?!oROLDSzEA_9ClH+(o0946n4=>e
z`itz6ai!A{O%@khM`=aw+}YgNIOpn0Ew!ub;KMd+ceu7>GgOb{&AxW2GwK-c$?3e+
zoD?{%TU+j2>XCpR8qO)5CmKvonEhRp+?t5q9F~`%%V`IV;>r-Wp**r!cnh2Gg$rxp
zw33gkV;D!0r+lnOHVmeVE6)4vg3?JbdO6igvh3QL#R(w`sn$G;?5|wBNDlts(IYL4
zETNOWIJ5fYSe80y2{|5a=ztZE?O(L6f}U}bz9|H%PCBF8pc(nM0uIox1;}c5EK@e_
z9LrPmblPyYT6M}L4x_`}vpdPllW1RG`$5&XTUl{&I=VNGB{GKQo%7O{I0Vpmy4V4_
zZ+7!(aQI;;1k)C3Nz}DxOTXiiGN;xNvMK96Kw(8wy+BXDt;pQQaoV&cpDUk@&3In|
z#Ch}P$#F^j`e=fgRv4YleN#h3TJv+^3n%}A($ddwdoLR}V+t9O4#b&9usb1NAsM(3
z{^0y@6O&zc7x<QG8>=0*GramETy^}3vbfQkhBv7mJ8^>fEwpO>Ed4yYRHk8=Ur!5h
zF2pDM098l=Sm3Zhn3u(Hn4A~XIwZ5tkMDEYVxiMu!S%81P0h_$E?btPS-m5xv^2KQ
z7N6{rk}HoECmj}9X69D|n5BgGAdhLi$GjU^;fcmQMaK_PFG5k3STPF%qgpHHmYPFd
zUvR@&OX~OzV7W{L*<N5ztgg3-zAJKv=`_f(egQpDFzcG1W0*B;<VnZAJidMf!x^4;
z!$*hy-Ivq-qwYv4`rywfKm$RX#W&LI!n$z>qvcHt0xGVpu_@Tn7Pj+cK()a;<UDmP
z7c8SqC)wFaiF_bF(%Rx-?XvN9Te=lBcBf8&G$tOSd-tyO8!}%{U;k_S^BZ3?;+ori
zstAKi%O?lO9os#zm-Y3FvwE40pL_mtz`)YSdAH{Om}eaO;Ihly`U$oUy_RqHI+ik{
zmy@+Y`PHR?L7BJL1-^T1m%8-0>6`CuxeMQJdc6K{Y1GpBYaWY89Z-HYr_|4Io-=jP
zj`q0~Um*0*%*1T3rMH1+-J4ryz;#6p@OPKqYwET{L=1f=n>r&V(5W~MwJrIINAsnz
z-3KVQsN?+)YRJZT+HGboUK}i9+tMY0dLQm;b?;ts@SbVdfvt)Q47Z+-xpm0q{;NJ8
zYRij*!FN!c4`__2e)kTe&lBPfzii&I*Q<TS=e585riVgAvvqau#MII#IxJadH!4M-
z6ra*y(%X^WPSJVtvuTf`P=O|X>YcBvshL3Nh1cY0Itou*(=~<ab2`vE<e*p6(Rnfu
zU@#q>&l-)ult-^#xxxtiRR%e)C+0thpf$?emGzcJMn%1De=*VZNpf3{2?zEb?g(QY
za|!ruyUN`k=H`yGw~wwoeG=4QZC$Z#OP`T*KZl<?sZo;Z*oOc+xNfIw-;H+%I`V|^
zi2+<5P}d;)ba%f?v4yx&0H<T1IdA1k<J$%I@8j2;@NH+zSRx$uye!TW-8W!g&{65b
zwo~pPoXkPu&h83XJUHM(ba^Jw(_kf5>qp>*9V6@hSw93sn9;2x#VA#q%#)&w9o{xV
z$-e6RBHF?@;<PM_2uz)aI1A!Q>eYR8x)^*gq2$ZnDU<j2M;kz^x;B;yA^*-DYtJ>R
z0#8w#uNtQw*s+Jh1}c|d_d*JGKJ01r+dy4i9bj-vcsOS<w{=s#Q$KGI-orsKdslku
zbV;r8w!j`V$!}b5{Yi^{u2R0d0?dS5S13p+bauU;T>QZpjfRG$($;LZT|J6P5}_B9
z&rft2mBqv&Rw6QzWgaV@GRmMY6IWpOCb%YXxfnKLMHqkc>=0z%yy3DECgzH5Z2hLC
zif1GcR&ktBUuFhH%tkwb_X9~E4BG-tr%gECAtaMNw=L|2q=)>{ZO8v)@BW~^$lOgp
z$o2HuvttvmKg!#o$;LCdbhuOT7N2V`;f(z$B9iYu_-m&4xdX0o<S$6iC5t86-K4%{
zJ+<X%kJ^C#miqZiozC@sE5ukv@TN84Yu-^Q0xf3mORl2~ikOHH{ww)TY3bE-=cY!L
z)bD2&ZR_tJuRxn)${VrY245Nwzv-}q8{S4VQj1ru!8Z=PI(|o4MTHAFdjGb(ylU_K
zl-X;?KQp1q0GOSh;T`g;On1}_`m0l1o!@JcgG^}1fEdUR7R7bAz1v3mmf4+FRmR7$
zPkMfzW1avgz9dBZ(tzmP>Rsz+w)92}OZ)!l536hL^gQTXrzk}*p0c6h#?ZO_6Yphd
zjM1=8b#3x^rV;<hRuJ9Xx^HJ}K=wd~>C;!QTW3FU;*!Tb?Vc8~<NlK}Y#weFf<-C`
z6Mg#e3*9=^dRqYK6uXA-t3j~u7)~$#lAnKi%Vg_ieWRg1b$nUvHNA@w`s!-PV8*Vu
z>|Ew0K8zppd8pB~%ad0`>0R9i00KxSK4!?h<ghsnj{pyn|LE>A0;{8L1@=6D>Qs%|
zYKwzl-2Zw_j*E|<%Q}?$bp!tf959D|u|NH03Y1YE4m+YM_8YA{P{)fem#?EAhZ0P(
zmT?dN0lvLl9FDHq<Lz2Lq50g3zR~it83S9|Vr(}9U_Ssjj`HbeZ;Dblio*dR^amb1
zmJOMhUZCW#t=|U4luhnESeRYqnb^3?CO+r(?=cM{`n7I$9oBPaW3UVON=U$oi@Au0
z$eDf((mlMNg}Sw{?A9WLjDWXhh=G6U2cU36HgU17Y|M)2{ItaHQ&#smQaO^r<YDd2
z8P1>B$_W}ef}-}wIY-7x^sw;<<<scnAq3;xfY+yEp0rrKgU$|4*dqkzR-;ah-!L=f
z^l6c|6EaXg-fHlu?>Ui*&$}(r++##US~NIbQf&=AZ%Fq$KIfP2e(rUJoF89L-x^1{
z9%Q?7AKRulN`4=>v;U_74+c$knlxz}waD4C1D2ixyw+J?p7m7sWIWE|z1!9$?%i7)
zH&eFmQ8Ju5$=pJ@CRIf~WnHn+-~m0y-g5fz+t(8DH+Q2tBn5m{<+Iv21?8RbFLyqE
z^k`q%10{&LL^y>X!I+WnDU-NCUCJ$|Q<C&pzoE8Pzu-_GN7B5nOq#9>Q^XGj)!W69
z*^vwmBZ4UDjJ6wKaP{}y<r9~6Kw`zCn(pX$e_$;S>Dck(OsgXP6ll#$=>6p>rfg>h
z>F4oLzd!0*l5gKk4wCB9D8XHW3q|@A@0z1y)3<WLeAT1Jj+uEqzd(hL06WC>eN9a-
z=31ou>^~147%p3vsMS+rwTNP~;jO$m+{j?wDcIKjsnKMp3Thk=zfZ%3xFJiY<DX(S
zfWZ|P#7ET1^sy1xw8-}#HW+Ih*5#tbi;FlyN$PQ$q)qN}v8C@I%;{))5MrLHtM5QO
z9aj4K{j1xz^Y<0*vMyey@-%Myo(*4@Y!bb_%nh^e+`DHyKQnG#4d^k$(4dsn%~1mf
zC_kSRmM4wyP22+U^*XlQB69H#Z29`c@@H?4Y2x5;%{gHa^QqcJeWlX#nGOy<zP?1f
z>kpNle{XI^o}sqH=Nl;j;Ie7#&AqB$2GNp8_MGzcguQ2iZ}qGFE_JUM9~!fH^XC3R
zhmJi$EO5H_#L&8W%ja={;osjn{PWN0|8&E!)<aTW=jj9)^kyuwvi>9_sGo1OPOa*k
z`|R1iN1jD54i|t=(Pnv7KET-c`20~1x?&bW)FpqK7O-@EKmZ~`XHO@;`@t3L?W;)=
zH!%Jnueq_|dq3Z-Pc)n$qI>umPhbY}wr%puesHQVf+dzLWBRJ=`FlwX)0dY{ZCQ08
z=63lD10F;jQTrKG#lmh6uez}f4YFeveMVb8{tybmhI-i`-|=y-fj`4PmZg}*<zHVa
z8SZf^k{#rrKuf`ma<b(>>K&({Q{oOEK8ylYOs;x+RQ!ZGZ+6MkeZlzzLpQjmf;bU6
z(AM4kC{?E8?2P4#X{A%TjM<+Xh0-pz7#r%iIB~G%?bQ<EkLV&H5ZKZa2YjUNxpgZL
z-q6?j6RN8!hDearGH~9<+Z&!!t=jJR5X$lcbFY~+l}zb!1;<jLg1UFqUYXPmRCSNe
zXPPBdzA<#IUu#pm>q`1cjk&QK7{s>Yd~^NR;>pU_wyA3W!*qxd8}eRHIWWZ5P3bv=
z0PK#i_M2z^&QaRos<^4yW&Iw+YUOnBv%T7YKT%oc6nTO84B168b`sqFuJ0e~kC=FP
zbjY!eK=VcyGPa#z9U%=aez0V)a~;jP;y{6ktjMAQ0{#?1iz-xCTsCL>TiA@pQ2piQ
z<vD7un)umq*`>J;GzWW3#Q9z7?OCR5E{Kj@Awjjli^#8*F{NKY{N&@iQe&-^p6@HW
zCOL6?Eisz2HGAORrfYuuoP2wyCn$q~iU3ds-!Km*f8iR&=%2$u8aypk!F1z@{MpLw
zMoV8$xR^TrYhSTf0-EC3=ZQhB98;dhExf&v8>ypn7$M%YJ`&x_R`wf#6Au>bR0%XB
z?+xrpVhP>uW*4=gQHsxx&G*ay6YO&FjO1mfOh|7u*cSO^8Gq<_8;_5=impl#Uz=)e
z;uF8g3miNS4l3VEiuoS0j78TX_RjeJsUl${Y3awO#}u}N%s=)&F2K#~BQoi0wJ%?~
zRR8qY_C^aU?P#0N-L`V%g5>*-p4ol78O?Fp%&-?UIxH9B4;(B%ALrbp@Xd0!Q76Uc
z`ySnghsL&(97N~&$pN$N&F9{J7hMV)8}skqKYHsJtHf;3pqMuYtq)k)ZXR-(cJw&U
zcOUkiBHP_13-rWP(3GL-#lia@CpUgxyS(_#QrHPFpT~cmahev|>q$H3;gxy^<ZRiE
zR6D)x3lJkhj0tz0_(__AeDkdg4J(<C+9Uj;%HNNd`S|b0*D~;o$hEpJIZ3u~aim-9
zOPQ2EZoQXx$p1L9RVbjdM7jf5G=26dn&!K+q87eVA_qhhE_kn9n=+z%v9iXOlh8u<
z+)oLVpdeq#zWsLY<CFv0`8|8JSyg`@y{J<}E~RRx%POUus|?7h+`3(J!mXOrt2+6?
zE^}|qpq@T;=8VDb9UY%;6ybo(z~2Y%Wz~&4kVGMLa@bZo-QM2WeMaD2OSf67WKR0k
ztDg&#Bl@>@n$&r7w(eCwpVud&_RP}OLdTwE?Ya?dJ)f=XtxL0K&K&<aZe;ZfNKTVD
zVCmb$lsVlnC~_P)f<rbTff1^^AD$aN42@Fv?Y%dya=j<}5w*4H$dLzs)rWC*(*~vi
zIz*;KsJ`)rQ?MTX07@<W*?m^7rzfD6@$cfaIsC=m)^`1`Z$>*p3hy#6l8{70VXbVa
zM$X>pH@U-{?8UG4%^-mSS$LJUFan*IkzUYqU>}TryxQjGE1xFoue0j40JFNMrKN<{
z%<ypO+ZQlN1TzD7CtvsaV<hN8`Od4w9&}QQxiD?U3`KnH8T4^GtiL@pjeZvmR)5_`
z0#H&i$;6X`96}0<if;RE)i3S07+YQUCH_%NLP9I<0Uhsoxw#?4Ttg?e`}XmZ0P{Gn
zK~UrD?zd?nZ9r8qv7aYFo2URr^7GfPFA8`9z!}F71AdTU%q1Ej++^FvO>|s_L7yZ!
z{HX%`M~oB)7DzgF*{IKO4`k%W94_H>(BsF}1NEo%?d~Q-gyhwVqsS{`w<uek6lD`D
zpU&RU;a1an^%UPx@&eWW^9&!+Bk1yF(Q$D!a~}R2M^PuDRzH86iVC;tYAW~a&(BNz
z>GuF`fvcolyjY_~1q#jAV$>+eVyENNp5*~paMNUExBGmgS&dRzBnWX~fz?o|XyPIo
zH&9DHBGwQuu0{{fI^Goc^Gz%kG9&~J3OH7^^8KlPRr9c0rWfZw)P;N<2FN!oVaWIc
ztD&OJIy-OQo;}G(GOn4li%F)7%WuxW1w8|3E@O~NV`%pVAAFB;tG!8B^wX5X5xW7S
zi@Q8(Avh}fu0?eh?+7M1n*i0uC;IsS5kkV0+^jHRXV0bhDG|V~CoOxv?$xGJv;rZv
z?Y(_BcMAFTsa`Uez7H?3-t}G{9(P`);0z0ycz{Z@s2ajiYMTRe*9K8G5WS(ltvF24
z<Ma^x5}N!+Hq9S#O#yw+$y2BP9VpIp-?L}=pM)}ImHDRG>wRg*?{O|ovQvYGzUwL~
zrH`CHZ$Ii_`&-ALI}{~%iNdM_MHEah89X@YtpimW&p-9nlSe;Wkkt;3w+mTV=5>Vz
z@{ENml~_#pS%oyhKVrEpGWU$BzJI^4;C}kqoU5vOValq9yPn6GMeedY1;uFpMqOc7
z_$WA7Ybio$+lpf6PX+U4)IUz<{zKv_qKX``%W#+5lY8ASF{%yT$5XBGMIXyAPxiDa
zD0xS&#pIPweGhmd%(rZBGp%sY-2lq0jbC^>gPV9|qw)B9(gO>(nKNcI+L%r3xc%;6
zbMyUmMg}|6KU@*}NV_!*3m2r6I@)cRSG#x|enBoSiJ$r^kD3sz{m9M4zdiBM3(}@@
z{_lI8Z7u{G22C)Uxl`F{Vt2e074}YxP5n8+%~C&1*=m7m{sFoK^bgibkBcoyv|%NK
zd>`Dq*Lt1q6d-h)MAzdppEF<peSd|+kVl+zVL?U@EGVpDj2CikqUR?-+ldkK)(M<{
z(<A0F0y1#(<jl*T0w+-NVOp}nrNS25%=H(qTP)c`^n=p%VQ11(2>WgDUau!FIY3%*
z<y>b|0VT$RkCKB=N;5}Gv@)>l@XD>WZ+dgR10VKVQf13e8BH6BuYIlLj=t61enTP{
zDInCeB|E~k<HYB*brm*%9x5r~88yu8w%OSmn~Lw<GsK|A*SB->Iq8adj0F-~o#G=P
zgrW;vYg0Ic&_}g&V#K!N@gvq5`*xK7*6AXejr4Sp0*eB$BCR0V_Z`z#XZ{%wUXp|_
z!`g@f50HkoeG8nnm-q*z`u^@^0Jz{(;oNs(4PrjgBx2Q?kU6`SY17>Q^{4go{R2<&
zMWO-T23~4QvPPr!=C{XxW^#k1gE_3G_qheCAQ8;*)Kt1`zY%d-sQUc*JYInVH{#n1
zH{<3i&kojqTrpG-A(FwGrt$sPvXF}7H{}1j7E1E&d6%6ovX&GDXyHfB)iyz6p?PLI
zV27~}B@cRst}W^iiywS>Hw?uVTt3}QSp9)$IXxE!A~J+XGsd5rLO%86!Gk^dMo){1
zBv8rn8WWXE&yWLHN*-?FbS4pnRQ)ld0o$>pS;y7o=!{I?Oc00xXCuY^q6fews(8<w
zNikFbinxF1E+`njNvH2mj`Gb+JIpuf4ToZdr}@nC%_k0z3YhRIdeXtJpQoWWq=P?m
z!*~6#U3WNK=($T|*<1epw&HQWf*d+yg^e?`5l<HH??31u51M|kz_d<0Qu{aU>y{E{
z^8#JKVXLrd^{WwUe#t5?*SMWMPxQXd9RcO?RJ_(KS^!M&PDo4?$KRp6?#X=XVV66$
z{@NsxAt2iETGlSjnmajjnxmr=#GLg#yL2gPe9SW^-Q+{<INx5M>cjaAtCCm7zq+i+
zl9Nrz2Zwq+XKs5MJjHvncgDua>4oiTF~KHD*{WvGU6nWd`<5Aa1#zG~z1!Kmi1l3w
zG{5tEt~skxSvsCC-|2I<zK};OHc=<-W1BA1<V^4%Ilse*{I^jhGoEfc5229rVgGdT
z-O6Rk?Dx2a|L_%WX_LG5-?#X&Poa)x3kkWf1hyVDU?&3uK0>56eXOZibO{6v8W8t-
ze%Uv21DOQ`#ty-I_7t%YL2MIrdh=!m2^g2>MfK<)P*_7yT4wjPVfLr`l`pRB7>Pab
zn}M5ym3h{-@B&|toi(cjQj_MIiR0FP0~6y+^0-un&1!KupX=zAcbq!yZC^VJu;Ioe
zUz*Q%MO*%XEc~JJW-CR2L>12wy2oz0ZrqOD!#GUIf#IT5h<*oBva&QO+fUm(OR!;R
zE2A~Vy4>5Mr_h4SFB4GplbNv^O8Tq6ZUXn@{mi*@uaRL02(o;AeAu~fn*0f_uA?qg
zjufjLYCui~0wYlz#7gqmwQr{>Spa_v@)N}yxdF2V+`eQ5r0U0!o_zk?S+oqGPT!O(
zTasXdL4_cYTU|yLjduRa7fBJpMhajnL!_0vFFe&)wrJ6_vra>W#&6&D?%9LpDl$5H
zRm+&d^+N^@{LCc_S+|FZ^IGuKBHe-ZKiOoZ_=x-n!VH(T5KvQq>2|<ZqXV(!sLId<
z<D;X7G4(j!qJ<t5&C8U6{QQ%g`@@H$Z<)g*4IL<O`;r{Iy!tQQ-v6I}#Q9-HWMBZ5
z-@z+bM?j4ABW77^gV?~qG>C3*sqGwcmOu?#Z2l$B9Ucp8#2a|;_WL%Nq*CUfiK1~3
zG>Oxn=cugz2ETyFq$rb{muKVVNOPT!VQqb<{m&0eJQ&}G@8IeSKSLoUrpp9V&cy^=
z+sOBz6JpW6xEZi+(;CgKeS24I#90eV4QX?9+Eo!cfvB!-;YWnUr2$e{9>Fg<w48wu
z14%q%dZ@SHFeW-o&|4sOlAyfl)miOfGC2vQoun|>b4Kuu8?CrJ@F1<mjk|ro2J29<
zhu%1yySlPXB7pVP(y7D~z3k8nzFd)DLLwJpATN-mlP+wasmCB*-og4+<eT56>@kVp
zY&Rg3FV^_0%LpLRgv)I&L;O)bP&=knN{TV!Cx$9g7iX?rn-07xIA?f|^%!0oJzX6A
zmap|^kIgmbPuPG-WMyX`y(MLPZk9w94dPC(9kio|F1)9Bz0!y`nHcA-tu=IIPeENn
z16<11!+7$PDZTR^$D7)`R#McC&a;$=&O4o&Dj{%~{nD86vlVje(9EcEl12cYzNu=_
z+%vO1D4%Jbq>3*52A#PP+eU^R{;saLCBOB0`~75|tn#wm=g(Mf<C~AlxcwI_{tH2>
zI&Z~OcH+jrC#hc3R_&KhH*#J<;%p;*J~qSB>TEt?f<VyEc_oao#f$S?6P1NPl53}{
zD^WtZ(`Xo=UKKQB)~wwh9+D<u5oSGGUG8%Cr~f8%@5!OWkagJ@Xd9Yb&YP4A1TvCM
z<f;k+_A8>@pLkAb^^%T#&^rV!L6N$Q)!Fd$FMX{h1~ZZz9`DKCv=V3)KnA&X_^>Mr
zef!-cqx5!0h!RzW;N`>hiq*M<WqM?wboY|>V=(1Ggd=I>y*EKS>YyNf)nL)0H>Ahc
zlgFHVmNjyl@(PN0i0Cwygeu1P_WIg)Zd2^-NTz+~h&^LQBNXvL@n~{_p-@)#li)RR
z;zS{MWySUN8#dsD?fTl5ll*txvwz^1Qj#uP4;hs1G%Hwa{s6oQcp%Sobkuj6JZTc7
z^8B!6(35&9MLe7&FMz&NT2WOK)(v}eIBlm>fqO(Bpwa2rFFm3m_@cZVncMc(EqVrf
zG!8AF??pe@Z}sZke{U&nXB~ne^UJRSqw4l^@=L@a(Run>8%giST`@E;z^qZB?a{yY
z?~B^ok7K@^hMQ*T()6RFf<l)b4+$p{V`k5e9sbWc5^Yi{K}4t6S}D6((@eP<J)e%X
zZWI7N(}YOVFNW1%%-3?6QN1A_*HA1>$JlZyze6CgU-mX(>#j2~B^hdD8LWeesjI`v
z@nJi_A+RS;Y-Lqug9d`sA%nt7+Ml1dwhr63ZzeYvtqS3^<pvuZp1c?to}*UbAz(Di
zmjR(*<%Ek))Qc{aK}XPyjl#3wDFV$g#W}fvGoVl0OO77Ey+BTADrL%0DCxM&QBaKg
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
b8XG4c9u}Wh6Y#XFz}GahS*F)b>^%Pm--IL{

literal 0
HcmV?d00001

diff --git a/docs/fr/calculators/par/theorie_suractif.md b/docs/fr/calculators/par/theorie_suractif.md
new file mode 100644
index 000000000..b5cb6167d
--- /dev/null
+++ b/docs/fr/calculators/par/theorie_suractif.md
@@ -0,0 +1,77 @@
+# Passe à ralentisseurs à fonds suractif
+
+![Caractéristiques d'une passe à ralentisseurs à fonds suractif](theorie_suractif_schema.png)
+
+*Extrait de Larinier, 2002[^1]*
+
+## Lois hydrauliques issues des abaques
+
+Les expériences effectuées par Larinier, 2002[^1] ont permis d'établir des abaques permettant de relier le débit adimensionnel \(q^*\)&nbsp;:
+
+$$ q^* = \dfrac{Q/L}{\sqrt{2g}a^{1,5}} $$
+
+ à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) :
+
+![Abaques d'une passe à ralentisseurs à fond suractif pour une pente de 10%](baffle_fishway_suractif_slope_10_.svg)
+
+*Abaques d'une passe à ralentisseurs à fond suractif pour une pente de 10% (Extrait de Larinier, 2002[^1])*
+
+![Abaques d'une passe à ralentisseurs à fond suractif pour une pente de 15%](baffle_fishway_suractif_slope_15_.svg)
+
+*Abaques d'une passe à ralentisseurs à fond suractif pour une pente de 15% (Extrait de Larinier, 2002[^1])*
+
+Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\).
+
+On a donc&nbsp;:
+
+$$ ha/a = a_2(S) q^{*2} + a_1(S) q^* + a_0(S) $$
+
+$$a_2(S) = - 0.354624S - 0.0153156$$
+
+$$a_1(S) = 0.514953S + 1.25460$$
+
+$$a_0(S) = - 2.22434S + 0.596682$$
+
+Et&nbsp;:
+
+$$ h/a = b_2(S) q^{*2} + b_1(S) q^* + b_0 $$
+
+$$b_2(S) = - 0.559218S + 0.000504060$$
+
+$$b_1(S) = 1.15807S + 1.07554$$
+
+$$b_0(S) =  - 2.62712S + 0.601348$$
+
+## Calcul de \(ha\), \(h\) et \(Q\)
+
+On peut ensuite utilise ces coefficients pour calculer \(ha\), \(h\) et \(q^*\)&nbsp;:
+
+$$ ha = a \left( a_2 (q^*)^2 + a_1 q^* + a_0 \right)$$
+
+$$ h = a \left( b_2 (q^*)^2 + b_1 q^* + b_0 \right)$$
+
+En utilisant la fonction inverse positive en fonction de \(ha/L\), on obtient:
+
+$$ q^* = \dfrac{-a_1 + \sqrt{a_1^2 - 4 a_2 (a_0 - h_a/a)}}{2 a_2}$$
+
+Et on a enfin&nbsp;:
+
+$$ Q = L q^* \sqrt{g} a^{1,5} $$
+
+Les limites de calcul de \(q^*\), \(ha/a\) et \(h/a\) sont fixées à partir des extrémités des courbes des abaques.
+
+## Vitesse débitante
+
+La vitesse débitante \(V\) va correspondre à la vitesse moyenne d'écoulement compte tenu de la section d'écoulement \(A_w\) au droit du ralentisseur :
+
+$$ V = \dfrac{Q}{A_w} $$
+
+pour les passes à ralentisseurs à fond suractif en utilisation les notations du schéma ci-dessus, on aura :
+
+$$ A_w = h \times L$$
+
+## Cote de radier amont \(Z_{r1}\)
+
+$$ Z_{r1} = Z_{d1} + \frac{2.6 a S - a}{\sqrt{1 + S^2}} $$
+
+[^1]: Larinier, M. 2002. “BAFFLE FISHWAYS.” Bulletin Français de La Pêche et de La Pisciculture, no. 364: 83–101. doi:[10.1051/kmae/2002109](https://doi.org/10.1051/kmae/2002109).
diff --git a/docs/fr/calculators/par/theorie_suractif_schema.png b/docs/fr/calculators/par/theorie_suractif_schema.png
new file mode 100644
index 0000000000000000000000000000000000000000..53898288de611721cfc3fa08d5a8cd5a34f6521b
GIT binary patch
literal 75501
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
WzxeqQmlXM+h*xkxn178jD(hF@G_TzN

literal 0
HcmV?d00001

diff --git a/mkdocs-fr.yml b/mkdocs-fr.yml
index f1a4bcc6b..20a6b9fa6 100644
--- a/mkdocs-fr.yml
+++ b/mkdocs-fr.yml
@@ -64,6 +64,14 @@ nav:
         - calculators/pam/macrorugo_theorie.md
         - calculators/pam/macrorugo_complexe.md
         - calculators/pam/concentration.md
+    - Passes à ralentisseurs:
+        - calculators/par/calage.md
+        - calculators/par/simulation.md
+        - calculators/par/formules.md
+        - calculators/par/theorie_plans.md
+        - calculators/par/theorie_fatou.md
+        - calculators/par/theorie_suractif.md
+        - calculators/par/theorie_mixte.md
     - Dévalaison:
         - Perte de charge sur grille de prise d'eau: calculators/devalaison/grille.md
         - Impact de jet: calculators/devalaison/jet.md
-- 
GitLab


From b32c9419f26514fc06b8262cd2705525adfe2856 Mon Sep 17 00:00:00 2001
From: Dorchies David <david.dorchies@irstea.fr>
Date: Mon, 4 May 2020 18:57:24 +0200
Subject: [PATCH 032/117] ci: forgot to specify the jalhyd branch

Refs #398
---
 jalhyd_branch | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/jalhyd_branch b/jalhyd_branch
index 1e054d20c..d64531f13 100644
--- a/jalhyd_branch
+++ b/jalhyd_branch
@@ -1 +1 @@
-223-calage-d-une-par-remplacer-la-cote-de-deversement-par-la-charge
+devel
-- 
GitLab


From ef852a0da398b7042ae0b7a9e56a8ad90bfddafa Mon Sep 17 00:00:00 2001
From: Dorchies David <david.dorchies@irstea.fr>
Date: Wed, 13 May 2020 10:29:10 +0200
Subject: [PATCH 033/117] doc: Baffle fishways

- Mispelling
- Correct formula for number of baffles

Refs #398
---
 docs/fr/calculators/par/formules.md      | 12 +++++++++---
 docs/fr/calculators/par/theorie_plans.md | 16 ++++++++--------
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/docs/fr/calculators/par/formules.md b/docs/fr/calculators/par/formules.md
index 0d638ff10..d8744667b 100644
--- a/docs/fr/calculators/par/formules.md
+++ b/docs/fr/calculators/par/formules.md
@@ -20,7 +20,7 @@ Se référer aux formules propres à chaque type de passe à ralentisseurs:
 
 $$Z_{1} = Z_{d1} + h_a$$
 
-Avec \(Z_{d1}\) la cote de déversment du premier ralentisseur amont, \(h_a\) la charge amont.
+Avec \(Z_{d1}\) la cote de déversement du premier ralentisseur amont, \(h_a\) la charge amont.
 
 ## Longueur de la passe
 
@@ -28,7 +28,7 @@ La longueur de la passe le long d'une ligne d'eau parallèle à la pente de la p
 
 $$L_w = (Z_1 - Z_2)\dfrac{\sqrt{1 + S^2}}{S}$$
 
-avec \(Z_1\) et \(Z_1\) les cotes de l'eau à l'amont et l'aval de la passe, \(S\) la pente.
+avec \(Z_1\) et \(Z_2\) les cotes de l'eau à l'amont et l'aval de la passe, \(S\) la pente.
 
 La longueur de la passe le long de la pente \(L_S\) doit être un multiple de la longueur entre les ralentisseurs \(P\) arrondi à l'entier supérieur&nbsp;:
 
@@ -42,9 +42,15 @@ $$L_h = L_S \dfrac{S}{\sqrt{1 + S^2}} $$
 
 ## Nombre de ralentisseurs \(N_b\)
 
+Pour les types plans et Fatou&nbsp;:
+
 $$N_b = L_S / P + 1$$
 
-## Cotes de radier à l'aval \(Z_{r2}\) et de déversement à l'aval \(Z_{r2}\)
+Pour les types à fonds suractifs et mixtes&nbsp;:
+
+$$N_b = L_S / P$$
+
+## Cotes de radier à l'aval \(Z_{r2}\) et de déversement à l'aval \(Z_{d2}\)
 
 $$Z_{r2} = Z_{r1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$
 
diff --git a/docs/fr/calculators/par/theorie_plans.md b/docs/fr/calculators/par/theorie_plans.md
index 5161cb868..c6905b2ef 100644
--- a/docs/fr/calculators/par/theorie_plans.md
+++ b/docs/fr/calculators/par/theorie_plans.md
@@ -1,8 +1,8 @@
-# Passe à ralentisseurs plans (Denyl)
+# Passe à ralentisseurs plans (Denil)
 
 ## Caractéristiques géométriques
 
-![Caractéristiques d'une passe à ralentisseurs plans (Denyl)](theorie_plans_schema.png)
+![Caractéristiques d'une passe à ralentisseurs plans (Denil)](theorie_plans_schema.png)
 
 *Extrait de Larinier, 2002[^1]*
 
@@ -14,17 +14,17 @@ $$ Q^* = \dfrac{Q}{\sqrt{g}L^{2,5}} $$
 
  à la charge amont \(ha\) et le niveau d'eau moyen dans la passe \(h\) :
 
-![Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 10%](baffle_fishway_plans_slope_10_.svg)
+![Abaques d'une passe à ralentisseurs plans (Denil) pour une pente de 10%](baffle_fishway_plans_slope_10_.svg)
 
-*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 10% (Extrait de Larinier, 2002[^1])*
+*Abaques d'une passe à ralentisseurs plans (Denil) pour une pente de 10% (Extrait de Larinier, 2002[^1])*
 
-![Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 15%](baffle_fishway_plans_slope_15_.svg)
+![Abaques d'une passe à ralentisseurs plans (Denil) pour une pente de 15%](baffle_fishway_plans_slope_15_.svg)
 
-*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 15% (Extrait de Larinier, 2002[^1])*
+*Abaques d'une passe à ralentisseurs plans (Denil) pour une pente de 15% (Extrait de Larinier, 2002[^1])*
 
-![Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 20%](baffle_fishway_plans_slope_20_.svg)
+![Abaques d'une passe à ralentisseurs plans (Denil) pour une pente de 20%](baffle_fishway_plans_slope_20_.svg)
 
-*Abaques d'une passe à ralentisseurs plans (Denyl) pour une pente de 20% (Extrait de Larinier, 2002[^1])*
+*Abaques d'une passe à ralentisseurs plans (Denil) pour une pente de 20% (Extrait de Larinier, 2002[^1])*
 
 Pour effectuer les calculs pour toutes les pentes entre 8% et 22%, les coefficients de polynômes des abaques ci-dessus sont eux-mêmes ajustés sous le forme de polynômes dépendant de la pente \(S\).
 
-- 
GitLab


From 160b0d4af47236e52f56e27abb283ae1f713376b Mon Sep 17 00:00:00 2001
From: Dorchies David <david.dorchies@irstea.fr>
Date: Thu, 18 Jun 2020 16:34:19 +0200
Subject: [PATCH 034/117] doc: wrong link to the doc in PAR calage and
 simulation modules

Refs #398
---
 src/app/calculators/par/config.json           | 2 +-
 src/app/calculators/parsimulation/config.json | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/app/calculators/par/config.json b/src/app/calculators/par/config.json
index 3d592b2bd..f7acb8797 100644
--- a/src/app/calculators/par/config.json
+++ b/src/app/calculators/par/config.json
@@ -39,6 +39,6 @@
     {
         "type": "options",
         "selectIds": [ "select_par_type" ],
-        "help": "par/par.html"
+        "help": "par/calage.html"
     }
 ]
diff --git a/src/app/calculators/parsimulation/config.json b/src/app/calculators/parsimulation/config.json
index ae4302401..d2720ea4f 100644
--- a/src/app/calculators/parsimulation/config.json
+++ b/src/app/calculators/parsimulation/config.json
@@ -55,6 +55,6 @@
     {
         "type": "options",
         "selectIds": [ "select_par_type" ],
-        "help": "par/par_simulation.html"
+        "help": "par/simulation.html"
     }
 ]
-- 
GitLab


From de87c40b586aa2a1bd1681618c74faa3964e2c08 Mon Sep 17 00:00:00 2001
From: Dorchies David <david.dorchies@irstea.fr>
Date: Fri, 19 Jun 2020 10:28:22 +0200
Subject: [PATCH 035/117] doc: correction of $L_h$, $Z_{r2}$ and $Z_{d2}$
 formula

Refs #398
---
 docs/fr/calculators/par/formules.md | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/fr/calculators/par/formules.md b/docs/fr/calculators/par/formules.md
index d8744667b..fea7ece75 100644
--- a/docs/fr/calculators/par/formules.md
+++ b/docs/fr/calculators/par/formules.md
@@ -38,7 +38,7 @@ Avec \(\epsilon\) = 1 mm pour laisser une marge avant le rajout d'un ralentisseu
 
 La projection horizontale de la longueur de la passe \(L_h\) est alors égale à&nbsp;:
 
-$$L_h = L_S \dfrac{S}{\sqrt{1 + S^2}} $$
+$$L_h = \dfrac{L_S}{\sqrt{1 + S^2}} $$
 
 ## Nombre de ralentisseurs \(N_b\)
 
@@ -52,6 +52,6 @@ $$N_b = L_S / P$$
 
 ## Cotes de radier à l'aval \(Z_{r2}\) et de déversement à l'aval \(Z_{d2}\)
 
-$$Z_{r2} = Z_{r1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$
+$$Z_{r2} = Z_{r1} - \dfrac{L_S \times S}{\sqrt{1 + S^2}}$$
 
-$$Z_{d2} = Z_{d1} - \dfrac{L_S}{\sqrt{1 + S^2}}$$
+$$Z_{d2} = Z_{r2} + Z_{d1} - Z_{r1}$$
-- 
GitLab


From 3e1e3f64fcb3cc5a5afc01fd273cc71bf9e99b15 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 3 Mar 2020 15:36:22 +0100
Subject: [PATCH 036/117] PAR : calage

---
 package-lock.json           | 326 +++++++++---------------------------
 src/app/app.module.ts       |   4 +-
 src/locale/messages.en.json |   1 +
 src/locale/messages.fr.json |   1 +
 4 files changed, 83 insertions(+), 249 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index e74b6047b..9b10a8f62 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,7 +24,6 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
-          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -1369,7 +1368,6 @@
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -3693,7 +3691,6 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -3702,7 +3699,6 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz",
           "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==",
-          "dev": true,
           "requires": {
             "hosted-git-info": "^3.0.2",
             "osenv": "^0.1.5",
@@ -3713,8 +3709,7 @@
             "semver": {
               "version": "5.7.1",
               "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
+              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
             }
           }
         },
@@ -3722,7 +3717,6 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
-          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -3730,14 +3724,12 @@
         "semver": {
           "version": "6.3.0",
           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
         },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -4096,8 +4088,7 @@
     "@yarnpkg/lockfile": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
-      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
-      "dev": true
+      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="
     },
     "JSONStream": {
       "version": "1.3.5",
@@ -4180,7 +4171,6 @@
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
       "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
-      "dev": true,
       "requires": {
         "es6-promisify": "^5.0.0"
       }
@@ -4189,7 +4179,6 @@
       "version": "3.5.2",
       "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
       "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
-      "dev": true,
       "requires": {
         "humanize-ms": "^1.2.1"
       }
@@ -4208,7 +4197,6 @@
       "version": "6.6.2",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
       "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
-      "dev": true,
       "requires": {
         "fast-deep-equal": "^2.0.1",
         "fast-json-stable-stringify": "^2.0.0",
@@ -4505,8 +4493,7 @@
     "aproba": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
-      "dev": true
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
     },
     "arg": {
       "version": "4.1.3",
@@ -4616,14 +4603,12 @@
     "asap": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
-      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
-      "dev": true
+      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
     },
     "asn1": {
       "version": "0.2.4",
       "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
       "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
-      "dev": true,
       "requires": {
         "safer-buffer": "~2.1.0"
       }
@@ -4669,8 +4654,7 @@
     "assert-plus": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
     },
     "assign-symbols": {
       "version": "1.0.0",
@@ -4800,14 +4784,12 @@
     "aws-sign2": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
-      "dev": true
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
     },
     "aws4": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
-      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
-      "dev": true
+      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
     },
     "axobject-query": {
       "version": "2.0.2",
@@ -4994,7 +4976,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
       "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
-      "dev": true,
       "requires": {
         "tweetnacl": "^0.14.3"
       }
@@ -5057,8 +5038,7 @@
     "bluebird": {
       "version": "3.5.5",
       "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
-      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
-      "dev": true
+      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
     },
     "bluebird-lst": {
       "version": "1.0.9",
@@ -5669,8 +5649,7 @@
     "builtins": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
-      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
-      "dev": true
+      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og="
     },
     "bytes": {
       "version": "3.0.0",
@@ -5934,8 +5913,7 @@
     "chardet": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
-      "dev": true
+      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
     },
     "chart.js": {
       "version": "2.7.3",
@@ -6115,8 +6093,7 @@
     "chownr": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
-      "dev": true
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
     },
     "chrome-trace-event": {
       "version": "1.0.2",
@@ -6217,14 +6194,12 @@
     "cli-spinners": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
-      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==",
-      "dev": true
+      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ=="
     },
     "cli-width": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
-      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
-      "dev": true
+      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
     },
     "clipboard": {
       "version": "2.0.4",
@@ -6458,7 +6433,6 @@
       "version": "1.0.7",
       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
       "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
-      "dev": true,
       "requires": {
         "delayed-stream": "~1.0.0"
       }
@@ -6697,7 +6671,6 @@
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
       "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
-      "dev": true,
       "requires": {
         "aproba": "^1.1.1",
         "fs-write-stream-atomic": "^1.0.8",
@@ -7837,8 +7810,7 @@
     "cyclist": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
-      "dev": true
+      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
     },
     "d": {
       "version": "1.0.1",
@@ -8142,7 +8114,6 @@
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
       "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
@@ -8165,8 +8136,7 @@
     "debuglog": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
-      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
-      "dev": true
+      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI="
     },
     "decache": {
       "version": "4.5.1",
@@ -8243,7 +8213,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
       "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
-      "dev": true,
       "requires": {
         "clone": "^1.0.2"
       },
@@ -8251,8 +8220,7 @@
         "clone": {
           "version": "1.0.4",
           "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
-          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
-          "dev": true
+          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
         }
       }
     },
@@ -8387,8 +8355,7 @@
     "delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
-      "dev": true
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
     },
     "delegate": {
       "version": "3.2.0",
@@ -8451,7 +8418,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
       "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
-      "dev": true,
       "requires": {
         "asap": "^2.0.0",
         "wrappy": "1"
@@ -8663,7 +8629,6 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
       "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
-      "dev": true,
       "requires": {
         "jsbn": "~0.1.0",
         "safer-buffer": "^2.1.0"
@@ -9010,8 +8975,7 @@
     "emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
     },
     "emojis-list": {
       "version": "2.1.0",
@@ -9029,7 +8993,6 @@
       "version": "0.1.12",
       "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
       "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
-      "dev": true,
       "requires": {
         "iconv-lite": "~0.4.13"
       }
@@ -9165,8 +9128,7 @@
     "err-code": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
-      "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
-      "dev": true
+      "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA="
     },
     "errno": {
       "version": "0.1.7",
@@ -9255,14 +9217,12 @@
     "es6-promise": {
       "version": "4.2.5",
       "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
-      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
-      "dev": true
+      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg=="
     },
     "es6-promisify": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
       "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
-      "dev": true,
       "requires": {
         "es6-promise": "^4.0.3"
       }
@@ -9753,7 +9713,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
       "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
-      "dev": true,
       "requires": {
         "chardet": "^0.7.0",
         "iconv-lite": "^0.4.24",
@@ -9840,8 +9799,7 @@
     "extsprintf": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
-      "dev": true
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
     },
     "falafel": {
       "version": "2.1.0",
@@ -9884,8 +9842,7 @@
     "fast-deep-equal": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
-      "dev": true
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
     },
     "fast-glob": {
       "version": "2.2.7",
@@ -9909,8 +9866,7 @@
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
     },
     "fast-levenshtein": {
       "version": "2.0.6",
@@ -9945,8 +9901,7 @@
     "figgy-pudding": {
       "version": "3.5.1",
       "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
-      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
-      "dev": true
+      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w=="
     },
     "figures": {
       "version": "2.0.0",
@@ -10301,14 +10256,12 @@
     "forever-agent": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
-      "dev": true
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
     },
     "form-data": {
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
       "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
-      "dev": true,
       "requires": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.6",
@@ -10351,7 +10304,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
       "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
-      "dev": true,
       "requires": {
         "inherits": "^2.0.1",
         "readable-stream": "^2.0.0"
@@ -10387,7 +10339,6 @@
       "version": "1.0.10",
       "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
       "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
-      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.2",
         "iferr": "^0.1.5",
@@ -10956,8 +10907,7 @@
     "genfun": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
-      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
-      "dev": true
+      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA=="
     },
     "get-assigned-identifiers": {
       "version": "1.2.0",
@@ -10987,7 +10937,6 @@
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
       "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
@@ -11195,14 +11144,12 @@
     "har-schema": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
-      "dev": true
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
     },
     "har-validator": {
       "version": "5.1.3",
       "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
       "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
-      "dev": true,
       "requires": {
         "ajv": "^6.5.5",
         "har-schema": "^2.0.0"
@@ -11443,8 +11390,7 @@
     "http-cache-semantics": {
       "version": "3.8.1",
       "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
-      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
-      "dev": true
+      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
     },
     "http-deceiver": {
       "version": "1.2.7",
@@ -11485,7 +11431,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
       "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
-      "dev": true,
       "requires": {
         "agent-base": "4",
         "debug": "3.1.0"
@@ -11495,7 +11440,6 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
           "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
-          "dev": true,
           "requires": {
             "ms": "2.0.0"
           }
@@ -11518,7 +11462,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
       "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "jsprim": "^1.2.2",
@@ -11535,7 +11478,6 @@
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
       "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
-      "dev": true,
       "requires": {
         "agent-base": "^4.3.0",
         "debug": "^3.1.0"
@@ -11545,7 +11487,6 @@
           "version": "4.3.0",
           "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
           "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
-          "dev": true,
           "requires": {
             "es6-promisify": "^5.0.0"
           }
@@ -11554,7 +11495,6 @@
           "version": "3.2.6",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
           "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -11562,8 +11502,7 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
         }
       }
     },
@@ -11571,7 +11510,6 @@
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
       "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
-      "dev": true,
       "requires": {
         "ms": "^2.0.0"
       }
@@ -11602,8 +11540,7 @@
     "iferr": {
       "version": "0.1.5",
       "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
-      "dev": true
+      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
     },
     "ignore": {
       "version": "3.3.10",
@@ -11615,7 +11552,6 @@
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
       "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
-      "dev": true,
       "requires": {
         "minimatch": "^3.0.4"
       }
@@ -11680,8 +11616,7 @@
     "imurmurhash": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
-      "dev": true
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
     },
     "indent-string": {
       "version": "4.0.0",
@@ -11704,8 +11639,7 @@
     "infer-owner": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
-      "dev": true
+      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
     },
     "inflight": {
       "version": "1.0.6",
@@ -11880,8 +11814,7 @@
     "ip": {
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
-      "dev": true
+      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
     },
     "ip-regex": {
       "version": "2.1.0",
@@ -12070,8 +12003,7 @@
     "is-interactive": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
-      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
-      "dev": true
+      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
     },
     "is-negated-glob": {
       "version": "1.0.0",
@@ -12152,8 +12084,7 @@
     "is-promise": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
-      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
-      "dev": true
+      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
     },
     "is-redirect": {
       "version": "1.0.0",
@@ -12221,8 +12152,7 @@
     "is-typedarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
-      "dev": true
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
     },
     "is-unc-path": {
       "version": "1.0.0",
@@ -12283,8 +12213,7 @@
     "isstream": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
     },
     "istanbul-api": {
       "version": "2.1.6",
@@ -12749,8 +12678,7 @@
     "jsbn": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
-      "dev": true
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
     },
     "jsesc": {
       "version": "2.5.2",
@@ -12773,8 +12701,7 @@
     "json-schema": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
-      "dev": true
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
     },
     "json-schema-traverse": {
       "version": "0.4.1",
@@ -12785,8 +12712,7 @@
     "json-stringify-safe": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
-      "dev": true
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
     },
     "json3": {
       "version": "3.3.3",
@@ -12829,7 +12755,6 @@
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
       "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
-      "dev": true,
       "requires": {
         "assert-plus": "1.0.0",
         "extsprintf": "1.3.0",
@@ -13432,7 +13357,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
       "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
-      "dev": true,
       "requires": {
         "chalk": "^2.4.2"
       }
@@ -13525,7 +13449,6 @@
       "version": "0.25.4",
       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
       "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
-      "dev": true,
       "requires": {
         "sourcemap-codec": "^1.4.4"
       }
@@ -13549,7 +13472,6 @@
       "version": "5.0.2",
       "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz",
       "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==",
-      "dev": true,
       "requires": {
         "agentkeepalive": "^3.4.1",
         "cacache": "^12.0.0",
@@ -13568,7 +13490,6 @@
           "version": "12.0.3",
           "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
           "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
-          "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
             "chownr": "^1.1.1",
@@ -13591,7 +13512,6 @@
           "version": "7.1.6",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
           "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
-          "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
             "inflight": "^1.0.4",
@@ -13605,7 +13525,6 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -13614,7 +13533,6 @@
           "version": "6.0.1",
           "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
           "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
-          "dev": true,
           "requires": {
             "figgy-pudding": "^3.5.1"
           }
@@ -13622,8 +13540,7 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -13847,14 +13764,12 @@
     "mime-db": {
       "version": "1.37.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
-      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
-      "dev": true
+      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
     },
     "mime-types": {
       "version": "2.1.21",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
       "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
-      "dev": true,
       "requires": {
         "mime-db": "~1.37.0"
       }
@@ -13949,8 +13864,7 @@
     "minimist": {
       "version": "0.0.8",
       "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
-      "dev": true
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
     },
     "minipass": {
       "version": "3.1.1",
@@ -14000,7 +13914,6 @@
       "version": "1.3.3",
       "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
       "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
-      "dev": true,
       "requires": {
         "minipass": "^2.9.0"
       },
@@ -14009,7 +13922,6 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -14018,8 +13930,7 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -14027,7 +13938,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
       "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
-      "dev": true,
       "requires": {
         "concat-stream": "^1.5.0",
         "duplexify": "^3.4.2",
@@ -14066,7 +13976,6 @@
       "version": "0.5.1",
       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
       "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
-      "dev": true,
       "requires": {
         "minimist": "0.0.8"
       }
@@ -14103,7 +14012,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
       "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
-      "dev": true,
       "requires": {
         "aproba": "^1.1.1",
         "copy-concurrently": "^1.0.0",
@@ -14370,7 +14278,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
       "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
-      "dev": true,
       "requires": {
         "npm-normalize-package-bin": "^1.0.1"
       }
@@ -14389,14 +14296,12 @@
     "npm-normalize-package-bin": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
-      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
-      "dev": true
+      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
     },
     "npm-package-arg": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
       "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
-      "dev": true,
       "requires": {
         "hosted-git-info": "^2.6.0",
         "osenv": "^0.1.5",
@@ -14408,7 +14313,6 @@
       "version": "1.4.8",
       "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
       "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
-      "dev": true,
       "requires": {
         "ignore-walk": "^3.0.1",
         "npm-bundled": "^1.0.1",
@@ -14419,7 +14323,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz",
       "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==",
-      "dev": true,
       "requires": {
         "figgy-pudding": "^3.5.1",
         "npm-package-arg": "^6.0.0",
@@ -14430,7 +14333,6 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz",
       "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==",
-      "dev": true,
       "requires": {
         "JSONStream": "^1.3.4",
         "bluebird": "^3.5.1",
@@ -14445,7 +14347,6 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -14453,14 +14354,12 @@
         "safe-buffer": {
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
-          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
-          "dev": true
+          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
         },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -14497,8 +14396,7 @@
     "oauth-sign": {
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
-      "dev": true
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
     },
     "object-assign": {
       "version": "4.1.1",
@@ -14579,7 +14477,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
       "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
-      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "es-abstract": "^1.17.0-next.1"
@@ -14589,7 +14486,6 @@
           "version": "1.17.4",
           "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
           "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
-          "dev": true,
           "requires": {
             "es-to-primitive": "^1.2.1",
             "function-bind": "^1.1.1",
@@ -14608,7 +14504,6 @@
           "version": "1.2.1",
           "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
           "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
-          "dev": true,
           "requires": {
             "is-callable": "^1.1.4",
             "is-date-object": "^1.0.1",
@@ -14618,20 +14513,17 @@
         "has-symbols": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
-          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
-          "dev": true
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
         },
         "is-callable": {
           "version": "1.1.5",
           "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
-          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
-          "dev": true
+          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q=="
         },
         "is-regex": {
           "version": "1.0.5",
           "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
           "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
-          "dev": true,
           "requires": {
             "has": "^1.0.3"
           }
@@ -14639,14 +14531,12 @@
         "object-inspect": {
           "version": "1.7.0",
           "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
-          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
-          "dev": true
+          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw=="
         },
         "object-keys": {
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
-          "dev": true
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
         }
       }
     },
@@ -14794,7 +14684,6 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz",
       "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==",
-      "dev": true,
       "requires": {
         "is-wsl": "^2.1.0"
       },
@@ -14802,8 +14691,7 @@
         "is-wsl": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz",
-          "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==",
-          "dev": true
+          "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog=="
         }
       }
     },
@@ -14858,7 +14746,6 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz",
       "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==",
-      "dev": true,
       "requires": {
         "chalk": "^2.4.2",
         "cli-cursor": "^3.1.0",
@@ -14872,14 +14759,12 @@
         "ansi-regex": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-          "dev": true
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
         },
         "cli-cursor": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
           "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
-          "dev": true,
           "requires": {
             "restore-cursor": "^3.1.0"
           }
@@ -14888,7 +14773,6 @@
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
           "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
-          "dev": true,
           "requires": {
             "mimic-fn": "^2.1.0"
           }
@@ -14897,7 +14781,6 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
           "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-          "dev": true,
           "requires": {
             "onetime": "^5.1.0",
             "signal-exit": "^3.0.2"
@@ -14907,7 +14790,6 @@
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
           "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-          "dev": true,
           "requires": {
             "ansi-regex": "^4.1.0"
           }
@@ -15065,7 +14947,6 @@
       "version": "9.5.8",
       "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz",
       "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==",
-      "dev": true,
       "requires": {
         "bluebird": "^3.5.3",
         "cacache": "^12.0.2",
@@ -15102,7 +14983,6 @@
           "version": "12.0.3",
           "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
           "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
-          "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
             "chownr": "^1.1.1",
@@ -15125,7 +15005,6 @@
               "version": "7.1.6",
               "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
               "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
-              "dev": true,
               "requires": {
                 "fs.realpath": "^1.0.0",
                 "inflight": "^1.0.4",
@@ -15141,7 +15020,6 @@
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
           "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
-          "dev": true,
           "requires": {
             "pump": "^3.0.0"
           }
@@ -15150,7 +15028,6 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -15159,7 +15036,6 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -15168,14 +15044,12 @@
         "semver": {
           "version": "5.7.1",
           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-          "dev": true
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
         },
         "ssri": {
           "version": "6.0.1",
           "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
           "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
-          "dev": true,
           "requires": {
             "figgy-pudding": "^3.5.1"
           }
@@ -15183,8 +15057,7 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -15197,7 +15070,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
       "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
-      "dev": true,
       "requires": {
         "cyclist": "^1.0.1",
         "inherits": "^2.0.3",
@@ -15405,8 +15277,7 @@
     "performance-now": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
-      "dev": true
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
     },
     "picomatch": {
       "version": "2.0.7",
@@ -16190,7 +16061,8 @@
     "private": {
       "version": "0.1.8",
       "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
+      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+      "dev": true
     },
     "process": {
       "version": "0.11.10",
@@ -16223,14 +16095,12 @@
     "promise-inflight": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
-      "dev": true
+      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
     },
     "promise-retry": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
       "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
-      "dev": true,
       "requires": {
         "err-code": "^1.0.0",
         "retry": "^0.10.0"
@@ -16239,8 +16109,7 @@
         "retry": {
           "version": "0.10.1",
           "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
-          "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
-          "dev": true
+          "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
         }
       }
     },
@@ -16272,7 +16141,6 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz",
       "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==",
-      "dev": true,
       "requires": {
         "genfun": "^5.0.0"
       }
@@ -16433,8 +16301,7 @@
     "psl": {
       "version": "1.1.31",
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
-      "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
-      "dev": true
+      "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw=="
     },
     "public-encrypt": {
       "version": "4.0.3",
@@ -16486,8 +16353,7 @@
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
     },
     "pupa": {
       "version": "2.0.1",
@@ -16772,7 +16638,6 @@
       "version": "2.0.13",
       "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz",
       "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==",
-      "dev": true,
       "requires": {
         "glob": "^7.1.1",
         "graceful-fs": "^4.1.2",
@@ -16785,7 +16650,6 @@
       "version": "5.3.1",
       "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz",
       "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==",
-      "dev": true,
       "requires": {
         "read-package-json": "^2.0.0",
         "readdir-scoped-modules": "^1.0.0",
@@ -16811,7 +16675,6 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
       "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
-      "dev": true,
       "requires": {
         "debuglog": "^1.0.1",
         "dezalgo": "^1.0.0",
@@ -16957,7 +16820,6 @@
       "version": "2.88.0",
       "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
       "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
-      "dev": true,
       "requires": {
         "aws-sign2": "~0.7.0",
         "aws4": "^1.8.0",
@@ -17099,7 +16961,6 @@
       "version": "2.7.1",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
       "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
-      "dev": true,
       "requires": {
         "glob": "^7.1.3"
       }
@@ -17158,7 +17019,6 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
       "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
-      "dev": true,
       "requires": {
         "is-promise": "^2.1.0"
       }
@@ -17167,7 +17027,6 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
       "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
-      "dev": true,
       "requires": {
         "aproba": "^1.1.1"
       }
@@ -17185,6 +17044,11 @@
         "tslib": "^1.9.0"
       }
     },
+    "rxjs-compat": {
+      "version": "6.5.4",
+      "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.5.4.tgz",
+      "integrity": "sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA=="
+    },
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -17411,7 +17275,6 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz",
       "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==",
-      "dev": true,
       "requires": {
         "semver": "^5.0.0"
       }
@@ -17649,8 +17512,7 @@
     "slash": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
-      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
-      "dev": true
+      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
     },
     "slugify": {
       "version": "1.4.0",
@@ -17660,8 +17522,7 @@
     "smart-buffer": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz",
-      "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==",
-      "dev": true
+      "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw=="
     },
     "snapdragon": {
       "version": "0.8.2",
@@ -17922,7 +17783,6 @@
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz",
       "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==",
-      "dev": true,
       "requires": {
         "ip": "1.1.5",
         "smart-buffer": "^4.1.0"
@@ -17932,7 +17792,6 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
       "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
-      "dev": true,
       "requires": {
         "agent-base": "~4.2.1",
         "socks": "~2.3.2"
@@ -17942,7 +17801,6 @@
           "version": "4.2.1",
           "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
           "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
-          "dev": true,
           "requires": {
             "es6-promisify": "^5.0.0"
           }
@@ -17967,8 +17825,7 @@
     "source-map": {
       "version": "0.7.3",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
-      "dev": true
+      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
     },
     "source-map-loader": {
       "version": "0.2.4",
@@ -18172,7 +18029,6 @@
       "version": "1.16.1",
       "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
       "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
-      "dev": true,
       "requires": {
         "asn1": "~0.2.3",
         "assert-plus": "^1.0.0",
@@ -18327,7 +18183,6 @@
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
       "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
-      "dev": true,
       "requires": {
         "end-of-stream": "^1.1.0",
         "stream-shift": "^1.0.0"
@@ -18445,7 +18300,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
       "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
-      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "function-bind": "^1.1.1"
@@ -18455,7 +18309,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
       "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
-      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "function-bind": "^1.1.1"
@@ -18730,8 +18583,7 @@
     "symbol-observable": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
-      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
-      "dev": true
+      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
     },
     "tapable": {
       "version": "1.1.3",
@@ -18796,7 +18648,6 @@
       "version": "4.4.13",
       "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
       "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
-      "dev": true,
       "requires": {
         "chownr": "^1.1.1",
         "fs-minipass": "^1.2.5",
@@ -18811,7 +18662,6 @@
           "version": "1.2.7",
           "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
           "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
-          "dev": true,
           "requires": {
             "minipass": "^2.6.0"
           }
@@ -18820,7 +18670,6 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
-          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -18829,8 +18678,7 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
         }
       }
     },
@@ -19148,7 +18996,6 @@
       "version": "0.0.33",
       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
       "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
-      "dev": true,
       "requires": {
         "os-tmpdir": "~1.0.2"
       }
@@ -19229,7 +19076,6 @@
       "version": "2.4.3",
       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
       "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
-      "dev": true,
       "requires": {
         "psl": "^1.1.24",
         "punycode": "^1.4.1"
@@ -19238,8 +19084,7 @@
         "punycode": {
           "version": "1.4.1",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
-          "dev": true
+          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
         }
       }
     },
@@ -19407,7 +19252,6 @@
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
       "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
-      "dev": true,
       "requires": {
         "safe-buffer": "^5.0.1"
       }
@@ -19415,8 +19259,7 @@
     "tweetnacl": {
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
-      "dev": true
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
     },
     "type": {
       "version": "1.2.0",
@@ -19627,7 +19470,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
       "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
-      "dev": true,
       "requires": {
         "unique-slug": "^2.0.0"
       }
@@ -19636,7 +19478,6 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
       "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
-      "dev": true,
       "requires": {
         "imurmurhash": "^0.1.4"
       }
@@ -19654,7 +19495,6 @@
       "version": "0.4.20",
       "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz",
       "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==",
-      "dev": true,
       "requires": {
         "debug": "^3.0.0",
         "request": "^2.88.0",
@@ -19665,7 +19505,6 @@
           "version": "3.2.6",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
           "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -19673,8 +19512,7 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
         }
       }
     },
@@ -19940,7 +19778,6 @@
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       }
@@ -20037,7 +19874,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz",
       "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=",
-      "dev": true,
       "requires": {
         "object.getownpropertydescriptors": "^2.0.3"
       }
@@ -20128,8 +19964,7 @@
     "uuid": {
       "version": "3.3.2",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
-      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
-      "dev": true
+      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
     },
     "valid-identifier": {
       "version": "0.0.2",
@@ -20151,7 +19986,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
       "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
-      "dev": true,
       "requires": {
         "builtins": "^1.0.3"
       }
@@ -20172,7 +20006,6 @@
       "version": "1.10.0",
       "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
       "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
-      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "core-util-is": "1.0.2",
@@ -20255,7 +20088,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
       "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
-      "dev": true,
       "requires": {
         "defaults": "^1.0.3"
       }
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 15ede0e09..e926b0d43 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -29,7 +29,7 @@ import { MaterialFileInputModule } from "ngx-material-file-input";
 import { DragDropModule } from "@angular/cdk/drag-drop";
 
 import { TableModule } from "primeng/table";
-import { KonamiModule } from "ngx-konami";
+/* import { KonamiModule } from "ngx-konami"; */
 import { MarkdownModule, MarkedOptions } from "ngx-markdown";
 
 import { FlexLayoutModule } from "@angular/flex-layout";
@@ -174,7 +174,7 @@ const appRoutes: Routes = [
     ),
     StorageServiceModule,
     TableModule,
-    KonamiModule
+    // KonamiModule
   ],
   declarations: [ // composants, pipes et directives
     AppComponent,
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index a99a7e8b7..e1c413855 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -511,6 +511,7 @@
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length",
     "INFO_EXAMPLES_TITLE": "Examples",
     "INFO_EXAMPLES_SUBTITLE": "Load standard examples",
+    "INFO_PAR_P_WAS_IGNORED": "Given P value was ignored",
     "INFO_YAXB_TITRE": "Linear function",
     "INFO_YAXB_TITRE_COURT": "Linear f.",
     "INFO_TRIGO_TITRE": "Trigonometric function",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 79f5ff227..2af5e6c11 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -511,6 +511,7 @@
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir",
     "INFO_EXAMPLES_TITLE": "Exemples",
     "INFO_EXAMPLES_SUBTITLE": "Charger des exemples types",
+    "INFO_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée",
     "INFO_YAXB_TITRE": "Fonction affine",
     "INFO_YAXB_TITRE_COURT": "F. affine",
     "INFO_TRIGO_TITRE": "Fonction trigonométrique",
-- 
GitLab


From d02d89205f5d79e9aa7b66bffd0c9041e9c34661 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 5 Mar 2020 10:08:53 +0100
Subject: [PATCH 037/117] Update dependencies

---
 package-lock.json     | 502 +++++++++++++++++++++---------------------
 src/app/app.module.ts |   4 +-
 2 files changed, 250 insertions(+), 256 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 9b10a8f62..a5a1acc4a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -24,6 +24,7 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -492,183 +493,6 @@
           "requires": {
             "type-fest": "^0.11.0"
           }
-        },
-        "ansi-regex": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-          "dev": true
-        },
-        "cli-cursor": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
-          "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
-          "dev": true,
-          "requires": {
-            "restore-cursor": "^3.1.0"
-          }
-        },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "figures": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
-          "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
-          "dev": true,
-          "requires": {
-            "escape-string-regexp": "^1.0.5"
-          }
-        },
-        "inquirer": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.0.0.tgz",
-          "integrity": "sha512-rSdC7zelHdRQFkWnhsMu2+2SO41mpv2oF2zy4tMhmiLWkcKbOAs87fWAJhVXttKVwhdZvymvnuM95EyEXg2/tQ==",
-          "dev": true,
-          "requires": {
-            "ansi-escapes": "^4.2.1",
-            "chalk": "^2.4.2",
-            "cli-cursor": "^3.1.0",
-            "cli-width": "^2.0.0",
-            "external-editor": "^3.0.3",
-            "figures": "^3.0.0",
-            "lodash": "^4.17.15",
-            "mute-stream": "0.0.8",
-            "run-async": "^2.2.0",
-            "rxjs": "^6.4.0",
-            "string-width": "^4.1.0",
-            "strip-ansi": "^5.1.0",
-            "through": "^2.3.6"
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
-        },
-        "lodash": {
-          "version": "4.17.15",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
-          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
-          "dev": true
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "mute-stream": {
-          "version": "0.0.8",
-          "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
-          "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
-          "dev": true
-        },
-        "npm-package-arg": {
-          "version": "6.1.1",
-          "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz",
-          "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==",
-          "dev": true,
-          "requires": {
-            "hosted-git-info": "^2.7.1",
-            "osenv": "^0.1.5",
-            "semver": "^5.6.0",
-            "validate-npm-package-name": "^3.0.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "5.7.1",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
-            }
-          }
-        },
-        "onetime": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
-          "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
-          "dev": true,
-          "requires": {
-            "mimic-fn": "^2.1.0"
-          }
-        },
-        "restore-cursor": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
-          "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
-          "dev": true,
-          "requires": {
-            "onetime": "^5.1.0",
-            "signal-exit": "^3.0.2"
-          }
-        },
-        "rimraf": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
-          "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^6.0.0"
-          },
-          "dependencies": {
-            "strip-ansi": {
-              "version": "6.0.0",
-              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-              "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-              "dev": true,
-              "requires": {
-                "ansi-regex": "^5.0.0"
-              }
-            }
-          }
-        },
-        "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^4.1.0"
-          },
-          "dependencies": {
-            "ansi-regex": {
-              "version": "4.1.0",
-              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-              "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
-              "dev": true
-            }
-          }
-        },
-        "type-fest": {
-          "version": "0.11.0",
-          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
-          "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
-          "dev": true
         }
       }
     },
@@ -1191,7 +1015,9 @@
           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
           "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
           "requires": {
-            "glob": "^7.1.3"
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
           }
         },
         "source-map": {
@@ -1368,6 +1194,7 @@
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -3089,6 +2916,7 @@
       "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
       "dev": true,
       "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
         "@babel/helper-plugin-utils": "^7.8.3"
       }
     },
@@ -3691,6 +3519,7 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -3699,6 +3528,7 @@
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz",
           "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==",
+          "dev": true,
           "requires": {
             "hosted-git-info": "^3.0.2",
             "osenv": "^0.1.5",
@@ -3709,7 +3539,8 @@
             "semver": {
               "version": "5.7.1",
               "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+              "dev": true
             }
           }
         },
@@ -3717,6 +3548,7 @@
           "version": "6.5.3",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
           "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
@@ -3724,12 +3556,14 @@
         "semver": {
           "version": "6.3.0",
           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
         },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -4088,7 +3922,8 @@
     "@yarnpkg/lockfile": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
-      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ=="
+      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
+      "dev": true
     },
     "JSONStream": {
       "version": "1.3.5",
@@ -4171,6 +4006,7 @@
       "version": "4.3.0",
       "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
       "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+      "dev": true,
       "requires": {
         "es6-promisify": "^5.0.0"
       }
@@ -4179,6 +4015,7 @@
       "version": "3.5.2",
       "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
       "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
+      "dev": true,
       "requires": {
         "humanize-ms": "^1.2.1"
       }
@@ -4197,6 +4034,7 @@
       "version": "6.6.2",
       "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.2.tgz",
       "integrity": "sha512-FBHEW6Jf5TB9MGBgUUA9XHkTbjXYfAUjY43ACMfmdMRHniyoMHjHjzD50OK8LGDWQwp4rWEsIq5kEqq7rvIM1g==",
+      "dev": true,
       "requires": {
         "fast-deep-equal": "^2.0.1",
         "fast-json-stable-stringify": "^2.0.0",
@@ -4493,7 +4331,8 @@
     "aproba": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
-      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="
+      "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==",
+      "dev": true
     },
     "arg": {
       "version": "4.1.3",
@@ -4603,12 +4442,14 @@
     "asap": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
-      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY="
+      "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=",
+      "dev": true
     },
     "asn1": {
       "version": "0.2.4",
       "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz",
       "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==",
+      "dev": true,
       "requires": {
         "safer-buffer": "~2.1.0"
       }
@@ -4654,7 +4495,8 @@
     "assert-plus": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+      "dev": true
     },
     "assign-symbols": {
       "version": "1.0.0",
@@ -4784,12 +4626,14 @@
     "aws-sign2": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
-      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg="
+      "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+      "dev": true
     },
     "aws4": {
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
-      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ=="
+      "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+      "dev": true
     },
     "axobject-query": {
       "version": "2.0.2",
@@ -4976,6 +4820,7 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
       "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=",
+      "dev": true,
       "requires": {
         "tweetnacl": "^0.14.3"
       }
@@ -5038,7 +4883,8 @@
     "bluebird": {
       "version": "3.5.5",
       "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz",
-      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w=="
+      "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==",
+      "dev": true
     },
     "bluebird-lst": {
       "version": "1.0.9",
@@ -5649,7 +5495,8 @@
     "builtins": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
-      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og="
+      "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=",
+      "dev": true
     },
     "bytes": {
       "version": "3.0.0",
@@ -5913,7 +5760,8 @@
     "chardet": {
       "version": "0.7.0",
       "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
-      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA=="
+      "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+      "dev": true
     },
     "chart.js": {
       "version": "2.7.3",
@@ -6093,7 +5941,8 @@
     "chownr": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="
+      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+      "dev": true
     },
     "chrome-trace-event": {
       "version": "1.0.2",
@@ -6194,12 +6043,14 @@
     "cli-spinners": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
-      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ=="
+      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==",
+      "dev": true
     },
     "cli-width": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
-      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk="
+      "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
+      "dev": true
     },
     "clipboard": {
       "version": "2.0.4",
@@ -6433,6 +6284,7 @@
       "version": "1.0.7",
       "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz",
       "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==",
+      "dev": true,
       "requires": {
         "delayed-stream": "~1.0.0"
       }
@@ -6671,6 +6523,7 @@
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz",
       "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==",
+      "dev": true,
       "requires": {
         "aproba": "^1.1.1",
         "fs-write-stream-atomic": "^1.0.8",
@@ -7810,7 +7663,8 @@
     "cyclist": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
-      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
+      "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=",
+      "dev": true
     },
     "d": {
       "version": "1.0.1",
@@ -8114,6 +7968,7 @@
       "version": "1.14.1",
       "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
       "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
@@ -8136,7 +7991,8 @@
     "debuglog": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz",
-      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI="
+      "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=",
+      "dev": true
     },
     "decache": {
       "version": "4.5.1",
@@ -8213,6 +8069,7 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
       "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=",
+      "dev": true,
       "requires": {
         "clone": "^1.0.2"
       },
@@ -8220,7 +8077,8 @@
         "clone": {
           "version": "1.0.4",
           "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz",
-          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4="
+          "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=",
+          "dev": true
         }
       }
     },
@@ -8355,7 +8213,8 @@
     "delayed-stream": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
-      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
+      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+      "dev": true
     },
     "delegate": {
       "version": "3.2.0",
@@ -8418,6 +8277,7 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz",
       "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=",
+      "dev": true,
       "requires": {
         "asap": "^2.0.0",
         "wrappy": "1"
@@ -8629,6 +8489,7 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz",
       "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=",
+      "dev": true,
       "requires": {
         "jsbn": "~0.1.0",
         "safer-buffer": "^2.1.0"
@@ -8975,7 +8836,8 @@
     "emoji-regex": {
       "version": "8.0.0",
       "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "dev": true
     },
     "emojis-list": {
       "version": "2.1.0",
@@ -8993,6 +8855,7 @@
       "version": "0.1.12",
       "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz",
       "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=",
+      "dev": true,
       "requires": {
         "iconv-lite": "~0.4.13"
       }
@@ -9128,7 +8991,8 @@
     "err-code": {
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz",
-      "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA="
+      "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=",
+      "dev": true
     },
     "errno": {
       "version": "0.1.7",
@@ -9217,12 +9081,14 @@
     "es6-promise": {
       "version": "4.2.5",
       "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
-      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg=="
+      "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
+      "dev": true
     },
     "es6-promisify": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
       "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+      "dev": true,
       "requires": {
         "es6-promise": "^4.0.3"
       }
@@ -9713,6 +9579,7 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
       "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
+      "dev": true,
       "requires": {
         "chardet": "^0.7.0",
         "iconv-lite": "^0.4.24",
@@ -9799,7 +9666,8 @@
     "extsprintf": {
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
-      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
+      "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+      "dev": true
     },
     "falafel": {
       "version": "2.1.0",
@@ -9842,7 +9710,8 @@
     "fast-deep-equal": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+      "dev": true
     },
     "fast-glob": {
       "version": "2.2.7",
@@ -9866,7 +9735,8 @@
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+      "dev": true
     },
     "fast-levenshtein": {
       "version": "2.0.6",
@@ -9901,7 +9771,8 @@
     "figgy-pudding": {
       "version": "3.5.1",
       "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
-      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w=="
+      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
+      "dev": true
     },
     "figures": {
       "version": "2.0.0",
@@ -10256,12 +10127,14 @@
     "forever-agent": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
+      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+      "dev": true
     },
     "form-data": {
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
       "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+      "dev": true,
       "requires": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.6",
@@ -10304,6 +10177,7 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
       "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
+      "dev": true,
       "requires": {
         "inherits": "^2.0.1",
         "readable-stream": "^2.0.0"
@@ -10339,6 +10213,7 @@
       "version": "1.0.10",
       "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
       "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=",
+      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.2",
         "iferr": "^0.1.5",
@@ -10937,6 +10812,7 @@
       "version": "0.1.7",
       "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
       "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0"
       }
@@ -11144,12 +11020,14 @@
     "har-schema": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
-      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI="
+      "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+      "dev": true
     },
     "har-validator": {
       "version": "5.1.3",
       "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz",
       "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==",
+      "dev": true,
       "requires": {
         "ajv": "^6.5.5",
         "har-schema": "^2.0.0"
@@ -11390,7 +11268,8 @@
     "http-cache-semantics": {
       "version": "3.8.1",
       "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz",
-      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w=="
+      "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==",
+      "dev": true
     },
     "http-deceiver": {
       "version": "1.2.7",
@@ -11431,6 +11310,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz",
       "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==",
+      "dev": true,
       "requires": {
         "agent-base": "4",
         "debug": "3.1.0"
@@ -11440,6 +11320,7 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
           "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "dev": true,
           "requires": {
             "ms": "2.0.0"
           }
@@ -11462,6 +11343,7 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
       "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "jsprim": "^1.2.2",
@@ -11478,6 +11360,7 @@
       "version": "2.2.4",
       "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz",
       "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==",
+      "dev": true,
       "requires": {
         "agent-base": "^4.3.0",
         "debug": "^3.1.0"
@@ -11487,6 +11370,7 @@
           "version": "4.3.0",
           "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz",
           "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==",
+          "dev": true,
           "requires": {
             "es6-promisify": "^5.0.0"
           }
@@ -11495,6 +11379,7 @@
           "version": "3.2.6",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
           "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -11502,7 +11387,8 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         }
       }
     },
@@ -11510,6 +11396,7 @@
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
       "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=",
+      "dev": true,
       "requires": {
         "ms": "^2.0.0"
       }
@@ -11540,7 +11427,8 @@
     "iferr": {
       "version": "0.1.5",
       "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz",
-      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE="
+      "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=",
+      "dev": true
     },
     "ignore": {
       "version": "3.3.10",
@@ -11552,6 +11440,7 @@
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz",
       "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==",
+      "dev": true,
       "requires": {
         "minimatch": "^3.0.4"
       }
@@ -11616,7 +11505,8 @@
     "imurmurhash": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
-      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
+      "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+      "dev": true
     },
     "indent-string": {
       "version": "4.0.0",
@@ -11639,7 +11529,8 @@
     "infer-owner": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz",
-      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A=="
+      "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==",
+      "dev": true
     },
     "inflight": {
       "version": "1.0.6",
@@ -11814,7 +11705,8 @@
     "ip": {
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
-      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
+      "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
+      "dev": true
     },
     "ip-regex": {
       "version": "2.1.0",
@@ -12003,7 +11895,8 @@
     "is-interactive": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz",
-      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w=="
+      "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
+      "dev": true
     },
     "is-negated-glob": {
       "version": "1.0.0",
@@ -12084,7 +11977,8 @@
     "is-promise": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
-      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o="
+      "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
+      "dev": true
     },
     "is-redirect": {
       "version": "1.0.0",
@@ -12152,7 +12046,8 @@
     "is-typedarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
-      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
+      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+      "dev": true
     },
     "is-unc-path": {
       "version": "1.0.0",
@@ -12213,7 +12108,8 @@
     "isstream": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true
     },
     "istanbul-api": {
       "version": "2.1.6",
@@ -12678,7 +12574,8 @@
     "jsbn": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
-      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM="
+      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+      "dev": true
     },
     "jsesc": {
       "version": "2.5.2",
@@ -12701,7 +12598,8 @@
     "json-schema": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
-      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
+      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+      "dev": true
     },
     "json-schema-traverse": {
       "version": "0.4.1",
@@ -12712,7 +12610,8 @@
     "json-stringify-safe": {
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
-      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
+      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+      "dev": true
     },
     "json3": {
       "version": "3.3.3",
@@ -12755,6 +12654,7 @@
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
       "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+      "dev": true,
       "requires": {
         "assert-plus": "1.0.0",
         "extsprintf": "1.3.0",
@@ -13357,6 +13257,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz",
       "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==",
+      "dev": true,
       "requires": {
         "chalk": "^2.4.2"
       }
@@ -13449,6 +13350,7 @@
       "version": "0.25.4",
       "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
       "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
+      "dev": true,
       "requires": {
         "sourcemap-codec": "^1.4.4"
       }
@@ -13472,6 +13374,7 @@
       "version": "5.0.2",
       "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz",
       "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==",
+      "dev": true,
       "requires": {
         "agentkeepalive": "^3.4.1",
         "cacache": "^12.0.0",
@@ -13490,6 +13393,7 @@
           "version": "12.0.3",
           "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
           "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+          "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
             "chownr": "^1.1.1",
@@ -13512,6 +13416,7 @@
           "version": "7.1.6",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
           "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+          "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
             "inflight": "^1.0.4",
@@ -13525,6 +13430,7 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -13533,6 +13439,7 @@
           "version": "6.0.1",
           "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
           "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+          "dev": true,
           "requires": {
             "figgy-pudding": "^3.5.1"
           }
@@ -13540,7 +13447,8 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -13764,12 +13672,14 @@
     "mime-db": {
       "version": "1.37.0",
       "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
-      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg=="
+      "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
+      "dev": true
     },
     "mime-types": {
       "version": "2.1.21",
       "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
       "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+      "dev": true,
       "requires": {
         "mime-db": "~1.37.0"
       }
@@ -13864,7 +13774,8 @@
     "minimist": {
       "version": "0.0.8",
       "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
+      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+      "dev": true
     },
     "minipass": {
       "version": "3.1.1",
@@ -13914,6 +13825,7 @@
       "version": "1.3.3",
       "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
       "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+      "dev": true,
       "requires": {
         "minipass": "^2.9.0"
       },
@@ -13922,6 +13834,7 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -13930,7 +13843,8 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -13938,6 +13852,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz",
       "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==",
+      "dev": true,
       "requires": {
         "concat-stream": "^1.5.0",
         "duplexify": "^3.4.2",
@@ -13976,6 +13891,7 @@
       "version": "0.5.1",
       "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
       "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "dev": true,
       "requires": {
         "minimist": "0.0.8"
       }
@@ -14012,6 +13928,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
       "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=",
+      "dev": true,
       "requires": {
         "aproba": "^1.1.1",
         "copy-concurrently": "^1.0.0",
@@ -14278,6 +14195,7 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz",
       "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==",
+      "dev": true,
       "requires": {
         "npm-normalize-package-bin": "^1.0.1"
       }
@@ -14296,12 +14214,14 @@
     "npm-normalize-package-bin": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
-      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA=="
+      "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==",
+      "dev": true
     },
     "npm-package-arg": {
       "version": "6.1.0",
       "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.0.tgz",
       "integrity": "sha512-zYbhP2k9DbJhA0Z3HKUePUgdB1x7MfIfKssC+WLPFMKTBZKpZh5m13PgexJjCq6KW7j17r0jHWcCpxEqnnncSA==",
+      "dev": true,
       "requires": {
         "hosted-git-info": "^2.6.0",
         "osenv": "^0.1.5",
@@ -14313,6 +14233,7 @@
       "version": "1.4.8",
       "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz",
       "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==",
+      "dev": true,
       "requires": {
         "ignore-walk": "^3.0.1",
         "npm-bundled": "^1.0.1",
@@ -14323,6 +14244,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz",
       "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==",
+      "dev": true,
       "requires": {
         "figgy-pudding": "^3.5.1",
         "npm-package-arg": "^6.0.0",
@@ -14333,6 +14255,7 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz",
       "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==",
+      "dev": true,
       "requires": {
         "JSONStream": "^1.3.4",
         "bluebird": "^3.5.1",
@@ -14347,6 +14270,7 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -14354,12 +14278,14 @@
         "safe-buffer": {
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
-          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg=="
+          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+          "dev": true
         },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -14396,7 +14322,8 @@
     "oauth-sign": {
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
-      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ=="
+      "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+      "dev": true
     },
     "object-assign": {
       "version": "4.1.1",
@@ -14477,6 +14404,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz",
       "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==",
+      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "es-abstract": "^1.17.0-next.1"
@@ -14486,6 +14414,7 @@
           "version": "1.17.4",
           "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
           "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
+          "dev": true,
           "requires": {
             "es-to-primitive": "^1.2.1",
             "function-bind": "^1.1.1",
@@ -14504,6 +14433,7 @@
           "version": "1.2.1",
           "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
           "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+          "dev": true,
           "requires": {
             "is-callable": "^1.1.4",
             "is-date-object": "^1.0.1",
@@ -14513,17 +14443,20 @@
         "has-symbols": {
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
-          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+          "dev": true
         },
         "is-callable": {
           "version": "1.1.5",
           "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
-          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q=="
+          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+          "dev": true
         },
         "is-regex": {
           "version": "1.0.5",
           "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
           "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+          "dev": true,
           "requires": {
             "has": "^1.0.3"
           }
@@ -14531,12 +14464,14 @@
         "object-inspect": {
           "version": "1.7.0",
           "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
-          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw=="
+          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+          "dev": true
         },
         "object-keys": {
           "version": "1.1.1",
           "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
-          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+          "dev": true
         }
       }
     },
@@ -14684,6 +14619,7 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz",
       "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==",
+      "dev": true,
       "requires": {
         "is-wsl": "^2.1.0"
       },
@@ -14691,7 +14627,8 @@
         "is-wsl": {
           "version": "2.1.1",
           "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz",
-          "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog=="
+          "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==",
+          "dev": true
         }
       }
     },
@@ -14746,6 +14683,7 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz",
       "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==",
+      "dev": true,
       "requires": {
         "chalk": "^2.4.2",
         "cli-cursor": "^3.1.0",
@@ -14759,12 +14697,14 @@
         "ansi-regex": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg=="
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "dev": true
         },
         "cli-cursor": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
           "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+          "dev": true,
           "requires": {
             "restore-cursor": "^3.1.0"
           }
@@ -14773,6 +14713,7 @@
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
           "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+          "dev": true,
           "requires": {
             "mimic-fn": "^2.1.0"
           }
@@ -14781,6 +14722,7 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
           "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+          "dev": true,
           "requires": {
             "onetime": "^5.1.0",
             "signal-exit": "^3.0.2"
@@ -14790,6 +14732,7 @@
           "version": "5.2.0",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
           "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "dev": true,
           "requires": {
             "ansi-regex": "^4.1.0"
           }
@@ -14947,6 +14890,7 @@
       "version": "9.5.8",
       "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz",
       "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==",
+      "dev": true,
       "requires": {
         "bluebird": "^3.5.3",
         "cacache": "^12.0.2",
@@ -14983,6 +14927,7 @@
           "version": "12.0.3",
           "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
           "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+          "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
             "chownr": "^1.1.1",
@@ -15005,6 +14950,7 @@
               "version": "7.1.6",
               "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
               "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+              "dev": true,
               "requires": {
                 "fs.realpath": "^1.0.0",
                 "inflight": "^1.0.4",
@@ -15020,6 +14966,7 @@
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
           "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+          "dev": true,
           "requires": {
             "pump": "^3.0.0"
           }
@@ -15028,6 +14975,7 @@
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
           "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "dev": true,
           "requires": {
             "yallist": "^3.0.2"
           }
@@ -15036,6 +14984,7 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -15044,12 +14993,14 @@
         "semver": {
           "version": "5.7.1",
           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+          "dev": true
         },
         "ssri": {
           "version": "6.0.1",
           "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
           "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+          "dev": true,
           "requires": {
             "figgy-pudding": "^3.5.1"
           }
@@ -15057,7 +15008,8 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -15070,6 +15022,7 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz",
       "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==",
+      "dev": true,
       "requires": {
         "cyclist": "^1.0.1",
         "inherits": "^2.0.3",
@@ -15277,7 +15230,8 @@
     "performance-now": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
-      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
+      "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+      "dev": true
     },
     "picomatch": {
       "version": "2.0.7",
@@ -16095,12 +16049,14 @@
     "promise-inflight": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
-      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM="
+      "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
+      "dev": true
     },
     "promise-retry": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz",
       "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=",
+      "dev": true,
       "requires": {
         "err-code": "^1.0.0",
         "retry": "^0.10.0"
@@ -16109,7 +16065,8 @@
         "retry": {
           "version": "0.10.1",
           "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz",
-          "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q="
+          "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=",
+          "dev": true
         }
       }
     },
@@ -16141,6 +16098,7 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz",
       "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==",
+      "dev": true,
       "requires": {
         "genfun": "^5.0.0"
       }
@@ -16301,7 +16259,8 @@
     "psl": {
       "version": "1.1.31",
       "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz",
-      "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw=="
+      "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==",
+      "dev": true
     },
     "public-encrypt": {
       "version": "4.0.3",
@@ -16353,7 +16312,8 @@
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true
     },
     "pupa": {
       "version": "2.0.1",
@@ -16638,6 +16598,7 @@
       "version": "2.0.13",
       "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.13.tgz",
       "integrity": "sha512-/1dZ7TRZvGrYqE0UAfN6qQb5GYBsNcqS1C0tNK601CFOJmtHI7NIGXwetEPU/OtoFHZL3hDxm4rolFFVE9Bnmg==",
+      "dev": true,
       "requires": {
         "glob": "^7.1.1",
         "graceful-fs": "^4.1.2",
@@ -16650,6 +16611,7 @@
       "version": "5.3.1",
       "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz",
       "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==",
+      "dev": true,
       "requires": {
         "read-package-json": "^2.0.0",
         "readdir-scoped-modules": "^1.0.0",
@@ -16675,6 +16637,7 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz",
       "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==",
+      "dev": true,
       "requires": {
         "debuglog": "^1.0.1",
         "dezalgo": "^1.0.0",
@@ -16820,6 +16783,7 @@
       "version": "2.88.0",
       "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
       "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+      "dev": true,
       "requires": {
         "aws-sign2": "~0.7.0",
         "aws4": "^1.8.0",
@@ -16961,6 +16925,7 @@
       "version": "2.7.1",
       "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
       "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
+      "dev": true,
       "requires": {
         "glob": "^7.1.3"
       }
@@ -17019,6 +16984,7 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
       "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
+      "dev": true,
       "requires": {
         "is-promise": "^2.1.0"
       }
@@ -17027,6 +16993,7 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
       "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=",
+      "dev": true,
       "requires": {
         "aproba": "^1.1.1"
       }
@@ -17044,11 +17011,6 @@
         "tslib": "^1.9.0"
       }
     },
-    "rxjs-compat": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/rxjs-compat/-/rxjs-compat-6.5.4.tgz",
-      "integrity": "sha512-rkn+lbOHUQOurdd74J/hjmDsG9nFx0z66fvnbs8M95nrtKvNqCKdk7iZqdY51CGmDemTQk+kUPy4s8HVOHtkfA=="
-    },
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -17275,6 +17237,7 @@
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz",
       "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==",
+      "dev": true,
       "requires": {
         "semver": "^5.0.0"
       }
@@ -17512,7 +17475,8 @@
     "slash": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz",
-      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU="
+      "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=",
+      "dev": true
     },
     "slugify": {
       "version": "1.4.0",
@@ -17522,7 +17486,8 @@
     "smart-buffer": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz",
-      "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw=="
+      "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==",
+      "dev": true
     },
     "snapdragon": {
       "version": "0.8.2",
@@ -17783,6 +17748,7 @@
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz",
       "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==",
+      "dev": true,
       "requires": {
         "ip": "1.1.5",
         "smart-buffer": "^4.1.0"
@@ -17792,6 +17758,7 @@
       "version": "4.0.2",
       "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz",
       "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==",
+      "dev": true,
       "requires": {
         "agent-base": "~4.2.1",
         "socks": "~2.3.2"
@@ -17801,6 +17768,7 @@
           "version": "4.2.1",
           "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
           "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+          "dev": true,
           "requires": {
             "es6-promisify": "^5.0.0"
           }
@@ -17825,7 +17793,8 @@
     "source-map": {
       "version": "0.7.3",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ=="
+      "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+      "dev": true
     },
     "source-map-loader": {
       "version": "0.2.4",
@@ -18029,6 +17998,7 @@
       "version": "1.16.1",
       "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
       "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==",
+      "dev": true,
       "requires": {
         "asn1": "~0.2.3",
         "assert-plus": "^1.0.0",
@@ -18183,6 +18153,7 @@
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz",
       "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==",
+      "dev": true,
       "requires": {
         "end-of-stream": "^1.1.0",
         "stream-shift": "^1.0.0"
@@ -18300,6 +18271,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
       "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
+      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "function-bind": "^1.1.1"
@@ -18309,6 +18281,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
       "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
+      "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
         "function-bind": "^1.1.1"
@@ -18583,7 +18556,8 @@
     "symbol-observable": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz",
-      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ=="
+      "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==",
+      "dev": true
     },
     "tapable": {
       "version": "1.1.3",
@@ -18648,6 +18622,7 @@
       "version": "4.4.13",
       "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
       "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+      "dev": true,
       "requires": {
         "chownr": "^1.1.1",
         "fs-minipass": "^1.2.5",
@@ -18662,6 +18637,7 @@
           "version": "1.2.7",
           "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
           "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+          "dev": true,
           "requires": {
             "minipass": "^2.6.0"
           }
@@ -18670,6 +18646,7 @@
           "version": "2.9.0",
           "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
           "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
+          "dev": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -18678,7 +18655,8 @@
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -18996,6 +18974,7 @@
       "version": "0.0.33",
       "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
       "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+      "dev": true,
       "requires": {
         "os-tmpdir": "~1.0.2"
       }
@@ -19076,6 +19055,7 @@
       "version": "2.4.3",
       "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
       "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+      "dev": true,
       "requires": {
         "psl": "^1.1.24",
         "punycode": "^1.4.1"
@@ -19084,7 +19064,8 @@
         "punycode": {
           "version": "1.4.1",
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
-          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
+          "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+          "dev": true
         }
       }
     },
@@ -19252,6 +19233,7 @@
       "version": "0.6.0",
       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
       "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+      "dev": true,
       "requires": {
         "safe-buffer": "^5.0.1"
       }
@@ -19259,7 +19241,8 @@
     "tweetnacl": {
       "version": "0.14.5",
       "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
-      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
+      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+      "dev": true
     },
     "type": {
       "version": "1.2.0",
@@ -19470,6 +19453,7 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz",
       "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==",
+      "dev": true,
       "requires": {
         "unique-slug": "^2.0.0"
       }
@@ -19478,6 +19462,7 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz",
       "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==",
+      "dev": true,
       "requires": {
         "imurmurhash": "^0.1.4"
       }
@@ -19495,6 +19480,7 @@
       "version": "0.4.20",
       "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz",
       "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==",
+      "dev": true,
       "requires": {
         "debug": "^3.0.0",
         "request": "^2.88.0",
@@ -19505,6 +19491,7 @@
           "version": "3.2.6",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
           "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -19512,7 +19499,8 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         }
       }
     },
@@ -19778,6 +19766,7 @@
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       }
@@ -19874,6 +19863,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz",
       "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=",
+      "dev": true,
       "requires": {
         "object.getownpropertydescriptors": "^2.0.3"
       }
@@ -19964,7 +19954,8 @@
     "uuid": {
       "version": "3.3.2",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
-      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA=="
+      "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+      "dev": true
     },
     "valid-identifier": {
       "version": "0.0.2",
@@ -19986,6 +19977,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
       "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=",
+      "dev": true,
       "requires": {
         "builtins": "^1.0.3"
       }
@@ -20006,6 +19998,7 @@
       "version": "1.10.0",
       "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
       "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+      "dev": true,
       "requires": {
         "assert-plus": "^1.0.0",
         "core-util-is": "1.0.2",
@@ -20088,6 +20081,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz",
       "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=",
+      "dev": true,
       "requires": {
         "defaults": "^1.0.3"
       }
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index e926b0d43..15ede0e09 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -29,7 +29,7 @@ import { MaterialFileInputModule } from "ngx-material-file-input";
 import { DragDropModule } from "@angular/cdk/drag-drop";
 
 import { TableModule } from "primeng/table";
-/* import { KonamiModule } from "ngx-konami"; */
+import { KonamiModule } from "ngx-konami";
 import { MarkdownModule, MarkedOptions } from "ngx-markdown";
 
 import { FlexLayoutModule } from "@angular/flex-layout";
@@ -174,7 +174,7 @@ const appRoutes: Routes = [
     ),
     StorageServiceModule,
     TableModule,
-    // KonamiModule
+    KonamiModule
   ],
   declarations: [ // composants, pipes et directives
     AppComponent,
-- 
GitLab


From e2a4cb66f96f892930e9fb01af8c6ddc58c8b1c5 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 5 Mar 2020 11:05:50 +0100
Subject: [PATCH 038/117] Convert info to warning

---
 src/locale/messages.en.json | 1 -
 src/locale/messages.fr.json | 1 -
 2 files changed, 2 deletions(-)

diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index e1c413855..a99a7e8b7 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -511,7 +511,6 @@
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length",
     "INFO_EXAMPLES_TITLE": "Examples",
     "INFO_EXAMPLES_SUBTITLE": "Load standard examples",
-    "INFO_PAR_P_WAS_IGNORED": "Given P value was ignored",
     "INFO_YAXB_TITRE": "Linear function",
     "INFO_YAXB_TITRE_COURT": "Linear f.",
     "INFO_TRIGO_TITRE": "Trigonometric function",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 2af5e6c11..79f5ff227 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -511,7 +511,6 @@
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir",
     "INFO_EXAMPLES_TITLE": "Exemples",
     "INFO_EXAMPLES_SUBTITLE": "Charger des exemples types",
-    "INFO_PAR_P_WAS_IGNORED": "La valeur de P fournie a été ignorée",
     "INFO_YAXB_TITRE": "Fonction affine",
     "INFO_YAXB_TITRE_COURT": "F. affine",
     "INFO_TRIGO_TITRE": "Fonction trigonométrique",
-- 
GitLab


From c530c5a428ee750e0fadd489c84d7724f7a64bc0 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Tue, 17 Mar 2020 17:46:30 +0100
Subject: [PATCH 039/117] PAR : simulation

---
 src/app/formulaire/definition/form-fixedvar.ts | 1 +
 src/locale/messages.en.json                    | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts
index 20314b520..9d81bb96c 100644
--- a/src/app/formulaire/definition/form-fixedvar.ts
+++ b/src/app/formulaire/definition/form-fixedvar.ts
@@ -91,6 +91,7 @@ export class FormulaireFixedVar extends FormulaireDefinition {
         this.runNubCalc(this.currentNub);
         this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization
         this.reaffectResultComponents();
+        this.refreshFieldsets();
     }
 
     protected reaffectResultComponents() {
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index a99a7e8b7..262ab29b8 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -392,11 +392,11 @@
     "INFO_PABPUISSANCE_TITRE_COURT": "FL: diss. power",
     "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power",
     "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures",
+    "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation",
+    "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation",
     "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures",
     "INFO_PAR_TITRE": "Humpback fishway: setup",
     "INFO_PAR_TITRE_COURT": "HF: setup",
-    "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation",
-    "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation",
     "INFO_PARAMFIELD_AWAITING_CALCULATION": "Awaiting calculation",
     "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Boundary conditions",
     "INFO_PARAMFIELD_CALCULATED": "Calculated",
-- 
GitLab


From f058a2cb7be2de22ad91460d7680b5ea76265d9e Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 19 Mar 2020 09:42:29 +0100
Subject: [PATCH 040/117] Update package-lock

---
 package-lock.json | 531 ++++++++++++++++++++--------------------------
 1 file changed, 231 insertions(+), 300 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index a5a1acc4a..e9602ffd1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -143,6 +143,23 @@
             "uri-js": "^4.2.2"
           }
         },
+        "browserslist": {
+          "version": "4.9.1",
+          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz",
+          "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==",
+          "dev": true,
+          "requires": {
+            "caniuse-lite": "^1.0.30001030",
+            "electron-to-chromium": "^1.3.363",
+            "node-releases": "^1.1.50"
+          }
+        },
+        "caniuse-lite": {
+          "version": "1.0.30001035",
+          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
+          "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
+          "dev": true
+        },
         "chokidar": {
           "version": "2.1.8",
           "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
@@ -385,6 +402,16 @@
         "source-map": "0.7.3"
       },
       "dependencies": {
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
         "ajv": {
           "version": "6.10.2",
           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
@@ -479,6 +506,16 @@
         "uuid": "^3.3.2"
       },
       "dependencies": {
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
         "ansi-colors": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -526,6 +563,101 @@
         "yargs": "13.1.0"
       },
       "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
+          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "requires": {
+            "@babel/highlight": "^7.8.3"
+          }
+        },
+        "@babel/generator": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
+          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
+          "requires": {
+            "@babel/types": "^7.8.7",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/helper-function-name": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
+          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "requires": {
+            "@babel/helper-get-function-arity": "^7.8.3",
+            "@babel/template": "^7.8.3",
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-get-function-arity": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
+          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/helper-split-export-declaration": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
+          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "requires": {
+            "@babel/types": "^7.8.3"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.8.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
+          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "requires": {
+            "chalk": "^2.0.0",
+            "esutils": "^2.0.2",
+            "js-tokens": "^4.0.0"
+          }
+        },
+        "@babel/parser": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
+          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
+        },
+        "@babel/template": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6"
+          }
+        },
+        "@babel/traverse": {
+          "version": "7.8.6",
+          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
+          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+          "requires": {
+            "@babel/code-frame": "^7.8.3",
+            "@babel/generator": "^7.8.6",
+            "@babel/helper-function-name": "^7.8.3",
+            "@babel/helper-split-export-declaration": "^7.8.3",
+            "@babel/parser": "^7.8.6",
+            "@babel/types": "^7.8.6",
+            "debug": "^4.1.0",
+            "globals": "^11.1.0",
+            "lodash": "^4.17.13"
+          }
+        },
+        "@babel/types": {
+          "version": "7.8.7",
+          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
+          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "requires": {
+            "esutils": "^2.0.2",
+            "lodash": "^4.17.13",
+            "to-fast-properties": "^2.0.0"
+          }
+        },
         "ansi-regex": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
@@ -573,6 +705,14 @@
             "readdirp": "~3.3.0"
           }
         },
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
         "emoji-regex": {
           "version": "7.0.3",
           "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -651,6 +791,11 @@
           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+        },
         "normalize-path": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -1527,7 +1672,6 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
       "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
-      "dev": true,
       "requires": {
         "@babel/types": "^7.8.3"
       },
@@ -1536,7 +1680,6 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -1645,7 +1788,6 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
       "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
-      "dev": true,
       "requires": {
         "@babel/types": "^7.8.3"
       },
@@ -1654,7 +1796,6 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -1824,7 +1965,6 @@
       "version": "7.8.6",
       "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz",
       "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==",
-      "dev": true,
       "requires": {
         "@babel/helper-member-expression-to-functions": "^7.8.3",
         "@babel/helper-optimise-call-expression": "^7.8.3",
@@ -1836,7 +1976,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
           "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
           "requires": {
             "@babel/highlight": "^7.8.3"
           }
@@ -1857,7 +1996,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
           "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
           "requires": {
             "@babel/helper-get-function-arity": "^7.8.3",
             "@babel/template": "^7.8.3",
@@ -1868,7 +2006,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
           "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -1877,7 +2014,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
           "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -1886,7 +2022,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
           "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -1903,7 +2038,6 @@
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
           "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/parser": "^7.8.6",
@@ -1914,7 +2048,6 @@
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
           "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/generator": "^7.8.6",
@@ -1931,7 +2064,6 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -1942,7 +2074,6 @@
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -1950,14 +2081,12 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
         },
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
         }
       }
     },
@@ -1965,7 +2094,6 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
       "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
-      "dev": true,
       "requires": {
         "@babel/template": "^7.8.3",
         "@babel/types": "^7.8.3"
@@ -1975,7 +2103,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
           "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
           "requires": {
             "@babel/highlight": "^7.8.3"
           }
@@ -1984,7 +2111,6 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
           "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -2001,7 +2127,6 @@
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
           "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/parser": "^7.8.6",
@@ -2012,7 +2137,6 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2582,6 +2706,21 @@
             "lodash": "^4.17.13",
             "to-fast-properties": "^2.0.0"
           }
+        },
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+        },
+        "minimist": {
+          "version": "1.2.4",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz",
+          "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg=="
+        },
+        "normalize-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
         }
       }
     },
@@ -4177,7 +4316,6 @@
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
       "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-      "dev": true,
       "requires": {
         "color-convert": "^1.9.0"
       },
@@ -4186,7 +4324,6 @@
           "version": "1.9.3",
           "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
           "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-          "dev": true,
           "requires": {
             "color-name": "1.1.3"
           }
@@ -4194,8 +4331,7 @@
         "color-name": {
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-          "dev": true
+          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
         }
       }
     },
@@ -4209,7 +4345,6 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
       "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
-      "dev": true,
       "requires": {
         "micromatch": "^3.1.4",
         "normalize-path": "^2.1.1"
@@ -4362,20 +4497,17 @@
     "arr-diff": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
-      "dev": true
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
     },
     "arr-flatten": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
-      "dev": true
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
     },
     "arr-union": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
-      "dev": true
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
     },
     "array-differ": {
       "version": "1.0.0",
@@ -4424,8 +4556,7 @@
     "array-unique": {
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
-      "dev": true
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
     },
     "arraybuffer.slice": {
       "version": "0.0.7",
@@ -4501,8 +4632,7 @@
     "assign-symbols": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
-      "dev": true
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
     },
     "ast-transform": {
       "version": "0.0.0",
@@ -4581,8 +4711,7 @@
     "async-each": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
-      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
-      "dev": true
+      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
     },
     "async-exit-hook": {
       "version": "2.0.1",
@@ -4605,8 +4734,7 @@
     "atob": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
-      "dev": true
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
     },
     "autoprefixer": {
       "version": "9.7.1",
@@ -4733,7 +4861,6 @@
       "version": "0.11.2",
       "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
       "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
-      "dev": true,
       "requires": {
         "cache-base": "^1.0.1",
         "class-utils": "^0.3.5",
@@ -4748,7 +4875,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -4757,7 +4883,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -4766,7 +4891,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -4775,7 +4899,6 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -4854,8 +4977,7 @@
     "binary-extensions": {
       "version": "1.13.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
-      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
-      "dev": true
+      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw=="
     },
     "blob": {
       "version": "0.0.5",
@@ -5115,7 +5237,6 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
       "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
-      "dev": true,
       "requires": {
         "arr-flatten": "^1.1.0",
         "array-unique": "^0.3.2",
@@ -5133,7 +5254,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -5580,7 +5700,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
       "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
-      "dev": true,
       "requires": {
         "collection-visit": "^1.0.0",
         "component-emitter": "^1.2.1",
@@ -5739,7 +5858,6 @@
       "version": "2.4.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
       "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-      "dev": true,
       "requires": {
         "ansi-styles": "^3.2.1",
         "escape-string-regexp": "^1.0.5",
@@ -5750,7 +5868,6 @@
           "version": "5.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
-          "dev": true,
           "requires": {
             "has-flag": "^3.0.0"
           }
@@ -5985,7 +6102,6 @@
       "version": "0.3.6",
       "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
       "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
-      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "define-property": "^0.2.5",
@@ -5997,7 +6113,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -6215,7 +6330,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
       "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
-      "dev": true,
       "requires": {
         "map-visit": "^1.0.0",
         "object-visit": "^1.0.0"
@@ -6334,8 +6448,7 @@
     "component-emitter": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
-      "dev": true
+      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
     },
     "component-inherit": {
       "version": "0.0.3",
@@ -6536,8 +6649,7 @@
     "copy-descriptor": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
-      "dev": true
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
     },
     "copy-webpack-plugin": {
       "version": "5.1.1",
@@ -7239,8 +7351,7 @@
     "core-util-is": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
-      "dev": true
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
     },
     "cors": {
       "version": "2.8.5",
@@ -7983,7 +8094,6 @@
       "version": "2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
-      "dev": true,
       "requires": {
         "ms": "2.0.0"
       }
@@ -8012,8 +8122,7 @@
     "decode-uri-component": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
-      "dev": true
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
     },
     "decompress-response": {
       "version": "3.3.0",
@@ -8100,7 +8209,6 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
       "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
-      "dev": true,
       "requires": {
         "is-descriptor": "^1.0.2",
         "isobject": "^3.0.1"
@@ -8110,7 +8218,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8119,7 +8226,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8128,7 +8234,6 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -9143,8 +9248,7 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-      "dev": true
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
     },
     "escaper": {
       "version": "2.5.3",
@@ -9213,8 +9317,7 @@
     "esutils": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
-      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
-      "dev": true
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
     },
     "etag": {
       "version": "1.8.1",
@@ -9319,7 +9422,6 @@
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
       "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
-      "dev": true,
       "requires": {
         "debug": "^2.3.3",
         "define-property": "^0.2.5",
@@ -9334,7 +9436,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -9343,7 +9444,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -9558,7 +9658,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
-      "dev": true,
       "requires": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -9568,7 +9667,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -9590,7 +9688,6 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
       "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
-      "dev": true,
       "requires": {
         "array-unique": "^0.3.2",
         "define-property": "^1.0.0",
@@ -9606,7 +9703,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -9615,7 +9711,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -9624,7 +9719,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -9633,7 +9727,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -9642,7 +9735,6 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -9710,8 +9802,7 @@
     "fast-deep-equal": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
-      "dev": true
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
     },
     "fast-glob": {
       "version": "2.2.7",
@@ -9735,8 +9826,7 @@
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
-      "dev": true
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
     },
     "fast-levenshtein": {
       "version": "2.0.6",
@@ -9842,7 +9932,6 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
       "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
-      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-number": "^3.0.0",
@@ -9854,7 +9943,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -10115,8 +10203,7 @@
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
-      "dev": true
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
     },
     "foreach": {
       "version": "2.0.5",
@@ -10156,7 +10243,6 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
       "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
-      "dev": true,
       "requires": {
         "map-cache": "^0.2.2"
       }
@@ -10230,7 +10316,6 @@
       "version": "1.2.7",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
       "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
-      "dev": true,
       "optional": true,
       "requires": {
         "nan": "^2.9.2",
@@ -10240,25 +10325,21 @@
         "abbrev": {
           "version": "1.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "aproba": {
           "version": "1.2.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "are-we-there-yet": {
           "version": "1.1.5",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "delegates": "^1.0.0",
@@ -10268,13 +10349,11 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
@@ -10284,37 +10363,31 @@
         "chownr": {
           "version": "1.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "debug": {
           "version": "2.6.9",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "ms": "2.0.0"
@@ -10323,25 +10396,21 @@
         "deep-extend": {
           "version": "0.6.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "delegates": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "detect-libc": {
           "version": "1.0.3",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "fs-minipass": {
           "version": "1.2.5",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -10350,13 +10419,11 @@
         "fs.realpath": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "gauge": {
           "version": "2.7.4",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "aproba": "^1.0.3",
@@ -10372,7 +10439,6 @@
         "glob": {
           "version": "7.1.3",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "fs.realpath": "^1.0.0",
@@ -10386,13 +10452,11 @@
         "has-unicode": {
           "version": "2.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "iconv-lite": {
           "version": "0.4.24",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "safer-buffer": ">= 2.1.2 < 3"
@@ -10401,7 +10465,6 @@
         "ignore-walk": {
           "version": "3.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "minimatch": "^3.0.4"
@@ -10410,7 +10473,6 @@
         "inflight": {
           "version": "1.0.6",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "once": "^1.3.0",
@@ -10420,19 +10482,16 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "ini": {
           "version": "1.3.5",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "is-fullwidth-code-point": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
@@ -10441,13 +10500,11 @@
         "isarray": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "minimatch": {
           "version": "3.0.4",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
@@ -10456,13 +10513,11 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
@@ -10472,7 +10527,6 @@
         "minizlib": {
           "version": "1.2.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -10481,7 +10535,6 @@
         "mkdirp": {
           "version": "0.5.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "minimist": "0.0.8"
@@ -10490,13 +10543,11 @@
         "ms": {
           "version": "2.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "needle": {
           "version": "2.2.4",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "debug": "^2.1.2",
@@ -10507,7 +10558,6 @@
         "node-pre-gyp": {
           "version": "0.10.3",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "detect-libc": "^1.0.2",
@@ -10525,7 +10575,6 @@
         "nopt": {
           "version": "4.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "abbrev": "1",
@@ -10535,13 +10584,11 @@
         "npm-bundled": {
           "version": "1.0.5",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "npm-packlist": {
           "version": "1.2.0",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "ignore-walk": "^3.0.1",
@@ -10551,7 +10598,6 @@
         "npmlog": {
           "version": "4.1.2",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "are-we-there-yet": "~1.1.2",
@@ -10563,19 +10609,16 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "once": {
           "version": "1.4.0",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "wrappy": "1"
@@ -10584,19 +10627,16 @@
         "os-homedir": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "os-tmpdir": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "osenv": {
           "version": "0.1.5",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "os-homedir": "^1.0.0",
@@ -10606,19 +10646,16 @@
         "path-is-absolute": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "process-nextick-args": {
           "version": "2.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "rc": {
           "version": "1.2.8",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "deep-extend": "^0.6.0",
@@ -10630,7 +10667,6 @@
             "minimist": {
               "version": "1.2.0",
               "bundled": true,
-              "dev": true,
               "optional": true
             }
           }
@@ -10638,7 +10674,6 @@
         "readable-stream": {
           "version": "2.3.6",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "core-util-is": "~1.0.0",
@@ -10653,7 +10688,6 @@
         "rimraf": {
           "version": "2.6.3",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "glob": "^7.1.3"
@@ -10662,43 +10696,36 @@
         "safe-buffer": {
           "version": "5.1.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "sax": {
           "version": "1.2.4",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "semver": {
           "version": "5.6.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "set-blocking": {
           "version": "2.0.0",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "signal-exit": {
           "version": "3.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "string-width": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
@@ -10709,7 +10736,6 @@
         "string_decoder": {
           "version": "1.1.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "~5.1.0"
@@ -10718,7 +10744,6 @@
         "strip-ansi": {
           "version": "3.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
@@ -10727,13 +10752,11 @@
         "strip-json-comments": {
           "version": "2.0.1",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "tar": {
           "version": "4.4.8",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "chownr": "^1.1.1",
@@ -10748,13 +10771,11 @@
         "util-deprecate": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "wide-align": {
           "version": "1.1.3",
           "bundled": true,
-          "dev": true,
           "optional": true,
           "requires": {
             "string-width": "^1.0.2 || 2"
@@ -10763,13 +10784,11 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true,
           "optional": true
         },
         "yallist": {
           "version": "3.0.3",
           "bundled": true,
-          "dev": true,
           "optional": true
         }
       }
@@ -10784,6 +10803,12 @@
       "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
       "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA=="
     },
+    "gensync": {
+      "version": "1.0.0-beta.1",
+      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz",
+      "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==",
+      "dev": true
+    },
     "get-assigned-identifiers": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/get-assigned-identifiers/-/get-assigned-identifiers-1.2.0.tgz",
@@ -10805,8 +10830,7 @@
     "get-value": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
-      "dev": true
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
     },
     "getpass": {
       "version": "0.1.7",
@@ -10834,7 +10858,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
       "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
-      "dev": true,
       "requires": {
         "is-glob": "^3.1.0",
         "path-dirname": "^1.0.0"
@@ -10844,7 +10867,6 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
           "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
-          "dev": true,
           "requires": {
             "is-extglob": "^2.1.0"
           }
@@ -10907,8 +10929,7 @@
     "globals": {
       "version": "11.12.0",
       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
     },
     "globalthis": {
       "version": "1.0.1",
@@ -11076,8 +11097,7 @@
     "has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-      "dev": true
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
     },
     "has-symbols": {
       "version": "1.0.0",
@@ -11088,7 +11108,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
       "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
-      "dev": true,
       "requires": {
         "get-value": "^2.0.6",
         "has-values": "^1.0.0",
@@ -11099,7 +11118,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
       "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
-      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "kind-of": "^4.0.0"
@@ -11109,7 +11127,6 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
           "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -11740,7 +11757,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -11749,7 +11765,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -11766,7 +11781,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
       "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
-      "dev": true,
       "requires": {
         "binary-extensions": "^1.0.0"
       }
@@ -11774,8 +11788,7 @@
     "is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
-      "dev": true
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
     },
     "is-callable": {
       "version": "1.1.4",
@@ -11809,7 +11822,6 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -11818,7 +11830,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -11834,7 +11845,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
-      "dev": true,
       "requires": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -11844,8 +11854,7 @@
         "kind-of": {
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
-          "dev": true
+          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
         }
       }
     },
@@ -11858,14 +11867,12 @@
     "is-extendable": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
-      "dev": true
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
     },
     "is-extglob": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
     },
     "is-fullwidth-code-point": {
       "version": "2.0.0",
@@ -11877,7 +11884,6 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
       "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
-      "dev": true,
       "requires": {
         "is-extglob": "^2.1.1"
       }
@@ -11914,7 +11920,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
       "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -11923,7 +11928,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -11969,7 +11973,6 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
-      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -12067,8 +12070,7 @@
     "is-windows": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
-      "dev": true
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
     },
     "is-wsl": {
       "version": "1.1.0",
@@ -12085,8 +12087,7 @@
     "isarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
     },
     "isbinaryfile": {
       "version": "4.0.4",
@@ -12102,8 +12103,7 @@
     "isobject": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
     },
     "isstream": {
       "version": "0.1.2",
@@ -12321,6 +12321,15 @@
             "to-fast-properties": "^2.0.0"
           }
         },
+        "convert-source-map": {
+          "version": "1.7.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+          "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.1"
+          }
+        },
         "debug": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -12550,8 +12559,7 @@
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
-      "dev": true
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
     },
     "js-yaml": {
       "version": "3.13.1",
@@ -12580,8 +12588,7 @@
     "jsesc": {
       "version": "2.5.2",
       "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-      "dev": true
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
     },
     "json-buffer": {
       "version": "3.0.0",
@@ -12604,8 +12611,7 @@
     "json-schema-traverse": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
-      "dev": true
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
     },
     "json-stringify-safe": {
       "version": "5.0.1",
@@ -13470,8 +13476,7 @@
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
-      "dev": true
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
     },
     "map-stream": {
       "version": "0.1.0",
@@ -13483,7 +13488,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
       "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
-      "dev": true,
       "requires": {
         "object-visit": "^1.0.0"
       }
@@ -13636,7 +13640,6 @@
       "version": "3.1.10",
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
       "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
-      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -13870,7 +13873,6 @@
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
       "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
-      "dev": true,
       "requires": {
         "for-in": "^1.0.2",
         "is-extendable": "^1.0.1"
@@ -13880,7 +13882,6 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
-          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -13941,8 +13942,7 @@
     "ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
-      "dev": true
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
     },
     "multicast-dns": {
       "version": "6.2.3",
@@ -13982,14 +13982,12 @@
       "version": "2.12.1",
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
       "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
-      "dev": true,
       "optional": true
     },
     "nanomatch": {
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
       "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
-      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -14174,7 +14172,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
       "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
-      "dev": true,
       "requires": {
         "remove-trailing-separator": "^1.0.1"
       }
@@ -14341,7 +14338,6 @@
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
       "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
-      "dev": true,
       "requires": {
         "copy-descriptor": "^0.1.0",
         "define-property": "^0.2.5",
@@ -14352,7 +14348,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -14361,7 +14356,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -14383,7 +14377,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
       "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
-      "dev": true,
       "requires": {
         "isobject": "^3.0.0"
       }
@@ -14479,7 +14472,6 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
       "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
-      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -15107,8 +15099,7 @@
     "pascalcase": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
-      "dev": true
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
     },
     "path-browserify": {
       "version": "0.0.1",
@@ -15119,8 +15110,7 @@
     "path-dirname": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
-      "dev": true
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
     },
     "path-exists": {
       "version": "3.0.0",
@@ -15370,8 +15360,7 @@
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
-      "dev": true
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
     },
     "postcss": {
       "version": "7.0.21",
@@ -16015,8 +16004,7 @@
     "private": {
       "version": "0.1.8",
       "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
-      "dev": true
+      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
     },
     "process": {
       "version": "0.11.10",
@@ -16027,8 +16015,7 @@
     "process-nextick-args": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
-      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
-      "dev": true
+      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
     },
     "progress": {
       "version": "2.0.3",
@@ -16312,17 +16299,7 @@
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
-      "dev": true
-    },
-    "pupa": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
-      "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
-      "dev": true,
-      "requires": {
-        "escape-goat": "^2.0.0"
-      }
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
     },
     "q": {
       "version": "1.4.1",
@@ -16622,7 +16599,6 @@
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
       "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
-      "dev": true,
       "requires": {
         "core-util-is": "~1.0.0",
         "inherits": "~2.0.3",
@@ -16649,7 +16625,6 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
       "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
-      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.11",
         "micromatch": "^3.1.10",
@@ -16665,8 +16640,7 @@
     "regenerate": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
-      "dev": true
+      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
     },
     "regenerate-unicode-properties": {
       "version": "8.2.0",
@@ -16697,7 +16671,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
       "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
-      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.2",
         "safe-regex": "^1.1.0"
@@ -16764,20 +16737,17 @@
     "remove-trailing-separator": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
-      "dev": true
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
     },
     "repeat-element": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
-      "dev": true
+      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
     },
     "repeat-string": {
       "version": "1.6.1",
       "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
-      "dev": true
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
     },
     "request": {
       "version": "2.88.0",
@@ -16852,8 +16822,7 @@
     "resolve-url": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
-      "dev": true
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
     },
     "responselike": {
       "version": "1.0.2",
@@ -16894,8 +16863,7 @@
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
-      "dev": true
+      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
     },
     "retry": {
       "version": "0.12.0",
@@ -17014,14 +16982,12 @@
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
-      "dev": true
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
     },
     "safe-regex": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
       "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
-      "dev": true,
       "requires": {
         "ret": "~0.1.10"
       }
@@ -17375,7 +17341,6 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
       "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
-      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-extendable": "^0.1.1",
@@ -17387,7 +17352,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -17493,7 +17457,6 @@
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
       "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
-      "dev": true,
       "requires": {
         "base": "^0.11.1",
         "debug": "^2.2.0",
@@ -17509,7 +17472,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -17518,7 +17480,6 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
-          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -17526,8 +17487,7 @@
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
         }
       }
     },
@@ -17535,7 +17495,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
       "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
-      "dev": true,
       "requires": {
         "define-property": "^1.0.0",
         "isobject": "^3.0.0",
@@ -17546,7 +17505,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -17555,7 +17513,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -17564,7 +17521,6 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
-          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -17573,7 +17529,6 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
-          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -17586,7 +17541,6 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
       "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
-      "dev": true,
       "requires": {
         "kind-of": "^3.2.0"
       },
@@ -17595,7 +17549,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -17810,7 +17763,6 @@
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
       "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
-      "dev": true,
       "requires": {
         "atob": "^2.1.1",
         "decode-uri-component": "^0.2.0",
@@ -17840,8 +17792,7 @@
     "source-map-url": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
-      "dev": true
+      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
     },
     "sourcemap-codec": {
       "version": "1.4.8",
@@ -17975,7 +17926,6 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
       "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
-      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.0"
       }
@@ -18074,7 +18024,6 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
       "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
-      "dev": true,
       "requires": {
         "define-property": "^0.2.5",
         "object-copy": "^0.1.0"
@@ -18084,7 +18033,6 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
-          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -18291,7 +18239,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
       "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-      "dev": true,
       "requires": {
         "safe-buffer": "~5.1.0"
       }
@@ -18994,14 +18941,12 @@
     "to-fast-properties": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-      "dev": true
+      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
     },
     "to-object-path": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
       "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
-      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -19010,7 +18955,6 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
-          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -19027,7 +18971,6 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
       "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
-      "dev": true,
       "requires": {
         "define-property": "^2.0.2",
         "extend-shallow": "^3.0.2",
@@ -19039,7 +18982,6 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
       "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
-      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "repeat-string": "^1.6.1"
@@ -19354,14 +19296,12 @@
     "unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
-      "dev": true
+      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="
     },
     "unicode-match-property-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
       "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
-      "dev": true,
       "requires": {
         "unicode-canonical-property-names-ecmascript": "^1.0.4",
         "unicode-property-aliases-ecmascript": "^1.0.4"
@@ -19429,7 +19369,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
       "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
-      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "get-value": "^2.0.6",
@@ -19531,7 +19470,6 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
       "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
-      "dev": true,
       "requires": {
         "has-value": "^0.3.1",
         "isobject": "^3.0.0"
@@ -19541,7 +19479,6 @@
           "version": "0.3.1",
           "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
           "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
-          "dev": true,
           "requires": {
             "get-value": "^2.0.3",
             "has-values": "^0.1.4",
@@ -19552,7 +19489,6 @@
               "version": "2.1.0",
               "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
               "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
-              "dev": true,
               "requires": {
                 "isarray": "1.0.0"
               }
@@ -19562,8 +19498,7 @@
         "has-values": {
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
-          "dev": true
+          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
         }
       }
     },
@@ -19766,7 +19701,6 @@
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
-      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       }
@@ -19774,8 +19708,7 @@
     "urix": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
-      "dev": true
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
     },
     "url": {
       "version": "0.11.0",
@@ -19825,8 +19758,7 @@
     "use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
-      "dev": true
+      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
     },
     "useragent": {
       "version": "2.3.0",
@@ -19856,8 +19788,7 @@
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
-      "dev": true
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
     },
     "util-promisify": {
       "version": "2.1.0",
-- 
GitLab


From f6e9a37dc7e0b29c9cbaa86cd0db6e0c511b8934 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 20 Mar 2020 10:40:15 +0100
Subject: [PATCH 041/117] Update dependencies

---
 package-lock.json | 521 +++++++++++++++++++++++++---------------------
 1 file changed, 289 insertions(+), 232 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index e9602ffd1..c356e9f07 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -143,23 +143,6 @@
             "uri-js": "^4.2.2"
           }
         },
-        "browserslist": {
-          "version": "4.9.1",
-          "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.9.1.tgz",
-          "integrity": "sha512-Q0DnKq20End3raFulq6Vfp1ecB9fh8yUNV55s8sekaDDeqBaCtWlRHCUdaWyUeSSBJM7IbM6HcsyaeYqgeDhnw==",
-          "dev": true,
-          "requires": {
-            "caniuse-lite": "^1.0.30001030",
-            "electron-to-chromium": "^1.3.363",
-            "node-releases": "^1.1.50"
-          }
-        },
-        "caniuse-lite": {
-          "version": "1.0.30001035",
-          "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
-          "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
-          "dev": true
-        },
         "chokidar": {
           "version": "2.1.8",
           "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
@@ -402,16 +385,6 @@
         "source-map": "0.7.3"
       },
       "dependencies": {
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
         "ajv": {
           "version": "6.10.2",
           "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
@@ -506,16 +479,6 @@
         "uuid": "^3.3.2"
       },
       "dependencies": {
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
         "ansi-colors": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -563,101 +526,6 @@
         "yargs": "13.1.0"
       },
       "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.7.tgz",
-          "integrity": "sha512-DQwjiKJqH4C3qGiyQCAExJHoZssn49JTMJgZ8SANGgVFdkupcUhLOdkAeoC6kmHZCPfoDG5M0b6cFlSN5wW7Ew==",
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.7.tgz",
-          "integrity": "sha512-9JWls8WilDXFGxs0phaXAZgpxTZhSk/yOYH2hTHC0X1yC7Z78IJfvR1vJ+rmJKq3I35td2XzXzN6ZLYlna+r/A=="
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
         "ansi-regex": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
@@ -705,14 +573,6 @@
             "readdirp": "~3.3.0"
           }
         },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
         "emoji-regex": {
           "version": "7.0.3",
           "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
@@ -791,11 +651,6 @@
           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
-        },
         "normalize-path": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -1672,6 +1527,7 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
       "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+      "dev": true,
       "requires": {
         "@babel/types": "^7.8.3"
       },
@@ -1680,6 +1536,7 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -1788,6 +1645,7 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
       "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
+      "dev": true,
       "requires": {
         "@babel/types": "^7.8.3"
       },
@@ -1796,6 +1654,7 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -1965,6 +1824,7 @@
       "version": "7.8.6",
       "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz",
       "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==",
+      "dev": true,
       "requires": {
         "@babel/helper-member-expression-to-functions": "^7.8.3",
         "@babel/helper-optimise-call-expression": "^7.8.3",
@@ -1976,6 +1836,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
           "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
           "requires": {
             "@babel/highlight": "^7.8.3"
           }
@@ -1996,6 +1857,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
           "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
+          "dev": true,
           "requires": {
             "@babel/helper-get-function-arity": "^7.8.3",
             "@babel/template": "^7.8.3",
@@ -2006,6 +1868,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
           "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
+          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -2014,6 +1877,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
           "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "dev": true,
           "requires": {
             "@babel/types": "^7.8.3"
           }
@@ -2022,6 +1886,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
           "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -2038,6 +1903,7 @@
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
           "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/parser": "^7.8.6",
@@ -2048,6 +1914,7 @@
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
           "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/generator": "^7.8.6",
@@ -2064,6 +1931,7 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2074,6 +1942,7 @@
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
@@ -2081,12 +1950,14 @@
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         },
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
         }
       }
     },
@@ -2094,6 +1965,7 @@
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
       "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+      "dev": true,
       "requires": {
         "@babel/template": "^7.8.3",
         "@babel/types": "^7.8.3"
@@ -2103,6 +1975,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
           "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "dev": true,
           "requires": {
             "@babel/highlight": "^7.8.3"
           }
@@ -2111,6 +1984,7 @@
           "version": "7.8.3",
           "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
           "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "dev": true,
           "requires": {
             "chalk": "^2.0.0",
             "esutils": "^2.0.2",
@@ -2127,6 +2001,7 @@
           "version": "7.8.6",
           "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
           "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "dev": true,
           "requires": {
             "@babel/code-frame": "^7.8.3",
             "@babel/parser": "^7.8.6",
@@ -2137,6 +2012,7 @@
           "version": "7.8.7",
           "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
           "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "dev": true,
           "requires": {
             "esutils": "^2.0.2",
             "lodash": "^4.17.13",
@@ -2706,21 +2582,6 @@
             "lodash": "^4.17.13",
             "to-fast-properties": "^2.0.0"
           }
-        },
-        "is-number": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
-        },
-        "minimist": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz",
-          "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg=="
-        },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
         }
       }
     },
@@ -4316,6 +4177,7 @@
       "version": "3.2.1",
       "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
       "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+      "dev": true,
       "requires": {
         "color-convert": "^1.9.0"
       },
@@ -4324,6 +4186,7 @@
           "version": "1.9.3",
           "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
           "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+          "dev": true,
           "requires": {
             "color-name": "1.1.3"
           }
@@ -4331,7 +4194,8 @@
         "color-name": {
           "version": "1.1.3",
           "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
+          "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+          "dev": true
         }
       }
     },
@@ -4345,6 +4209,7 @@
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
       "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+      "dev": true,
       "requires": {
         "micromatch": "^3.1.4",
         "normalize-path": "^2.1.1"
@@ -4497,17 +4362,20 @@
     "arr-diff": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
-      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
+      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+      "dev": true
     },
     "arr-flatten": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
-      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
+      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+      "dev": true
     },
     "arr-union": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
-      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
+      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+      "dev": true
     },
     "array-differ": {
       "version": "1.0.0",
@@ -4556,7 +4424,8 @@
     "array-unique": {
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
-      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
+      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+      "dev": true
     },
     "arraybuffer.slice": {
       "version": "0.0.7",
@@ -4632,7 +4501,8 @@
     "assign-symbols": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
-      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
+      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+      "dev": true
     },
     "ast-transform": {
       "version": "0.0.0",
@@ -4711,7 +4581,8 @@
     "async-each": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
-      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0="
+      "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+      "dev": true
     },
     "async-exit-hook": {
       "version": "2.0.1",
@@ -4734,7 +4605,8 @@
     "atob": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
-      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
+      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+      "dev": true
     },
     "autoprefixer": {
       "version": "9.7.1",
@@ -4861,6 +4733,7 @@
       "version": "0.11.2",
       "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
       "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+      "dev": true,
       "requires": {
         "cache-base": "^1.0.1",
         "class-utils": "^0.3.5",
@@ -4875,6 +4748,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -4883,6 +4757,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -4891,6 +4766,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -4899,6 +4775,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -4977,7 +4854,8 @@
     "binary-extensions": {
       "version": "1.13.0",
       "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.0.tgz",
-      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw=="
+      "integrity": "sha512-EgmjVLMn22z7eGGv3kcnHwSnJXmFHjISTY9E/S5lIcTD3Oxw05QTcBLNkJFzcb3cNueUdF/IN4U+d78V0zO8Hw==",
+      "dev": true
     },
     "blob": {
       "version": "0.0.5",
@@ -5237,6 +5115,7 @@
       "version": "2.3.2",
       "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
       "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+      "dev": true,
       "requires": {
         "arr-flatten": "^1.1.0",
         "array-unique": "^0.3.2",
@@ -5254,6 +5133,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -5700,6 +5580,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
       "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+      "dev": true,
       "requires": {
         "collection-visit": "^1.0.0",
         "component-emitter": "^1.2.1",
@@ -5858,6 +5739,7 @@
       "version": "2.4.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
       "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+      "dev": true,
       "requires": {
         "ansi-styles": "^3.2.1",
         "escape-string-regexp": "^1.0.5",
@@ -5868,6 +5750,7 @@
           "version": "5.5.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
           "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+          "dev": true,
           "requires": {
             "has-flag": "^3.0.0"
           }
@@ -6102,6 +5985,7 @@
       "version": "0.3.6",
       "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
       "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "define-property": "^0.2.5",
@@ -6113,6 +5997,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -6330,6 +6215,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
       "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+      "dev": true,
       "requires": {
         "map-visit": "^1.0.0",
         "object-visit": "^1.0.0"
@@ -6448,7 +6334,8 @@
     "component-emitter": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
-      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY="
+      "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+      "dev": true
     },
     "component-inherit": {
       "version": "0.0.3",
@@ -6649,7 +6536,8 @@
     "copy-descriptor": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
-      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
+      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+      "dev": true
     },
     "copy-webpack-plugin": {
       "version": "5.1.1",
@@ -7351,7 +7239,8 @@
     "core-util-is": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
-      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
+      "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+      "dev": true
     },
     "cors": {
       "version": "2.8.5",
@@ -8094,6 +7983,7 @@
       "version": "2.6.9",
       "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+      "dev": true,
       "requires": {
         "ms": "2.0.0"
       }
@@ -8122,7 +8012,8 @@
     "decode-uri-component": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
-      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
+      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+      "dev": true
     },
     "decompress-response": {
       "version": "3.3.0",
@@ -8209,6 +8100,7 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
       "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+      "dev": true,
       "requires": {
         "is-descriptor": "^1.0.2",
         "isobject": "^3.0.1"
@@ -8218,6 +8110,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8226,6 +8119,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -8234,6 +8128,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -9248,7 +9143,8 @@
     "escape-string-regexp": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
+      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+      "dev": true
     },
     "escaper": {
       "version": "2.5.3",
@@ -9317,7 +9213,8 @@
     "esutils": {
       "version": "2.0.2",
       "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
-      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs="
+      "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+      "dev": true
     },
     "etag": {
       "version": "1.8.1",
@@ -9422,6 +9319,7 @@
       "version": "2.1.4",
       "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
       "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+      "dev": true,
       "requires": {
         "debug": "^2.3.3",
         "define-property": "^0.2.5",
@@ -9436,6 +9334,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -9444,6 +9343,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -9658,6 +9558,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
       "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+      "dev": true,
       "requires": {
         "assign-symbols": "^1.0.0",
         "is-extendable": "^1.0.1"
@@ -9667,6 +9568,7 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -9688,6 +9590,7 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
       "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+      "dev": true,
       "requires": {
         "array-unique": "^0.3.2",
         "define-property": "^1.0.0",
@@ -9703,6 +9606,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -9711,6 +9615,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -9719,6 +9624,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -9727,6 +9633,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -9735,6 +9642,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -9763,12 +9671,10 @@
     },
     "falafel": {
       "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz",
-      "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
+      "resolved": "",
       "dev": true,
       "requires": {
         "acorn": "^5.0.0",
-        "foreach": "^2.0.5",
         "isarray": "0.0.1",
         "object-keys": "^1.0.6"
       },
@@ -9802,7 +9708,8 @@
     "fast-deep-equal": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz",
-      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk="
+      "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=",
+      "dev": true
     },
     "fast-glob": {
       "version": "2.2.7",
@@ -9826,7 +9733,8 @@
     "fast-json-stable-stringify": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
-      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I="
+      "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+      "dev": true
     },
     "fast-levenshtein": {
       "version": "2.0.6",
@@ -9932,6 +9840,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
       "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-number": "^3.0.0",
@@ -9943,6 +9852,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -10203,12 +10113,7 @@
     "for-in": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
-      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
-    },
-    "foreach": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
-      "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
       "dev": true
     },
     "forever-agent": {
@@ -10243,6 +10148,7 @@
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
       "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+      "dev": true,
       "requires": {
         "map-cache": "^0.2.2"
       }
@@ -10316,6 +10222,7 @@
       "version": "1.2.7",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.7.tgz",
       "integrity": "sha512-Pxm6sI2MeBD7RdD12RYsqaP0nMiwx8eZBXCa6z2L+mRHm2DYrOYwihmhjpkdjUHwQhslWQjRpEgNq4XvBmaAuw==",
+      "dev": true,
       "optional": true,
       "requires": {
         "nan": "^2.9.2",
@@ -10325,21 +10232,25 @@
         "abbrev": {
           "version": "1.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "aproba": {
           "version": "1.2.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "are-we-there-yet": {
           "version": "1.1.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "delegates": "^1.0.0",
@@ -10349,11 +10260,13 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
@@ -10363,31 +10276,37 @@
         "chownr": {
           "version": "1.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "debug": {
           "version": "2.6.9",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "ms": "2.0.0"
@@ -10396,21 +10315,25 @@
         "deep-extend": {
           "version": "0.6.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "delegates": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "detect-libc": {
           "version": "1.0.3",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "fs-minipass": {
           "version": "1.2.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -10419,11 +10342,13 @@
         "fs.realpath": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "gauge": {
           "version": "2.7.4",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "aproba": "^1.0.3",
@@ -10439,6 +10364,7 @@
         "glob": {
           "version": "7.1.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "fs.realpath": "^1.0.0",
@@ -10452,11 +10378,13 @@
         "has-unicode": {
           "version": "2.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "iconv-lite": {
           "version": "0.4.24",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "safer-buffer": ">= 2.1.2 < 3"
@@ -10465,6 +10393,7 @@
         "ignore-walk": {
           "version": "3.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minimatch": "^3.0.4"
@@ -10473,6 +10402,7 @@
         "inflight": {
           "version": "1.0.6",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "once": "^1.3.0",
@@ -10482,16 +10412,19 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "ini": {
           "version": "1.3.5",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "is-fullwidth-code-point": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
@@ -10500,11 +10433,13 @@
         "isarray": {
           "version": "1.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "minimatch": {
           "version": "3.0.4",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
@@ -10513,11 +10448,13 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
@@ -10527,6 +10464,7 @@
         "minizlib": {
           "version": "1.2.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minipass": "^2.2.1"
@@ -10535,6 +10473,7 @@
         "mkdirp": {
           "version": "0.5.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "minimist": "0.0.8"
@@ -10543,11 +10482,13 @@
         "ms": {
           "version": "2.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "needle": {
           "version": "2.2.4",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "debug": "^2.1.2",
@@ -10558,6 +10499,7 @@
         "node-pre-gyp": {
           "version": "0.10.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "detect-libc": "^1.0.2",
@@ -10575,6 +10517,7 @@
         "nopt": {
           "version": "4.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "abbrev": "1",
@@ -10584,11 +10527,13 @@
         "npm-bundled": {
           "version": "1.0.5",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "npm-packlist": {
           "version": "1.2.0",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "ignore-walk": "^3.0.1",
@@ -10598,6 +10543,7 @@
         "npmlog": {
           "version": "4.1.2",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "are-we-there-yet": "~1.1.2",
@@ -10609,16 +10555,19 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "once": {
           "version": "1.4.0",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "wrappy": "1"
@@ -10627,16 +10576,19 @@
         "os-homedir": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "os-tmpdir": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "osenv": {
           "version": "0.1.5",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "os-homedir": "^1.0.0",
@@ -10646,16 +10598,19 @@
         "path-is-absolute": {
           "version": "1.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "process-nextick-args": {
           "version": "2.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "rc": {
           "version": "1.2.8",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "deep-extend": "^0.6.0",
@@ -10667,6 +10622,7 @@
             "minimist": {
               "version": "1.2.0",
               "bundled": true,
+              "dev": true,
               "optional": true
             }
           }
@@ -10674,6 +10630,7 @@
         "readable-stream": {
           "version": "2.3.6",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "core-util-is": "~1.0.0",
@@ -10688,6 +10645,7 @@
         "rimraf": {
           "version": "2.6.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "glob": "^7.1.3"
@@ -10696,36 +10654,43 @@
         "safe-buffer": {
           "version": "5.1.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "sax": {
           "version": "1.2.4",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "semver": {
           "version": "5.6.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "set-blocking": {
           "version": "2.0.0",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "signal-exit": {
           "version": "3.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "string-width": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
@@ -10736,6 +10701,7 @@
         "string_decoder": {
           "version": "1.1.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "safe-buffer": "~5.1.0"
@@ -10744,6 +10710,7 @@
         "strip-ansi": {
           "version": "3.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
@@ -10752,11 +10719,13 @@
         "strip-json-comments": {
           "version": "2.0.1",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "tar": {
           "version": "4.4.8",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "chownr": "^1.1.1",
@@ -10771,11 +10740,13 @@
         "util-deprecate": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "wide-align": {
           "version": "1.1.3",
           "bundled": true,
+          "dev": true,
           "optional": true,
           "requires": {
             "string-width": "^1.0.2 || 2"
@@ -10784,11 +10755,13 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
+          "dev": true,
           "optional": true
         },
         "yallist": {
           "version": "3.0.3",
           "bundled": true,
+          "dev": true,
           "optional": true
         }
       }
@@ -10830,7 +10803,8 @@
     "get-value": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
-      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
+      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+      "dev": true
     },
     "getpass": {
       "version": "0.1.7",
@@ -10858,6 +10832,7 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
       "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+      "dev": true,
       "requires": {
         "is-glob": "^3.1.0",
         "path-dirname": "^1.0.0"
@@ -10867,6 +10842,7 @@
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
           "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+          "dev": true,
           "requires": {
             "is-extglob": "^2.1.0"
           }
@@ -10929,7 +10905,8 @@
     "globals": {
       "version": "11.12.0",
       "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+      "dev": true
     },
     "globalthis": {
       "version": "1.0.1",
@@ -11097,7 +11074,8 @@
     "has-flag": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
+      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+      "dev": true
     },
     "has-symbols": {
       "version": "1.0.0",
@@ -11108,6 +11086,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
       "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+      "dev": true,
       "requires": {
         "get-value": "^2.0.6",
         "has-values": "^1.0.0",
@@ -11118,6 +11097,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
       "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "kind-of": "^4.0.0"
@@ -11127,6 +11107,7 @@
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
           "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -11757,6 +11738,7 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
       "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -11765,6 +11747,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -11781,6 +11764,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
       "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+      "dev": true,
       "requires": {
         "binary-extensions": "^1.0.0"
       }
@@ -11788,7 +11772,8 @@
     "is-buffer": {
       "version": "1.1.6",
       "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
-      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+      "dev": true
     },
     "is-callable": {
       "version": "1.1.4",
@@ -11822,6 +11807,7 @@
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
       "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -11830,6 +11816,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -11845,6 +11832,7 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
       "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+      "dev": true,
       "requires": {
         "is-accessor-descriptor": "^0.1.6",
         "is-data-descriptor": "^0.1.4",
@@ -11854,7 +11842,8 @@
         "kind-of": {
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
-          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
+          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+          "dev": true
         }
       }
     },
@@ -11867,12 +11856,14 @@
     "is-extendable": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
-      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
+      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+      "dev": true
     },
     "is-extglob": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+      "dev": true
     },
     "is-fullwidth-code-point": {
       "version": "2.0.0",
@@ -11884,6 +11875,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
       "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+      "dev": true,
       "requires": {
         "is-extglob": "^2.1.1"
       }
@@ -11920,6 +11912,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
       "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -11928,6 +11921,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -11973,6 +11967,7 @@
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
       "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -12070,7 +12065,8 @@
     "is-windows": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
-      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
+      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+      "dev": true
     },
     "is-wsl": {
       "version": "1.1.0",
@@ -12087,7 +12083,8 @@
     "isarray": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
     },
     "isbinaryfile": {
       "version": "4.0.4",
@@ -12103,7 +12100,8 @@
     "isobject": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true
     },
     "isstream": {
       "version": "0.1.2",
@@ -12321,15 +12319,6 @@
             "to-fast-properties": "^2.0.0"
           }
         },
-        "convert-source-map": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
-          "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.1"
-          }
-        },
         "debug": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -12559,7 +12548,8 @@
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+      "dev": true
     },
     "js-yaml": {
       "version": "3.13.1",
@@ -12588,7 +12578,8 @@
     "jsesc": {
       "version": "2.5.2",
       "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+      "dev": true
     },
     "json-buffer": {
       "version": "3.0.0",
@@ -12611,7 +12602,8 @@
     "json-schema-traverse": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
-      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg=="
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "dev": true
     },
     "json-stringify-safe": {
       "version": "5.0.1",
@@ -13476,7 +13468,8 @@
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
-      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
+      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+      "dev": true
     },
     "map-stream": {
       "version": "0.1.0",
@@ -13488,6 +13481,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
       "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+      "dev": true,
       "requires": {
         "object-visit": "^1.0.0"
       }
@@ -13640,6 +13634,7 @@
       "version": "3.1.10",
       "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
       "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -13873,6 +13868,7 @@
       "version": "1.3.2",
       "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
       "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+      "dev": true,
       "requires": {
         "for-in": "^1.0.2",
         "is-extendable": "^1.0.1"
@@ -13882,6 +13878,7 @@
           "version": "1.0.1",
           "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
           "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+          "dev": true,
           "requires": {
             "is-plain-object": "^2.0.4"
           }
@@ -13942,7 +13939,8 @@
     "ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
-      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
+      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+      "dev": true
     },
     "multicast-dns": {
       "version": "6.2.3",
@@ -13982,12 +13980,14 @@
       "version": "2.12.1",
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.1.tgz",
       "integrity": "sha512-JY7V6lRkStKcKTvHO5NVSQRv+RV+FIL5pvDoLiAtSL9pKlC5x9PKQcZDsq7m4FO4d57mkhC6Z+QhAh3Jdk5JFw==",
+      "dev": true,
       "optional": true
     },
     "nanomatch": {
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
       "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+      "dev": true,
       "requires": {
         "arr-diff": "^4.0.0",
         "array-unique": "^0.3.2",
@@ -14172,6 +14172,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
       "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+      "dev": true,
       "requires": {
         "remove-trailing-separator": "^1.0.1"
       }
@@ -14338,6 +14339,7 @@
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
       "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+      "dev": true,
       "requires": {
         "copy-descriptor": "^0.1.0",
         "define-property": "^0.2.5",
@@ -14348,6 +14350,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -14356,6 +14359,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -14377,6 +14381,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
       "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.0"
       }
@@ -14472,6 +14477,7 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
       "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+      "dev": true,
       "requires": {
         "isobject": "^3.0.1"
       }
@@ -15099,7 +15105,8 @@
     "pascalcase": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
-      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
+      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+      "dev": true
     },
     "path-browserify": {
       "version": "0.0.1",
@@ -15110,7 +15117,8 @@
     "path-dirname": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
-      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA="
+      "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+      "dev": true
     },
     "path-exists": {
       "version": "3.0.0",
@@ -15360,7 +15368,8 @@
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
-      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
+      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+      "dev": true
     },
     "postcss": {
       "version": "7.0.21",
@@ -16015,7 +16024,8 @@
     "process-nextick-args": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
-      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw=="
+      "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+      "dev": true
     },
     "progress": {
       "version": "2.0.3",
@@ -16299,7 +16309,8 @@
     "punycode": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
-      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+      "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+      "dev": true
     },
     "q": {
       "version": "1.4.1",
@@ -16599,6 +16610,7 @@
       "version": "2.3.6",
       "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
       "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+      "dev": true,
       "requires": {
         "core-util-is": "~1.0.0",
         "inherits": "~2.0.3",
@@ -16625,6 +16637,7 @@
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
       "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.11",
         "micromatch": "^3.1.10",
@@ -16640,7 +16653,8 @@
     "regenerate": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg=="
+      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+      "dev": true
     },
     "regenerate-unicode-properties": {
       "version": "8.2.0",
@@ -16671,6 +16685,7 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
       "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.2",
         "safe-regex": "^1.1.0"
@@ -16737,17 +16752,20 @@
     "remove-trailing-separator": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
-      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8="
+      "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+      "dev": true
     },
     "repeat-element": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
-      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
+      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+      "dev": true
     },
     "repeat-string": {
       "version": "1.6.1",
       "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
-      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
+      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+      "dev": true
     },
     "request": {
       "version": "2.88.0",
@@ -16822,7 +16840,8 @@
     "resolve-url": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
-      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
+      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+      "dev": true
     },
     "responselike": {
       "version": "1.0.2",
@@ -16863,7 +16882,8 @@
     "ret": {
       "version": "0.1.15",
       "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
-      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
+      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+      "dev": true
     },
     "retry": {
       "version": "0.12.0",
@@ -16982,12 +17002,14 @@
     "safe-buffer": {
       "version": "5.1.2",
       "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "dev": true
     },
     "safe-regex": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
       "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+      "dev": true,
       "requires": {
         "ret": "~0.1.10"
       }
@@ -17341,6 +17363,7 @@
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
       "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
+      "dev": true,
       "requires": {
         "extend-shallow": "^2.0.1",
         "is-extendable": "^0.1.1",
@@ -17352,6 +17375,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -17457,6 +17481,7 @@
       "version": "0.8.2",
       "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
       "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+      "dev": true,
       "requires": {
         "base": "^0.11.1",
         "debug": "^2.2.0",
@@ -17472,6 +17497,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -17480,6 +17506,7 @@
           "version": "2.0.1",
           "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
           "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+          "dev": true,
           "requires": {
             "is-extendable": "^0.1.0"
           }
@@ -17487,7 +17514,8 @@
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
         }
       }
     },
@@ -17495,6 +17523,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
       "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+      "dev": true,
       "requires": {
         "define-property": "^1.0.0",
         "isobject": "^3.0.0",
@@ -17505,6 +17534,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
           "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^1.0.0"
           }
@@ -17513,6 +17543,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
           "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -17521,6 +17552,7 @@
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
           "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+          "dev": true,
           "requires": {
             "kind-of": "^6.0.0"
           }
@@ -17529,6 +17561,7 @@
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
           "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+          "dev": true,
           "requires": {
             "is-accessor-descriptor": "^1.0.0",
             "is-data-descriptor": "^1.0.0",
@@ -17541,6 +17574,7 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
       "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+      "dev": true,
       "requires": {
         "kind-of": "^3.2.0"
       },
@@ -17549,6 +17583,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -17763,6 +17798,7 @@
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
       "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+      "dev": true,
       "requires": {
         "atob": "^2.1.1",
         "decode-uri-component": "^0.2.0",
@@ -17792,7 +17828,8 @@
     "source-map-url": {
       "version": "0.4.0",
       "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
-      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
+      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+      "dev": true
     },
     "sourcemap-codec": {
       "version": "1.4.8",
@@ -17926,6 +17963,7 @@
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
       "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+      "dev": true,
       "requires": {
         "extend-shallow": "^3.0.0"
       }
@@ -18024,6 +18062,7 @@
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
       "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+      "dev": true,
       "requires": {
         "define-property": "^0.2.5",
         "object-copy": "^0.1.0"
@@ -18033,6 +18072,7 @@
           "version": "0.2.5",
           "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
           "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+          "dev": true,
           "requires": {
             "is-descriptor": "^0.1.0"
           }
@@ -18239,6 +18279,7 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
       "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "dev": true,
       "requires": {
         "safe-buffer": "~5.1.0"
       }
@@ -18941,12 +18982,14 @@
     "to-fast-properties": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4="
+      "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
+      "dev": true
     },
     "to-object-path": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
       "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+      "dev": true,
       "requires": {
         "kind-of": "^3.0.2"
       },
@@ -18955,6 +18998,7 @@
           "version": "3.2.2",
           "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
           "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+          "dev": true,
           "requires": {
             "is-buffer": "^1.1.5"
           }
@@ -18971,6 +19015,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
       "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+      "dev": true,
       "requires": {
         "define-property": "^2.0.2",
         "extend-shallow": "^3.0.2",
@@ -18982,6 +19027,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
       "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+      "dev": true,
       "requires": {
         "is-number": "^3.0.0",
         "repeat-string": "^1.6.1"
@@ -19296,12 +19342,14 @@
     "unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
-      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ=="
+      "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==",
+      "dev": true
     },
     "unicode-match-property-ecmascript": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz",
       "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==",
+      "dev": true,
       "requires": {
         "unicode-canonical-property-names-ecmascript": "^1.0.4",
         "unicode-property-aliases-ecmascript": "^1.0.4"
@@ -19369,6 +19417,7 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
       "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
+      "dev": true,
       "requires": {
         "arr-union": "^3.1.0",
         "get-value": "^2.0.6",
@@ -19470,6 +19519,7 @@
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
       "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+      "dev": true,
       "requires": {
         "has-value": "^0.3.1",
         "isobject": "^3.0.0"
@@ -19479,6 +19529,7 @@
           "version": "0.3.1",
           "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
           "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+          "dev": true,
           "requires": {
             "get-value": "^2.0.3",
             "has-values": "^0.1.4",
@@ -19489,6 +19540,7 @@
               "version": "2.1.0",
               "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
               "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+              "dev": true,
               "requires": {
                 "isarray": "1.0.0"
               }
@@ -19498,7 +19550,8 @@
         "has-values": {
           "version": "0.1.4",
           "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
-          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
+          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+          "dev": true
         }
       }
     },
@@ -19701,6 +19754,7 @@
       "version": "4.2.2",
       "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
       "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
+      "dev": true,
       "requires": {
         "punycode": "^2.1.0"
       }
@@ -19708,7 +19762,8 @@
     "urix": {
       "version": "0.1.0",
       "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
-      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
+      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+      "dev": true
     },
     "url": {
       "version": "0.11.0",
@@ -19758,7 +19813,8 @@
     "use": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
-      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
+      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+      "dev": true
     },
     "useragent": {
       "version": "2.3.0",
@@ -19788,7 +19844,8 @@
     "util-deprecate": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
+      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+      "dev": true
     },
     "util-promisify": {
       "version": "2.1.0",
-- 
GitLab


From 606000fa51c4bbe0e2bb854f5154f210e7b76a3c Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 20 Mar 2020 15:24:48 +0100
Subject: [PATCH 042/117] Fix #382 - PAR: add button to generate ParSimulation

---
 src/locale/messages.en.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 262ab29b8..a99a7e8b7 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -392,11 +392,11 @@
     "INFO_PABPUISSANCE_TITRE_COURT": "FL: diss. power",
     "INFO_PABPUISSANCE_TITRE": "Fish ladder: dissipated power",
     "INFO_PARALLELSTRUCTURE_TITRE_COURT": "// structures",
-    "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation",
-    "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation",
     "INFO_PARALLELSTRUCTURE_TITRE": "Parallel structures",
     "INFO_PAR_TITRE": "Humpback fishway: setup",
     "INFO_PAR_TITRE_COURT": "HF: setup",
+    "INFO_PARSIMULATION_TITRE": "Humpback fishway: simulation",
+    "INFO_PARSIMULATION_TITRE_COURT": "HF: simulation",
     "INFO_PARAMFIELD_AWAITING_CALCULATION": "Awaiting calculation",
     "INFO_PARAMFIELD_BOUNDARY_CONDITIONS": "Boundary conditions",
     "INFO_PARAMFIELD_CALCULATED": "Calculated",
-- 
GitLab


From d4c50a5ed70e7f3af00292d10291dece6f09a814 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 23 Mar 2020 11:31:12 +0100
Subject: [PATCH 043/117] Fix bug in fieldsets refresh after compute

---
 src/app/formulaire/definition/form-fixedvar.ts | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts
index 9d81bb96c..20314b520 100644
--- a/src/app/formulaire/definition/form-fixedvar.ts
+++ b/src/app/formulaire/definition/form-fixedvar.ts
@@ -91,7 +91,6 @@ export class FormulaireFixedVar extends FormulaireDefinition {
         this.runNubCalc(this.currentNub);
         this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization
         this.reaffectResultComponents();
-        this.refreshFieldsets();
     }
 
     protected reaffectResultComponents() {
-- 
GitLab


From be87d9549b3113473cba60670a85c8b2799079f9 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 27 Mar 2020 10:38:55 +0100
Subject: [PATCH 044/117] Fix #384 - Cordova: updates notifications

---
 package-lock.json | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/package-lock.json b/package-lock.json
index c356e9f07..315d1c889 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9671,10 +9671,12 @@
     },
     "falafel": {
       "version": "2.1.0",
-      "resolved": "",
+      "resolved": "https://registry.npmjs.org/falafel/-/falafel-2.1.0.tgz",
+      "integrity": "sha1-lrsXdh2rqU9G0AFzizzt86Z/4Gw=",
       "dev": true,
       "requires": {
         "acorn": "^5.0.0",
+        "foreach": "^2.0.5",
         "isarray": "0.0.1",
         "object-keys": "^1.0.6"
       },
@@ -10116,6 +10118,12 @@
       "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
       "dev": true
     },
+    "foreach": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz",
+      "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
+      "dev": true
+    },
     "forever-agent": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
-- 
GitLab


From 714e253739a73e95f3eeaa5426794b766fe46531 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Tue, 26 May 2020 09:59:17 +0200
Subject: [PATCH 045/117] Work on GUI for Prebarrage

---
 src/app/app.module.ts                         |   2 +
 src/app/calculators/prebarrage/config.json    |  34 ++
 src/app/calculators/prebarrage/en.json        |  12 +
 src/app/calculators/prebarrage/fr.json        |  10 +
 .../calculator-list.component.ts              |  12 +-
 .../calculator.component.html                 |  51 ++-
 .../calculator.component.scss                 |   4 +
 .../calculator.component.ts                   |  25 +-
 .../pb-schema/pb-schema.component.html        |  62 +++
 .../pb-schema/pb-schema.component.scss        |  58 +++
 .../pb-schema/pb-schema.component.ts          | 399 ++++++++++++++++++
 src/app/config.json                           |   2 +-
 .../formulaire/definition/form-definition.ts  |  12 +
 src/app/formulaire/elements/pab-table.ts      |   5 -
 src/app/formulaire/elements/pb-schema.ts      |  32 ++
 src/locale/messages.en.json                   |   5 +
 src/locale/messages.fr.json                   |   5 +
 17 files changed, 695 insertions(+), 35 deletions(-)
 create mode 100644 src/app/calculators/prebarrage/config.json
 create mode 100644 src/app/calculators/prebarrage/en.json
 create mode 100644 src/app/calculators/prebarrage/fr.json
 create mode 100644 src/app/components/pb-schema/pb-schema.component.html
 create mode 100644 src/app/components/pb-schema/pb-schema.component.scss
 create mode 100644 src/app/components/pb-schema/pb-schema.component.ts
 create mode 100644 src/app/formulaire/elements/pb-schema.ts

diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 15ede0e09..ad14422ee 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -85,6 +85,7 @@ import { ParamLinkComponent } from "./components/param-link/param-link.component
 import { SelectModelFieldLineComponent } from "./components/select-model-field-line/select-model-field-line.component";
 import { PabProfileChartComponent } from "./components/pab-profile-chart/pab-profile-chart.component";
 import { PabTableComponent } from "./components/pab-table/pab-table.component";
+import { PbSchemaComponent } from './components/pb-schema/pb-schema.component';
 import { VariableResultsSelectorComponent } from "./components/variable-results-selector/variable-results-selector.component";
 import { QuicknavComponent } from "./components/quicknav/quicknav.component";
 import { ModulesDiagramComponent } from "./components/modules-diagram/modules-diagram.component";
@@ -218,6 +219,7 @@ const appRoutes: Routes = [
     PabResultsComponent,
     PabResultsTableComponent,
     PabTableComponent,
+    PbSchemaComponent,
     VariableResultsSelectorComponent,
     MacrorugoCompoundResultsComponent,
     MacrorugoCompoundResultsTableComponent,
diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json
new file mode 100644
index 000000000..754fbc81d
--- /dev/null
+++ b/src/app/calculators/prebarrage/config.json
@@ -0,0 +1,34 @@
+[
+    {
+        "id": "schema_interactif_pb",
+        "type": "pb_schema"
+    },
+    {
+        "id": "fs_params",
+        "type": "fieldset",
+        "fields": [
+            {
+                "id": "select_upstream",
+                "type": "select_reference",
+                "reference": "nub",
+                "source": "upstream_stuff"
+            },
+            {
+                "id": "select_downstream",
+                "type": "select_reference",
+                "reference": "nub",
+                "source": "downstream_stuff"
+            },
+            "Q",
+            "Z1",
+            "Z2"
+        ]
+    },
+    {
+        "type": "options",
+        "selectIds": [ ],
+        "upstreamSelectId": "select_upstream",
+        "downstreamSelectId": "select_downstream",
+        "_help": "prebarrage.html"
+    }
+]
diff --git a/src/app/calculators/prebarrage/en.json b/src/app/calculators/prebarrage/en.json
new file mode 100644
index 000000000..a8e5ea027
--- /dev/null
+++ b/src/app/calculators/prebarrage/en.json
@@ -0,0 +1,12 @@
+{
+    "fs_target": "Target parameter characteristics",
+    "fs_searched": "Searched parameter characteristics",
+
+    "Ytarget": "Value of target parameter",
+    "Xinit": "Initial value for searched parameter",
+    "X": "Value for searched parameter",
+
+    "select_target_nub": "Module and parameter to calculate",
+    "select_target_result": "Targetted result",
+    "select_searched_param": "Searched parameter"
+}
\ No newline at end of file
diff --git a/src/app/calculators/prebarrage/fr.json b/src/app/calculators/prebarrage/fr.json
new file mode 100644
index 000000000..e10e65996
--- /dev/null
+++ b/src/app/calculators/prebarrage/fr.json
@@ -0,0 +1,10 @@
+{
+    "fs_params": "Édition du bassin / de la cloison",
+
+    "Ytarget": "Valeur du paramètre cible",
+    "Xinit": "Valeur initiale du paramètre recherché",
+    "X": "Valeur du paramètre recherché",
+
+    "select_upstream": "Bassin / cloison amont",
+    "select_downstream": "Bassin / cloison aval"
+}
\ No newline at end of file
diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts
index f014d75c8..fa269332b 100644
--- a/src/app/components/calculator-list/calculator-list.component.ts
+++ b/src/app/components/calculator-list/calculator-list.component.ts
@@ -87,10 +87,14 @@ export class CalculatorListComponent implements OnInit {
 
                 for (const t of unusedCalculators) {
                     if ( // those sub-Nub types cannot be built outside a parent
-                        t !== CalculatorType.Structure
-                        && t !== CalculatorType.Section
-                        && t !== CalculatorType.CloisonAval
-                        && t !== CalculatorType.YAXN
+                        ! [
+                            CalculatorType.Structure,
+                            CalculatorType.Section,
+                            CalculatorType.CloisonAval,
+                            CalculatorType.YAXN,
+                            CalculatorType.PbBassin,
+                            CalculatorType.PbCloison
+                        ].includes(t)
                     ) {
                         unusedTheme.calculators.push({
                             type: t,
diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html
index b1b3ec2b0..d1f8ae992 100644
--- a/src/app/components/generic-calculator/calculator.component.html
+++ b/src/app/components/generic-calculator/calculator.component.html
@@ -58,21 +58,42 @@
                   [fxFlex.lt-md]="isWide ? '1 0 auto' : '1 0 500px'"
                   [fxFlex.lt-sm]="isWide ? '1 0 auto' : '1 0 300px'">
 
-                    <ng-template ngFor let-fe [ngForOf]="formElements">
-                        <field-set *ngIf="isFieldset(fe)" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe
-                            (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
-                            (tabPressed)="onTabPressed($event)">
-                        </field-set>
-
-                        <fieldset-container *ngIf="isFieldsetContainer(fe)" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe
-                            (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
-                            (tabPressed)="onTabPressed($event)">
-                        </fieldset-container>
-
-                        <pab-table *ngIf="isPabTable(fe)" [pabTable]=fe (radio)=onRadioClick($event)
-                            (validChange)=onElementValid() (inputChange)=onInputChange($event)>
-                        </pab-table>
-                    </ng-template>
+                    <div id="calc-card-field-sets-container" [fxLayout]="isPB ? 'row wrap' : 'column'">
+                        
+                        <ng-template ngFor let-fe [ngForOf]="formElements">
+                            <field-set *ngIf="isFieldset(fe)" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe
+                                (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
+                                (tabPressed)="onTabPressed($event)"
+                                [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'"
+                                [fxFlex.lt-md]="isPB ? '1 0 500px' : '1 0 auto'"
+                                [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'">
+                            </field-set>
+
+                            <fieldset-container *ngIf="isFieldsetContainer(fe)" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe
+                                (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
+                                (tabPressed)="onTabPressed($event)"
+                                fxFlex="1 0 auto">
+                            </fieldset-container>
+
+                            <pab-table *ngIf="isPabTable(fe)" [pabTable]=fe (radio)=onRadioClick($event)
+                                (validChange)=onElementValid() (inputChange)=onInputChange($event)
+                                fxFlex="1 0 auto">
+                            </pab-table>
+
+                            <div *ngIf="isPbSchema(fe)" id="pb-schema-container"
+                                [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'"
+                                [fxFlex.lt-md]="isPB ? '1 0 500px' : '1 0 auto'"
+                                [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'">
+
+                                <pb-schema *ngIf="isPbSchema(fe)" [pbSchema]=fe (radio)=onRadioClick($event)
+                                    (validChange)=onElementValid() (inputChange)=onInputChange($event)>
+                                </pb-schema>
+
+                                <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div>
+                            </div>
+
+                        </ng-template>
+                    </div>
 
                     <mat-card-actions>
                         <!-- bouton calculer -->
diff --git a/src/app/components/generic-calculator/calculator.component.scss b/src/app/components/generic-calculator/calculator.component.scss
index 8507212be..4430eb11f 100644
--- a/src/app/components/generic-calculator/calculator.component.scss
+++ b/src/app/components/generic-calculator/calculator.component.scss
@@ -22,6 +22,10 @@
     margin-top: -54px;
 }
 
+#pb-schema-container {
+    display: block;
+}
+
 mat-card {
     margin-bottom: 2em;
 
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index a72bd526e..8a8626540 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -44,6 +44,7 @@ import { DialogGeneratePARSimulationComponent } from "../dialog-generate-par-sim
 import { PabTable } from "../../formulaire/elements/pab-table";
 import { MultiDimensionResults } from "../../results/multidimension-results";
 import { NgParameter } from "../../formulaire/elements/ngparam";
+import { PbSchema } from "../../formulaire/elements/pb-schema";
 
 import { HotkeysService, Hotkey } from "angular2-hotkeys";
 
@@ -157,27 +158,26 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         return this._formulaire.kids as FormulaireElement[];
     }
 
-    /**
-     * détermine si un FormulaireElement est du type FieldSet
-     */
+    /** détermine si un FormulaireElement est du type FieldSet */
     public isFieldset(fe: any): boolean {
         return fe instanceof FieldSet;
     }
 
-    /**
-     * détermine si un FormulaireElement est du type FieldsetContainer
-     */
+    /** détermine si un FormulaireElement est du type FieldsetContainer */
     public isFieldsetContainer(fe: any): boolean {
         return fe instanceof FieldsetContainer;
     }
 
-    /**
-     * détermine si un FormulaireElement est du type PabTable
-     */
+    /** détermine si un FormulaireElement est du type PabTable */
     public isPabTable(fe: any): boolean {
         return fe instanceof PabTable;
     }
 
+    /** détermine si un FormulaireElement est du type PbSchema */
+    public isPbSchema(fe: any): boolean {
+        return fe instanceof PbSchema;
+    }
+
     public get hasForm() {
         return this._formulaire !== undefined;
     }
@@ -567,7 +567,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
 
     // for "one wide column" layout
     public get isWide() {
-        return (this.isPAB || this.isMRC);
+        return (this.isPAB || this.isMRC || this.isPB);
     }
 
     // true if current Nub is Solveur
@@ -585,6 +585,11 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         return this.is(CalculatorType.MacroRugoCompound);
     }
 
+    // true if current Nub is PreBarrage
+    public get isPB() {
+        return this.is(CalculatorType.PreBarrage);
+    }
+
     // true if current Nub is Jet
     public get isJet() {
         return this.is(CalculatorType.Jet);
diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
new file mode 100644
index 000000000..80b06a0f1
--- /dev/null
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -0,0 +1,62 @@
+<mat-card-header class="mat-card-header-text-margin-0 bg-accent-light">
+    <mat-card-title>
+        {{ title }}
+    </mat-card-title>
+</mat-card-header>
+
+<mat-card-content>
+
+    <div id="pb-schema-toolbar">
+
+        <div class="hyd-window-btns">
+            <span class="related-entity-title">
+                {{ prefixedItemDescription }}
+            </span>
+            <!-- <mat-select id="add-many-children" [(value)]="childrenToAdd">
+                <mat-option *ngFor="let i of addManyOptionsList" [value]="i">
+                    {{ i }}
+                </mat-option>
+            </mat-select> -->
+            <button type="button" mat-icon-button color="primary" title="example button">
+              <mat-icon>add_box</mat-icon>
+            </button>
+            <!-- <button type="button" mat-icon-button color="primary" [disabled]="! enableAddButton" (click)="onAddClick()"
+              [title]="uitextAdd">
+                <mat-icon>add_box</mat-icon>
+            </button>
+            <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()"
+              [title]="uitextCopy">
+                <mat-icon>content_copy</mat-icon>
+            </button>
+            |
+            <button type="button" mat-icon-button color="primary" [disabled]="! enableRemoveButton" (click)="onRemoveClick()"
+              [title]="uitextRemove">
+                <mat-icon>delete</mat-icon>
+            </button>
+            <button type="button" mat-icon-button color="primary" [disabled]="! enableUpButton" (click)="onMoveUpClick()"
+              [title]="uitextMoveUp">
+                <mat-icon *ngIf="! selectionIsOneDevice">arrow_upward</mat-icon>
+                <mat-icon *ngIf="selectionIsOneDevice">arrow_back</mat-icon>
+            </button>
+            <button type="button" mat-icon-button color="primary" [disabled]="! enableDownButton" (click)="onMoveDownClick()"
+              [title]="uitextMoveDown">
+                <mat-icon *ngIf="! selectionIsOneDevice">arrow_downward</mat-icon>
+                <mat-icon *ngIf="selectionIsOneDevice">arrow_forward</mat-icon>
+            </button>
+            |
+            <button type="button" mat-icon-button color="primary" (click)="exportAsSpreadsheet()"
+              [title]="uitextExportAsSpreadsheet">
+                <mat-icon color="primary">file_download</mat-icon>
+            </button> -->
+        </div>
+    </div>
+
+    <div *ngIf="error">{{ uitextDrawingError }}</div>
+
+    <div id="schema" #schema></div>
+
+    <div *ngIf="showDebug">
+        <pre>{{ graphDef }}</pre>
+    </div>
+
+</mat-card-content>
diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss
new file mode 100644
index 000000000..1b30459a2
--- /dev/null
+++ b/src/app/components/pb-schema/pb-schema.component.scss
@@ -0,0 +1,58 @@
+/** @see additional styles in src/styles.css */
+
+:host {
+    display: block;
+    width: 100%;
+    // reduce margins to avoid inner field-sets being too narrow on 360px display
+    /* margin-left: -8px;
+    margin-right: -8px; */
+}
+
+mat-card-header {
+    /* margin-left: -8px;
+    margin-right: -8px; */
+    margin-left: -16px;
+    margin-right: -16px;
+    padding-left: 16px;
+    padding-top: 8px;
+    color: white;
+
+    // Pourquoi n'est-ce pas hérité de calculator.component.scss ?
+    // À cause de la surcharge de mat-card-header ci-dessus ?
+    mat-card-title {
+        font-size: 16px !important;
+        margin-bottom: 8px;
+    }
+}
+
+mat-card-content {
+    margin-top: 1em;
+}
+
+#pb-schema-toolbar {
+    #edit-pab-table {
+        float: left;
+    }
+    .related-entity-title {
+        vertical-align: middle;
+        font-weight: bold;
+    }
+    .hyd-window-btns {
+        text-align: right;
+
+        #add-many-children {
+            width: 3em;
+            vertical-align: middle;
+        }
+
+        button.mat-icon-button {
+            width: 32px;
+        }
+    }
+}
+
+#schema {
+    margin-top: .5em;
+    margin-bottom: .5em;
+    text-align: center;
+}
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
new file mode 100644
index 000000000..02a921050
--- /dev/null
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -0,0 +1,399 @@
+import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild } from "@angular/core";
+
+import {
+    PreBarrage, PbBassin, PbBassinParams, PbCloison
+ } from "jalhyd";
+
+import * as mermaid from "mermaid";
+
+import { I18nService } from "../../services/internationalisation.service";
+import { ApplicationSetupService } from "../../services/app-setup.service";
+import { NotificationsService } from "../../services/notifications.service";
+import { PbSchema } from "../../formulaire/elements/pb-schema";
+
+/**
+ * The interactive schema for calculator type "PreBarrage" (component)
+ */
+@Component({
+    selector: "pb-schema",
+    templateUrl: "./pb-schema.component.html",
+    styleUrls: [
+        "./pb-schema.component.scss"
+    ]
+})
+export class PbSchemaComponent implements AfterViewInit, OnInit {
+
+    @Input()
+    private pbSchema: PbSchema;
+
+    @ViewChild("schema", { static: true })
+    public schema: any;
+
+    /** handle on SVG container */
+    private nativeElement: any;
+
+    public error: boolean;
+
+    /** flag de validité des FieldSet enfants */
+    private _isValid = false;
+
+    private upstreamId = "amont";
+
+    private downstreamId = "aval";
+
+    /** événément de changement de validité */
+    @Output()
+    private validChange = new EventEmitter();
+
+    /** événément de changement de valeur d'un input */
+    @Output()
+    private inputChange = new EventEmitter();
+
+    /** underlying PB */
+    private model: PreBarrage;
+
+    /** Latest clicked item: a PbCloison, a PbBassin or undefined if river "Upstream" or "Downstream" was clicked */
+    private _selectedItem: any;
+
+    public constructor(
+        private i18nService: I18nService,
+        private appSetupService: ApplicationSetupService,
+        private notifService: NotificationsService
+    ) { }
+
+    public get selectedItem(): any {
+        return this._selectedItem;
+    }
+
+    public ngAfterContentInit(): void {
+        this.error = false;
+        mermaid.initialize({
+            flowchart: {
+                curve: "basis"
+            }
+        });
+        this.nativeElement = this.schema.nativeElement;
+
+        // generate graph description
+        const graphDefinition = this.graphDefinition();
+        // draw
+        try {
+            mermaid.render("graphDiv", graphDefinition, (svgCode, bindFunctions) => {
+                this.nativeElement.innerHTML = svgCode;
+            });
+        } catch (e) {
+            console.error(e);
+            this.error = true;
+        }
+    }
+
+    public ngAfterViewInit(): void {
+        this.refreshEventListeners();
+        this.updateValidity();
+    }
+
+    /** Add click listener on every node and link in the graph */
+    private refreshEventListeners() {
+        this.nativeElement.querySelectorAll("g.node").forEach(item => {
+            item.style.cursor = "pointer";
+            item.addEventListener("click", () => {
+                this.selectBasin(item.id);
+            });
+        });
+        this.nativeElement.querySelectorAll("g.edgeLabel").forEach(item => {
+            item.style.cursor = "pointer";
+            item.addEventListener("click", () => {
+                this.selectWall(item);
+            });
+        });
+    }
+
+    /**
+     * Builds a Mermaid graph text definition
+     */
+    private graphDefinition() {
+        const def: string[] = [ "graph TB" ];
+
+        def.push(`${this.upstreamId}("${this.i18nService.localizeText("INFO_LIB_AMONT")}")`);
+        def.push(`${this.downstreamId}("${this.i18nService.localizeText("INFO_LIB_AVAL")}")`);
+
+        // debug
+        const b1 = new PbBassin(new PbBassinParams(0.1, 42));
+        this.model.addChild(b1);
+        const b2 = new PbBassin(new PbBassinParams(0.15, 38));
+        this.model.addChild(b2);
+        this.model.addChild(new PbCloison(undefined, b1));
+        this.model.addChild(new PbCloison(b1, b2));
+        this.model.addChild(new PbCloison(b2, undefined));
+        this.model.addChild(new PbCloison(b1, undefined));
+
+        for (const b of this.model.bassins) {
+            // basin
+            def.push(`${b.uid}("${this.itemDesription(b)}")`);
+            // upstream walls
+            for (const uw of b.cloisonsAmont) {
+                const upstreamBasinId = uw.bassinAmont === undefined ? this.upstreamId : uw.bassinAmont.uid;
+                // upstream wall unique identifier
+                const uwString = `${upstreamBasinId}-->|${this.itemDesription(uw)}|${b.uid}`;
+                if (! def.includes(uwString)) {
+                    def.push(uwString);
+                }
+            }
+            // downstream walls
+            for (const dw of b.cloisonsAval) {
+                const downstreamBasinId = dw.bassinAval === undefined ? this.downstreamId : dw.bassinAval.uid;
+                // downstream wall unique identifier
+                const dwString = `${b.uid}-->|${this.itemDesription(dw)}|${downstreamBasinId}`;
+                if (! def.includes(dwString)) {
+                    def.push(dwString);
+                }
+            }
+        }
+
+        return def.join("\n");
+    }
+
+    private selectBasin(id: string) {
+        if ([ this.upstreamId, this.downstreamId ].includes(id)) {
+            console.log("YOU CLICKED EITHER UPSTREAM OR DOWNSTREAM");
+            this._selectedItem = undefined;
+        } else {
+            let basin: PbBassin;
+            for (const b of this.model.bassins) {
+                if (b.uid === id) {
+                    basin = b;
+                }
+            }
+            this._selectedItem = basin;
+            // @TODO highlight node in schema
+            console.log("BASIN FOUND !", basin);
+        }
+    }
+
+    private selectWall(item: SVGGElement) {
+        // Mermaid does not allow to assign IDs to connectors and labels…
+        const text: string = item.querySelector("span.edgeLabel").textContent;
+        if (text) {
+            const [ uBs, dBs ] = text.split("-");
+            let wall: PbCloison;
+            // clodo test: is there an upstream basin or is it upstream river ?
+            if (uBs === this.i18nService.localizeText("INFO_LIB_AMONT")) {
+                // find wall from downstream basin
+                const dBi = Number(dBs.substring(1));
+                const dB = this.model.bassins[dBi - 1];
+                for (const w of dB.cloisonsAmont) {
+                    // find the one that is connected to upstream river
+                    if (w.bassinAmont === undefined) {
+                        wall = w;
+                    }
+                }
+            } else {
+                // find wall from upstream basin
+                const uBi = Number(uBs.substring(1));
+                const uB = this.model.bassins[uBi - 1];
+                // clodo test again
+                let dB: PbBassin;
+                if (dBs !== this.i18nService.localizeText("INFO_LIB_AVAL")) {
+                    const dBi = Number(dBs.substring(1));
+                    dB = this.model.bassins[dBi - 1];
+                }
+                for (const w of uB.cloisonsAval) {
+                    // find the one that is connected to dB (either a basin or downstream river)
+                    if (w.bassinAval === dB) {
+                        wall = w;
+                    }
+                }
+            }
+            if (wall === undefined) {
+                throw new Error(`PbSchemaComponent.selectWall(): cannot find wall for label "${text}"`);
+            }
+            this._selectedItem = wall;
+            // @TODO highlight label and edge in schema
+            console.log("WALL FOUND !", wall);
+        }
+    }
+
+    public get graphDef(): string {
+        return this.graphDefinition();
+    }
+
+    public get title(): string {
+        return this.i18nService.localizeText("INFO_PB_SCHEMA");
+    }
+
+    /** Global Pb validity */
+    public get isValid() {
+        return this._isValid;
+    }
+
+    /**
+     * Checks that input value is a valid number, according to input[type="number"] algorithm,
+     * and stores it in cell.uiValidity, so that the <td> element can access it and get angry
+     * if input is invalid
+     */
+    public inputValueChanged($event, cell) {
+        if ($event && $event.target && $event.target.validity) {
+            cell.uiValidity = $event.target.validity.valid;
+        }
+        this.updateValidity();
+        // send input change event (used to reset form results)
+        this.inputChange.emit();
+    }
+
+    public get prefixedItemDescription(): string {
+        let desc = this.itemDesription(this._selectedItem);
+        if (this._selectedItem instanceof PbCloison) {
+            desc = this.i18nService.localizeText("INFO_PB_CLOISON") + " " + desc;
+        }
+        if (desc !== "") {
+            desc += " : ";
+        }
+        return desc;
+    }
+
+    /** Returns a short description of the given item: wall or basin */
+    private itemDesription(item: PbCloison | PbBassin): string {
+        let desc = "";
+        if (item instanceof PbCloison) {
+            const upstreamBasinName = item.bassinAmont === undefined
+                ? this.i18nService.localizeText("INFO_LIB_AMONT")
+                : "B" + (item.bassinAmont.findPositionInParent() + 1);
+            const downstreamBasinName = item.bassinAval === undefined
+                ? this.i18nService.localizeText("INFO_LIB_AVAL")
+                : "B" + (item.bassinAval.findPositionInParent() + 1);
+            desc = upstreamBasinName + "-" + downstreamBasinName;
+
+        } else if (item instanceof PbBassin) {
+            desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (item.findPositionInParent() + 1);
+        } // else undefined
+        return desc;
+    }
+
+    /**
+     * Returns true if current cell is bound to a model that says its input value is
+     * no valid, or if characters typed in the input field are not a valid number
+     * (read from cell.uiValidity, see inputValueChanged() above)
+     */
+    /* public isInvalid(cell: any): boolean {
+        let valid = true;
+        if (this.hasModel(cell) && cell.model instanceof ParamDefinition) {
+            valid = valid && cell.model.isValid;
+        }
+        if (cell.uiValidity !== undefined) {
+            valid = valid && cell.uiValidity;
+        }
+        return ! valid;
+    } */
+
+    /**
+     * returns true if every wall (including downwall) has its nth device
+     * selected (or has no nth device)
+     */
+    /* public isDeviceColumnSelected(n: number): boolean {
+        let ok = true;
+        for (const c of this.model.children) {
+            const nthChild = c.getChildren()[n];
+            if (nthChild) {
+                ok = ok && this.selectedItems.includes(nthChild);
+            }
+        }
+        const nthChildDW = this.model.downWall.getChildren()[n];
+        if (nthChildDW) {
+            ok = ok && this.selectedItems.includes(nthChildDW);
+        }
+        return ok;
+    } */
+
+    // quick getter for 1st selected item
+    /* public get selectedItem() {
+        if (this.selectedItems.length === 0) {
+            throw new Error("get selectedItem() : no item selected");
+        }
+        return this.selectedItems[0];
+    } */
+
+    // at this time @Input data is supposed to be already populated
+    public ngOnInit() {
+        this.model = this.pbSchema.pb;
+        this.refresh();
+    }
+
+    /** Unselects all selected text (side-effect of shift+clicking) */
+    /* private clearSelection() {
+        if (window.getSelection) {
+            const sel = window.getSelection();
+            sel.removeAllRanges();
+        }
+    } */
+
+    /**
+     * Builds the interactive schema from the PreBarrage model
+     */
+    private refresh() {
+        this.updateValidity();
+    }
+
+    /* public get relatedEntityTitle() {
+        let title = "";
+        if (this.onlyDevicesAreSelected()) {
+            title = this.i18nService.localizeText("INFO_PAB_OUVRAGES");
+        } else if (this.onlyWallsAreSelected()) {
+            title = this.i18nService.localizeText("INFO_PAB_BASSINS");
+        }
+        if (title !== "") {
+            title += " :";
+        }
+        return title;
+    }
+
+    public get enableAddButton() {
+        return (
+            this.onlyDevicesOfTheSameColumnAreSelected()
+            || (
+                this.selectedItems.length === 1
+                && ! (this.selectedItem instanceof CloisonAval) // exclude downwall
+            )
+        );
+    }
+
+    public get enableCopyButton() {
+        return this.enableAddButton;
+    } */
+
+    /**
+     * Computes the global Pab validity : validity of every cell of every row
+     */
+    private updateValidity() {
+        this._isValid = true;
+        /* for (const r of this.rows) {
+            for (const c of r.cells) {
+                this._isValid = this._isValid && ! this.isInvalid(c);
+            }
+        } */
+        this.validChange.emit();
+    }
+
+    /* public exportAsSpreadsheet() {
+        const elem: any = document.getElementById("geometry");
+        const elemCopy = (elem as HTMLElement).cloneNode(true) as HTMLElement;
+        // enrich element copy: replace inputs by their values, so that it appears in the exported spreadsheet
+        const tables: any = elemCopy.getElementsByTagName("table");
+        for (const table of tables) {
+            const tds: any = table.getElementsByTagName("td");
+            for (const td of tds) {
+                // if it contains an input, replace it with the input value
+                const inputs = td.getElementsByTagName("input");
+                if (inputs.length > 0) {
+                    const input = inputs[0];
+                    td.innerHTML = input.value;
+                }
+            }
+        }
+        // export the enriched element copy
+        AppComponent.exportAsSpreadsheet(elemCopy as any);
+    }
+
+    public get uitextExportAsSpreadsheet() {
+        return this.i18nService.localizeText("INFO_RESULTS_EXPORT_AS_SPREADSHEET");
+    } */
+}
diff --git a/src/app/config.json b/src/app/config.json
index 600172199..e1a038001 100644
--- a/src/app/config.json
+++ b/src/app/config.json
@@ -15,7 +15,7 @@
                 "path": "passe-bassin.jpg",
                 "credits": "S. Richard / OFB"
             },
-            "calculators": [ 12, 13, 6, 5, 10, 15 ]
+            "calculators": [ 12, 13, 6, 5, 10, 15, 30 ]
         },
         {
             "name": "PASSE_A_RALENTISSEURS",
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index 3cb94b538..5f8a226d8 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -24,6 +24,7 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera
 import { CalculatorResults } from "../../results/calculator-results";
 import { ServiceFactory } from "../../services/service-factory";
 import { PabTable } from "../elements/pab-table";
+import { PbSchema } from '../elements/pb-schema';
 
 /**
  * classe de base pour tous les formulaires
@@ -221,6 +222,13 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         this.kids.push(tab);
     }
 
+    private parse_pb_schema(json: {}) {
+        const sch: PbSchema = new PbSchema(this);
+        sch.parseConfig(json);
+        this.kids.push(sch);
+    }
+
+
     /**
      * 1ère passe d'analyse de la configuration
      */
@@ -278,6 +286,10 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     this.parse_pab_table(conf);
                     break;
 
+                case "pb_schema": // not generic at all
+                    this.parse_pb_schema(conf);
+                    break;
+
                 default:
                     throw new Error(`type d'objet de module de calcul ${type} non pris en charge`);
             }
diff --git a/src/app/formulaire/elements/pab-table.ts b/src/app/formulaire/elements/pab-table.ts
index aea39c56e..e9934bb9c 100644
--- a/src/app/formulaire/elements/pab-table.ts
+++ b/src/app/formulaire/elements/pab-table.ts
@@ -1,7 +1,6 @@
 import { Pab } from "jalhyd";
 
 import { FormulaireElement } from "./formulaire-element";
-import { FormulaireNode } from "./formulaire-node";
 import { FormulairePab } from "../definition/form-pab";
 
 /**
@@ -12,10 +11,6 @@ import { FormulairePab } from "../definition/form-pab";
  */
 export class PabTable extends FormulaireElement {
 
-    constructor(parent: FormulaireNode) {
-        super(parent);
-    }
-
     public parseConfig(json: {}) {
         this._confId = json["id"];
     }
diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts
new file mode 100644
index 000000000..0d4243781
--- /dev/null
+++ b/src/app/formulaire/elements/pb-schema.ts
@@ -0,0 +1,32 @@
+import { PreBarrage } from "jalhyd";
+
+import { FormulaireElement } from "./formulaire-element";
+
+/**
+ * The interactive schema for calculator type "PreBarrage" (form element).
+ *
+ * This is just a gateway between the model (Prebarrage)
+ * and the user interface (PbSchemaComponent)
+ */
+export class PbSchema extends FormulaireElement {
+
+    public parseConfig(json: {}) {
+        this._confId = json["id"];
+    }
+
+    /**
+     * Returns the parent FormulairePab
+     */
+    /* public get form(): FormulairePab {
+        return this.parentForm as FormulairePab;
+    } */
+
+    /**
+     * Returns the Prebarrage model associated to the parent form
+     */
+    public get pb(): PreBarrage {
+        if (this.parentForm) {
+            return this.parentForm.currentNub as PreBarrage;
+        }
+    }
+}
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index a99a7e8b7..0503c8e18 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -434,6 +434,11 @@
     "INFO_PARAMFIELD_VARIATED": "Variated",
     "INFO_PARAMMODE_LIST": "Values list",
     "INFO_PARAMMODE_MINMAX": "Min/max",
+    "INFO_PB_BASSIN_N": "Basin #",
+    "INFO_PB_CLOISON": "Wall",
+    "INFO_PB_SCHEMA": "Basins layout",
+    "INFO_PREBARRAGE_TITRE": "Pre-dams",
+    "INFO_PREBARRAGE_TITRE_COURT": "Pre-dams",
     "INFO_QUICKNAV_CHARTS": "charts",
     "INFO_QUICKNAV_INPUT": "input",
     "INFO_QUICKNAV_RESULTS": "results",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 79f5ff227..fba0a440c 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -434,6 +434,11 @@
     "INFO_PARAMFIELD_VARIATED": "Varié",
     "INFO_PARAMMODE_LIST": "Liste de valeurs",
     "INFO_PARAMMODE_MINMAX": "Min/max",
+    "INFO_PB_BASSIN_N": "Bassin n°",
+    "INFO_PB_CLOISON": "Cloison",
+    "INFO_PB_SCHEMA": "Organisation des bassins",
+    "INFO_PREBARRAGE_TITRE": "Prébarrages",
+    "INFO_PREBARRAGE_TITRE_COURT": "Prébarrages",
     "INFO_QUICKNAV_CHARTS": "graphiques",
     "INFO_QUICKNAV_INPUT": "données",
     "INFO_QUICKNAV_RESULTS": "résultats",
-- 
GitLab


From 7ffa86763ad69b4360b33716ba161b7d1db7465b Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Tue, 26 May 2020 16:54:43 +0200
Subject: [PATCH 046/117] Update jalhyd_branch

---
 jalhyd_branch | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/jalhyd_branch b/jalhyd_branch
index d64531f13..22284ff35 100644
--- a/jalhyd_branch
+++ b/jalhyd_branch
@@ -1 +1 @@
-devel
+32-ajout-de-l-outil-prebarrage
-- 
GitLab


From e6c7f3b0d43a544bf309ec256d466bda63c9fedf Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Wed, 27 May 2020 12:05:25 +0200
Subject: [PATCH 047/117] Fix bug breaking build

---
 src/app/components/pb-schema/pb-schema.component.html | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
index 80b06a0f1..da8c17896 100644
--- a/src/app/components/pb-schema/pb-schema.component.html
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -55,8 +55,8 @@
 
     <div id="schema" #schema></div>
 
-    <div *ngIf="showDebug">
+    <!-- <div *ngIf="showDebug">
         <pre>{{ graphDef }}</pre>
-    </div>
+    </div> -->
 
 </mat-card-content>
-- 
GitLab


From d85eeb2ac2a2c143fa1f5d74e4c8853f2eb9459a Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Wed, 27 May 2020 14:21:08 +0200
Subject: [PATCH 048/117] Angular: increase anyComponentStyle budget

---
 angular.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/angular.json b/angular.json
index 7671b88ce..5e5ff3530 100644
--- a/angular.json
+++ b/angular.json
@@ -46,7 +46,7 @@
               "budgets": [
                 {
                   "type": "anyComponentStyle",
-                  "maximumWarning": "6kb"
+                  "maximumWarning": "10kb"
                 }
               ],
               "optimization": true,
-- 
GitLab


From 874fb7a7795f915c916c4139677abddbf03fea14 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Wed, 27 May 2020 17:01:38 +0200
Subject: [PATCH 049/117] PreBarrage: diagram actions

add basin
remove basin (buggy)
remove wall
---
 .../pb-schema/pb-schema.component.html        |  35 +----
 .../pb-schema/pb-schema.component.scss        |   9 +-
 .../pb-schema/pb-schema.component.ts          | 141 +++++++-----------
 src/locale/messages.en.json                   |   1 +
 src/locale/messages.fr.json                   |   1 +
 5 files changed, 61 insertions(+), 126 deletions(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
index da8c17896..0c35fbbc4 100644
--- a/src/app/components/pb-schema/pb-schema.component.html
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -8,6 +8,10 @@
 
     <div id="pb-schema-toolbar">
 
+        <button type="button" id="add-basin" mat-raised-button color="accent" (click)="onAddBasinClick()">
+            {{ uitextAddBasin }}
+        </button>
+
         <div class="hyd-window-btns">
             <span class="related-entity-title">
                 {{ prefixedItemDescription }}
@@ -16,33 +20,16 @@
                 <mat-option *ngFor="let i of addManyOptionsList" [value]="i">
                     {{ i }}
                 </mat-option>
-            </mat-select> -->
-            <button type="button" mat-icon-button color="primary" title="example button">
-              <mat-icon>add_box</mat-icon>
-            </button>
-            <!-- <button type="button" mat-icon-button color="primary" [disabled]="! enableAddButton" (click)="onAddClick()"
+            </mat-select>
+            <button type="button" mat-icon-button color="primary" [disabled]="! enableAddButton" (click)="onAddClick()"
               [title]="uitextAdd">
                 <mat-icon>add_box</mat-icon>
-            </button>
-            <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()"
-              [title]="uitextCopy">
-                <mat-icon>content_copy</mat-icon>
-            </button>
-            |
+            </button> -->
             <button type="button" mat-icon-button color="primary" [disabled]="! enableRemoveButton" (click)="onRemoveClick()"
               [title]="uitextRemove">
                 <mat-icon>delete</mat-icon>
             </button>
-            <button type="button" mat-icon-button color="primary" [disabled]="! enableUpButton" (click)="onMoveUpClick()"
-              [title]="uitextMoveUp">
-                <mat-icon *ngIf="! selectionIsOneDevice">arrow_upward</mat-icon>
-                <mat-icon *ngIf="selectionIsOneDevice">arrow_back</mat-icon>
-            </button>
-            <button type="button" mat-icon-button color="primary" [disabled]="! enableDownButton" (click)="onMoveDownClick()"
-              [title]="uitextMoveDown">
-                <mat-icon *ngIf="! selectionIsOneDevice">arrow_downward</mat-icon>
-                <mat-icon *ngIf="selectionIsOneDevice">arrow_forward</mat-icon>
-            </button>
+            <!-- 
             |
             <button type="button" mat-icon-button color="primary" (click)="exportAsSpreadsheet()"
               [title]="uitextExportAsSpreadsheet">
@@ -51,12 +38,6 @@
         </div>
     </div>
 
-    <div *ngIf="error">{{ uitextDrawingError }}</div>
-
     <div id="schema" #schema></div>
 
-    <!-- <div *ngIf="showDebug">
-        <pre>{{ graphDef }}</pre>
-    </div> -->
-
 </mat-card-content>
diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss
index 1b30459a2..eccdfe35b 100644
--- a/src/app/components/pb-schema/pb-schema.component.scss
+++ b/src/app/components/pb-schema/pb-schema.component.scss
@@ -3,22 +3,15 @@
 :host {
     display: block;
     width: 100%;
-    // reduce margins to avoid inner field-sets being too narrow on 360px display
-    /* margin-left: -8px;
-    margin-right: -8px; */
 }
 
 mat-card-header {
-    /* margin-left: -8px;
-    margin-right: -8px; */
     margin-left: -16px;
     margin-right: -16px;
     padding-left: 16px;
     padding-top: 8px;
     color: white;
 
-    // Pourquoi n'est-ce pas hérité de calculator.component.scss ?
-    // À cause de la surcharge de mat-card-header ci-dessus ?
     mat-card-title {
         font-size: 16px !important;
         margin-bottom: 8px;
@@ -30,7 +23,7 @@ mat-card-content {
 }
 
 #pb-schema-toolbar {
-    #edit-pab-table {
+    #add-basin {
         float: left;
     }
     .related-entity-title {
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 02a921050..a55569473 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -32,8 +32,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     /** handle on SVG container */
     private nativeElement: any;
 
-    public error: boolean;
-
     /** flag de validité des FieldSet enfants */
     private _isValid = false;
 
@@ -66,14 +64,17 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     }
 
     public ngAfterContentInit(): void {
-        this.error = false;
         mermaid.initialize({
             flowchart: {
                 curve: "basis"
             }
         });
         this.nativeElement = this.schema.nativeElement;
+        this.render();
+    }
 
+    private render() {
+        this.nativeElement.innerHTML = ""; // or diagram goes blank when refreshing…
         // generate graph description
         const graphDefinition = this.graphDefinition();
         // draw
@@ -83,10 +84,19 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
             });
         } catch (e) {
             console.error(e);
-            this.error = true;
         }
     }
 
+    /**
+     * Builds the interactive schema from the PreBarrage model
+     */
+    private refresh() {
+        console.log("riz fraîche");
+        this.render();
+        this.refreshEventListeners();
+        this.updateValidity();
+    }
+
     public ngAfterViewInit(): void {
         this.refreshEventListeners();
         this.updateValidity();
@@ -118,14 +128,16 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         def.push(`${this.downstreamId}("${this.i18nService.localizeText("INFO_LIB_AVAL")}")`);
 
         // debug
-        const b1 = new PbBassin(new PbBassinParams(0.1, 42));
-        this.model.addChild(b1);
-        const b2 = new PbBassin(new PbBassinParams(0.15, 38));
-        this.model.addChild(b2);
-        this.model.addChild(new PbCloison(undefined, b1));
-        this.model.addChild(new PbCloison(b1, b2));
-        this.model.addChild(new PbCloison(b2, undefined));
-        this.model.addChild(new PbCloison(b1, undefined));
+        if (this.model.children.length === 0) {
+            const b1 = new PbBassin(new PbBassinParams(0.1, 42));
+            this.model.addChild(b1);
+            const b2 = new PbBassin(new PbBassinParams(0.15, 38));
+            this.model.addChild(b2);
+            this.model.addChild(new PbCloison(undefined, b1));
+            this.model.addChild(new PbCloison(b1, b2));
+            this.model.addChild(new PbCloison(b2, undefined));
+            this.model.addChild(new PbCloison(b1, undefined));
+        }
 
         for (const b of this.model.bassins) {
             // basin
@@ -257,108 +269,55 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         if (item instanceof PbCloison) {
             const upstreamBasinName = item.bassinAmont === undefined
                 ? this.i18nService.localizeText("INFO_LIB_AMONT")
-                : "B" + (item.bassinAmont.findPositionInParent() + 1);
+                : "B" + (this.findBasinPosition(item.bassinAmont) + 1);
             const downstreamBasinName = item.bassinAval === undefined
                 ? this.i18nService.localizeText("INFO_LIB_AVAL")
-                : "B" + (item.bassinAval.findPositionInParent() + 1);
+                : "B" + (this.findBasinPosition(item.bassinAval) + 1);
             desc = upstreamBasinName + "-" + downstreamBasinName;
 
         } else if (item instanceof PbBassin) {
-            desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (item.findPositionInParent() + 1);
+            desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.findBasinPosition(item) + 1);
         } // else undefined
         return desc;
     }
 
-    /**
-     * Returns true if current cell is bound to a model that says its input value is
-     * no valid, or if characters typed in the input field are not a valid number
-     * (read from cell.uiValidity, see inputValueChanged() above)
-     */
-    /* public isInvalid(cell: any): boolean {
-        let valid = true;
-        if (this.hasModel(cell) && cell.model instanceof ParamDefinition) {
-            valid = valid && cell.model.isValid;
-        }
-        if (cell.uiValidity !== undefined) {
-            valid = valid && cell.uiValidity;
-        }
-        return ! valid;
-    } */
-
-    /**
-     * returns true if every wall (including downwall) has its nth device
-     * selected (or has no nth device)
-     */
-    /* public isDeviceColumnSelected(n: number): boolean {
-        let ok = true;
-        for (const c of this.model.children) {
-            const nthChild = c.getChildren()[n];
-            if (nthChild) {
-                ok = ok && this.selectedItems.includes(nthChild);
-            }
-        }
-        const nthChildDW = this.model.downWall.getChildren()[n];
-        if (nthChildDW) {
-            ok = ok && this.selectedItems.includes(nthChildDW);
-        }
-        return ok;
-    } */
-
-    // quick getter for 1st selected item
-    /* public get selectedItem() {
-        if (this.selectedItems.length === 0) {
-            throw new Error("get selectedItem() : no item selected");
+    private findBasinPosition(basin: PbBassin): number {
+        let i = 0;
+        for (const b of this.model.bassins) {
+            if (b === basin) break;
+            i++;
         }
-        return this.selectedItems[0];
-    } */
+        return i;
+    }
 
     // at this time @Input data is supposed to be already populated
     public ngOnInit() {
         this.model = this.pbSchema.pb;
-        this.refresh();
     }
 
-    /** Unselects all selected text (side-effect of shift+clicking) */
-    /* private clearSelection() {
-        if (window.getSelection) {
-            const sel = window.getSelection();
-            sel.removeAllRanges();
-        }
-    } */
+    public get enableRemoveButton() {
+        return (this._selectedItem !== undefined);
+    }
 
-    /**
-     * Builds the interactive schema from the PreBarrage model
-     */
-    private refresh() {
-        this.updateValidity();
+    /** Removes a basin or wall, and all related items */
+    public onRemoveClick() {
+        this.model.deleteChild(this._selectedItem.findPositionInParent());
+        this.refresh();
     }
 
-    /* public get relatedEntityTitle() {
-        let title = "";
-        if (this.onlyDevicesAreSelected()) {
-            title = this.i18nService.localizeText("INFO_PAB_OUVRAGES");
-        } else if (this.onlyWallsAreSelected()) {
-            title = this.i18nService.localizeText("INFO_PAB_BASSINS");
-        }
-        if (title !== "") {
-            title += " :";
-        }
-        return title;
+    public get uitextRemove() {
+        return this.i18nService.localizeText("INFO_FIELDSET_REMOVE");
     }
 
-    public get enableAddButton() {
-        return (
-            this.onlyDevicesOfTheSameColumnAreSelected()
-            || (
-                this.selectedItems.length === 1
-                && ! (this.selectedItem instanceof CloisonAval) // exclude downwall
-            )
-        );
+    public onAddBasinClick() {
+        console.log("Ajoute un bassin, coquin !");
+        this.model.addChild(new PbBassin(new PbBassinParams(20, 99)));
+        this.refresh();
     }
 
-    public get enableCopyButton() {
-        return this.enableAddButton;
-    } */
+    public get uitextAddBasin() {
+        return this.i18nService.localizeText("INFO_PB_ADD_BASIN");
+    }
 
     /**
      * Computes the global Pab validity : validity of every cell of every row
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 0503c8e18..c3c8350e0 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -434,6 +434,7 @@
     "INFO_PARAMFIELD_VARIATED": "Variated",
     "INFO_PARAMMODE_LIST": "Values list",
     "INFO_PARAMMODE_MINMAX": "Min/max",
+    "INFO_PB_ADD_BASIN": "Add new basin",
     "INFO_PB_BASSIN_N": "Basin #",
     "INFO_PB_CLOISON": "Wall",
     "INFO_PB_SCHEMA": "Basins layout",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index fba0a440c..1bb518b44 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -434,6 +434,7 @@
     "INFO_PARAMFIELD_VARIATED": "Varié",
     "INFO_PARAMMODE_LIST": "Liste de valeurs",
     "INFO_PARAMMODE_MINMAX": "Min/max",
+    "INFO_PB_ADD_BASIN": "Ajouter un bassin",
     "INFO_PB_BASSIN_N": "Bassin n°",
     "INFO_PB_CLOISON": "Cloison",
     "INFO_PB_SCHEMA": "Organisation des bassins",
-- 
GitLab


From 5c908beba605b65cf47720a40b22fb1cef190eb3 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 28 May 2020 17:05:44 +0200
Subject: [PATCH 050/117] Prebarrage: GUI

grey out Calculate button if basins structure is invalid
use Mermaid Nodes for walls
suffix multiple walls on same basins pair
base Mermaid Nodes on children UIDs
display Mermaid code (debug)
unselect element after deletion
highlight selected element
---
 src/app/calculators/prebarrage/fr.json        |   4 +-
 .../calculator.component.ts                   |  11 ++
 .../pb-schema/pb-schema.component.html        |   2 +
 .../pb-schema/pb-schema.component.scss        |   4 +
 .../pb-schema/pb-schema.component.ts          | 185 +++++++-----------
 5 files changed, 94 insertions(+), 112 deletions(-)

diff --git a/src/app/calculators/prebarrage/fr.json b/src/app/calculators/prebarrage/fr.json
index e10e65996..b770ea7b8 100644
--- a/src/app/calculators/prebarrage/fr.json
+++ b/src/app/calculators/prebarrage/fr.json
@@ -5,6 +5,6 @@
     "Xinit": "Valeur initiale du paramètre recherché",
     "X": "Valeur du paramètre recherché",
 
-    "select_upstream": "Bassin / cloison amont",
-    "select_downstream": "Bassin / cloison aval"
+    "select_upstream": "Bassin amont",
+    "select_downstream": "Bassin aval"
 }
\ No newline at end of file
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 8a8626540..e84519018 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -45,6 +45,7 @@ import { PabTable } from "../../formulaire/elements/pab-table";
 import { MultiDimensionResults } from "../../results/multidimension-results";
 import { NgParameter } from "../../formulaire/elements/ngparam";
 import { PbSchema } from "../../formulaire/elements/pb-schema";
+import { PbSchemaComponent } from "../pb-schema/pb-schema.component";
 
 import { HotkeysService, Hotkey } from "angular2-hotkeys";
 
@@ -74,6 +75,12 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
     @ViewChild(PabTableComponent)
     private _pabTableComponent: PabTableComponent;
 
+    /**
+     * PbSchemaComponent if any
+     */
+    @ViewChild(PbSchemaComponent)
+    private _pbSchemaComponent: PbSchemaComponent;
+
     /**
      * composant d'affichage des résultats
      */
@@ -484,6 +491,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         if (this._pabTableComponent !== undefined) {
             this._isUIValid = this._isUIValid && this._pabTableComponent.isValid;
         }
+
+        if (this._pbSchemaComponent !== undefined) {
+            this._isUIValid = this._isUIValid && this._pbSchemaComponent.isValid;
+        }
     }
 
     public getElementStyleDisplay(id: string) {
diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
index 0c35fbbc4..d87b406bc 100644
--- a/src/app/components/pb-schema/pb-schema.component.html
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -40,4 +40,6 @@
 
     <div id="schema" #schema></div>
 
+    <pre id="debug">{{ graphDef }} </pre>
+
 </mat-card-content>
diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss
index eccdfe35b..7c3c8cb0b 100644
--- a/src/app/components/pb-schema/pb-schema.component.scss
+++ b/src/app/components/pb-schema/pb-schema.component.scss
@@ -49,3 +49,7 @@ mat-card-content {
     margin-bottom: .5em;
     text-align: center;
 }
+
+#debug {
+    /* display: none; */
+}
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index a55569473..7b4a8af0c 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -1,7 +1,7 @@
 import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild } from "@angular/core";
 
 import {
-    PreBarrage, PbBassin, PbBassinParams, PbCloison
+    PreBarrage, PbBassin, PbBassinParams, PbCloison, CalculatorType
  } from "jalhyd";
 
 import * as mermaid from "mermaid";
@@ -32,7 +32,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     /** handle on SVG container */
     private nativeElement: any;
 
-    /** flag de validité des FieldSet enfants */
+    /** flag de validité du composant */
     private _isValid = false;
 
     private upstreamId = "amont";
@@ -51,7 +51,13 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     private model: PreBarrage;
 
     /** Latest clicked item: a PbCloison, a PbBassin or undefined if river "Upstream" or "Downstream" was clicked */
-    private _selectedItem: any;
+    private _selectedItem: PbCloison | PbBassin;
+
+    /** Records existing walls as they are built, to detect if multiple walls connect the same pair of basins */
+    private existingWalls: { [key: string]: number };
+
+    /** Stores appropriate number suffix for a given wall uid (related to existingWalls above) */
+    private wallsSuffixes: { [key: string]: number };
 
     public constructor(
         private i18nService: I18nService,
@@ -91,7 +97,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
      * Builds the interactive schema from the PreBarrage model
      */
     private refresh() {
-        console.log("riz fraîche");
         this.render();
         this.refreshEventListeners();
         this.updateValidity();
@@ -107,26 +112,29 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         this.nativeElement.querySelectorAll("g.node").forEach(item => {
             item.style.cursor = "pointer";
             item.addEventListener("click", () => {
-                this.selectBasin(item.id);
-            });
-        });
-        this.nativeElement.querySelectorAll("g.edgeLabel").forEach(item => {
-            item.style.cursor = "pointer";
-            item.addEventListener("click", () => {
-                this.selectWall(item);
+                this.selectNode(item);
             });
         });
     }
 
     /**
-     * Builds a Mermaid graph text definition
+     * Builds a Mermaid graph text definition, using Nodes
+     * to represent basins as well as walls
      */
     private graphDefinition() {
+        this.existingWalls = {};
+        this.wallsSuffixes = {};
         const def: string[] = [ "graph TB" ];
 
+        // river upstream / downstream
         def.push(`${this.upstreamId}("${this.i18nService.localizeText("INFO_LIB_AMONT")}")`);
         def.push(`${this.downstreamId}("${this.i18nService.localizeText("INFO_LIB_AVAL")}")`);
 
+        // styles
+        def.push("classDef wall fill:#e8e8e8,stroke-width:0;");
+        def.push("classDef node-highlighted fill:orange;");
+        // def.push("classDef basin fill:black;");
+
         // debug
         if (this.model.children.length === 0) {
             const b1 = new PbBassin(new PbBassinParams(0.1, 42));
@@ -139,92 +147,58 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
             this.model.addChild(new PbCloison(b1, undefined));
         }
 
-        for (const b of this.model.bassins) {
-            // basin
-            def.push(`${b.uid}("${this.itemDesription(b)}")`);
-            // upstream walls
-            for (const uw of b.cloisonsAmont) {
-                const upstreamBasinId = uw.bassinAmont === undefined ? this.upstreamId : uw.bassinAmont.uid;
-                // upstream wall unique identifier
-                const uwString = `${upstreamBasinId}-->|${this.itemDesription(uw)}|${b.uid}`;
-                if (! def.includes(uwString)) {
-                    def.push(uwString);
+        for (const c of this.model.children) {
+            if (c instanceof PbBassin) {
+                def.push(`${c.uid}("${this.itemDesription(c)}")`); // rounded edges
+                // def.push(`class ${c.uid} basin;`);
+            } else if (c instanceof PbCloison) {
+                const upstreamBasinId = c.bassinAmont === undefined ? this.upstreamId : c.bassinAmont.uid;
+                const downstreamBasinId = c.bassinAval === undefined ? this.downstreamId : c.bassinAval.uid;
+                // record this wall
+                const basinsPair = upstreamBasinId + "-" + downstreamBasinId;
+                if (! (basinsPair in this.existingWalls)) {
+                    this.existingWalls[basinsPair] = 0;
                 }
-            }
-            // downstream walls
-            for (const dw of b.cloisonsAval) {
-                const downstreamBasinId = dw.bassinAval === undefined ? this.downstreamId : dw.bassinAval.uid;
-                // downstream wall unique identifier
-                const dwString = `${b.uid}-->|${this.itemDesription(dw)}|${downstreamBasinId}`;
-                if (! def.includes(dwString)) {
-                    def.push(dwString);
+                // affect suffix if needed
+                if (this.existingWalls[basinsPair] > 0) {
+                    this.wallsSuffixes[c.uid] = this.existingWalls[basinsPair];
                 }
+                this.existingWalls[basinsPair]++;
+                // draw wall Node
+                def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges
+                def.push(`class ${c.uid} wall;`);
+                // draw "arrow" with 2 lines
+                def.push(`${upstreamBasinId}---${c.uid}`); // up line
+                def.push(`${c.uid}-->${downstreamBasinId}`); // down arrow
             }
         }
 
         return def.join("\n");
     }
 
-    private selectBasin(id: string) {
-        if ([ this.upstreamId, this.downstreamId ].includes(id)) {
-            console.log("YOU CLICKED EITHER UPSTREAM OR DOWNSTREAM");
+    private selectNode(item: any) {
+        // highlight clicked element
+        this.clearHighlightedItems();
+        item.classList.add("node-highlighted");
+        // find what was clicked
+        if ([ this.upstreamId, this.downstreamId ].includes(item.id)) {
+            console.log("YOU CLICKED EITHER UPSTREAM OR DOWNSTREAM", item.id);
             this._selectedItem = undefined;
         } else {
-            let basin: PbBassin;
-            for (const b of this.model.bassins) {
-                if (b.uid === id) {
-                    basin = b;
+            for (const b of this.model.children) {
+                if (b.uid === item.id) {
+                    this._selectedItem = b;
                 }
             }
-            this._selectedItem = basin;
-            // @TODO highlight node in schema
-            console.log("BASIN FOUND !", basin);
-        }
-    }
-
-    private selectWall(item: SVGGElement) {
-        // Mermaid does not allow to assign IDs to connectors and labels…
-        const text: string = item.querySelector("span.edgeLabel").textContent;
-        if (text) {
-            const [ uBs, dBs ] = text.split("-");
-            let wall: PbCloison;
-            // clodo test: is there an upstream basin or is it upstream river ?
-            if (uBs === this.i18nService.localizeText("INFO_LIB_AMONT")) {
-                // find wall from downstream basin
-                const dBi = Number(dBs.substring(1));
-                const dB = this.model.bassins[dBi - 1];
-                for (const w of dB.cloisonsAmont) {
-                    // find the one that is connected to upstream river
-                    if (w.bassinAmont === undefined) {
-                        wall = w;
-                    }
-                }
+            if (this._selectedItem !== undefined) {
+                console.log(`${this._selectedItem.calcType === CalculatorType.PbBassin ? "BASIN" : "WALL"} FOUND !`, this._selectedItem);
             } else {
-                // find wall from upstream basin
-                const uBi = Number(uBs.substring(1));
-                const uB = this.model.bassins[uBi - 1];
-                // clodo test again
-                let dB: PbBassin;
-                if (dBs !== this.i18nService.localizeText("INFO_LIB_AVAL")) {
-                    const dBi = Number(dBs.substring(1));
-                    dB = this.model.bassins[dBi - 1];
-                }
-                for (const w of uB.cloisonsAval) {
-                    // find the one that is connected to dB (either a basin or downstream river)
-                    if (w.bassinAval === dB) {
-                        wall = w;
-                    }
-                }
+                console.log("watt ze fyook ?");
             }
-            if (wall === undefined) {
-                throw new Error(`PbSchemaComponent.selectWall(): cannot find wall for label "${text}"`);
-            }
-            this._selectedItem = wall;
-            // @TODO highlight label and edge in schema
-            console.log("WALL FOUND !", wall);
         }
     }
 
+    // for debug only
     public get graphDef(): string {
         return this.graphDefinition();
     }
@@ -274,7 +248,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
                 ? this.i18nService.localizeText("INFO_LIB_AVAL")
                 : "B" + (this.findBasinPosition(item.bassinAval) + 1);
             desc = upstreamBasinName + "-" + downstreamBasinName;
-
+            // if a similar wall already exists, suffix !
+            if (item.uid in this.wallsSuffixes) {
+                desc += " (" + this.wallsSuffixes[item.uid] + ")";
+            }
         } else if (item instanceof PbBassin) {
             desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.findBasinPosition(item) + 1);
         } // else undefined
@@ -302,6 +279,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     /** Removes a basin or wall, and all related items */
     public onRemoveClick() {
         this.model.deleteChild(this._selectedItem.findPositionInParent());
+        this.unselect();
         this.refresh();
     }
 
@@ -309,9 +287,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         return this.i18nService.localizeText("INFO_FIELDSET_REMOVE");
     }
 
+    /** Adds a new lone basin */
     public onAddBasinClick() {
-        console.log("Ajoute un bassin, coquin !");
         this.model.addChild(new PbBassin(new PbBassinParams(20, 99)));
+        this.unselect();
         this.refresh();
     }
 
@@ -323,36 +302,22 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
      * Computes the global Pab validity : validity of every cell of every row
      */
     private updateValidity() {
-        this._isValid = true;
-        /* for (const r of this.rows) {
-            for (const c of r.cells) {
-                this._isValid = this._isValid && ! this.isInvalid(c);
-            }
-        } */
+        // check that at least 1 basin is present and a route from river
+        // upstream to river downstream exists (2nd check includes 1st)
+        this._isValid = this.model.hasUpDownConnection();
         this.validChange.emit();
     }
 
-    /* public exportAsSpreadsheet() {
-        const elem: any = document.getElementById("geometry");
-        const elemCopy = (elem as HTMLElement).cloneNode(true) as HTMLElement;
-        // enrich element copy: replace inputs by their values, so that it appears in the exported spreadsheet
-        const tables: any = elemCopy.getElementsByTagName("table");
-        for (const table of tables) {
-            const tds: any = table.getElementsByTagName("td");
-            for (const td of tds) {
-                // if it contains an input, replace it with the input value
-                const inputs = td.getElementsByTagName("input");
-                if (inputs.length > 0) {
-                    const input = inputs[0];
-                    td.innerHTML = input.value;
-                }
-            }
-        }
-        // export the enriched element copy
-        AppComponent.exportAsSpreadsheet(elemCopy as any);
+    private clearHighlightedItems() {
+        this.nativeElement.querySelectorAll("g.node").forEach(item => {
+            console.log("found an item !");
+            item.classList.remove("node-highlighted");
+        });
+    }
+
+    private unselect() {
+        this._selectedItem = undefined;
+        this.clearHighlightedItems();
     }
 
-    public get uitextExportAsSpreadsheet() {
-        return this.i18nService.localizeText("INFO_RESULTS_EXPORT_AS_SPREADSHEET");
-    } */
 }
-- 
GitLab


From 781ae75da3feed601c7147f38190096f22a93cfe Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 29 May 2020 14:59:45 +0200
Subject: [PATCH 051/117] PreBarrage: command to add walls

---
 src/app/app.module.ts                         |  3 +
 .../dialog-new-pb-cloison.component.html      | 28 ++++++
 .../dialog-new-pb-cloison.component.scss      |  4 +
 .../dialog-new-pb-cloison.component.ts        | 96 +++++++++++++++++++
 .../pb-schema/pb-schema.component.html        | 14 ++-
 .../pb-schema/pb-schema.component.scss        |  4 +
 .../pb-schema/pb-schema.component.ts          | 70 +++++++++++---
 src/app/formulaire/elements/pb-schema.ts      |  7 --
 src/locale/messages.en.json                   |  4 +
 src/locale/messages.fr.json                   |  4 +
 10 files changed, 211 insertions(+), 23 deletions(-)
 create mode 100644 src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html
 create mode 100644 src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.scss
 create mode 100644 src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts

diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index ad14422ee..e7d78e13b 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -105,6 +105,7 @@ import { DialogGeneratePARSimulationComponent } from "./components/dialog-genera
 import { DialogLoadSessionComponent } from "./components/dialog-load-session/dialog-load-session.component";
 import { DialogLogEntriesDetailsComponent } from "./components/dialog-log-entries-details/dialog-log-entries-details.component";
 import { DialogSaveSessionComponent } from "./components/dialog-save-session/dialog-save-session.component";
+import { DialogNewPbCloisonComponent } from "./components/dialog-new-pb-cloison/dialog-new-pb-cloison.component";
 
 import { JalhydAsyncModelValidationDirective } from "./directives/jalhyd-async-model-validation.directive";
 import {
@@ -195,6 +196,7 @@ const appRoutes: Routes = [
     DialogLoadSessionComponent,
     DialogLogEntriesDetailsComponent,
     DialogSaveSessionComponent,
+    DialogNewPbCloisonComponent,
     FieldSetComponent,
     FieldsetContainerComponent,
     FixedResultsComponent,
@@ -246,6 +248,7 @@ const appRoutes: Routes = [
     DialogGeneratePABComponent,
     DialogGeneratePARSimulationComponent,
     DialogSaveSessionComponent,
+    DialogNewPbCloisonComponent,
     DialogLoadSessionComponent,
     DialogLogEntriesDetailsComponent
   ],
diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html
new file mode 100644
index 000000000..aa12a4308
--- /dev/null
+++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html
@@ -0,0 +1,28 @@
+<h1 mat-dialog-title>{{ uitextSelectBasins }}</h1>
+
+<form>
+    <mat-form-field>
+        <mat-select [placeholder]="uiTextUpstreambasin" [(value)]="upstreamIndex" required>
+            <mat-option *ngFor="let b of availableIndexes" [value]="b">
+                {{ basinDescription(b, uitextRiverUpstream) }}
+            </mat-option>
+        </mat-select>
+    </mat-form-field>
+
+    <mat-form-field>
+        <mat-select [placeholder]="uiTextDownstreambasin" [(value)]="downstreamIndex" required>
+            <mat-option *ngFor="let b of availableIndexes" [value]="b">
+                {{ basinDescription(b, uitextRiverDownstream) }}
+            </mat-option>
+        </mat-select>
+    </mat-form-field>
+
+    <div mat-dialog-actions [attr.align]="'end'">
+        <button mat-raised-button color="primary" [mat-dialog-close]="true" cdkFocusInitial>
+            {{ uitextCancel }}
+        </button>
+        <button mat-raised-button color="warn" (click)="onValidate()" [disabled]="! enableValidate">
+            {{ uitextValidate }}
+        </button>
+    </div>
+</form>
diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.scss b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.scss
new file mode 100644
index 000000000..fc080522e
--- /dev/null
+++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.scss
@@ -0,0 +1,4 @@
+mat-form-field {
+    display: block;
+    margin-top: 0.5em;
+}
diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
new file mode 100644
index 000000000..f5513751b
--- /dev/null
+++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
@@ -0,0 +1,96 @@
+import { MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
+import { Inject, Component, OnInit } from "@angular/core";
+
+import { I18nService } from "../../services/internationalisation.service";
+
+import { PbBassin } from "jalhyd";
+
+@Component({
+    selector: "dialog-new-pb-cloison",
+    templateUrl: "dialog-new-pb-cloison.component.html",
+    styleUrls: ["dialog-new-pb-cloison.component.scss"]
+})
+export class DialogNewPbCloisonComponent implements OnInit {
+
+    /** the selected upstream basin */
+    public upstreamIndex: number;
+
+    /** the selected downstream basin */
+    public downstreamIndex: number;
+
+    /** list of connectable basins, plus reiver upstream / downstrem */
+    protected availableBasins: PbBassin[];
+
+    constructor(
+        public dialogRef: MatDialogRef<DialogNewPbCloisonComponent>,
+        private i18nService: I18nService,
+        @Inject(MAT_DIALOG_DATA) public data: any
+    ) {
+        this.availableBasins = data.basins;
+        this.upstreamIndex = 0;
+        this.downstreamIndex = 1;
+    }
+
+    public get availableIndexes(): number[] {
+        // add river upstream as "0"
+        let ab: number[] = [ 0 ];
+        for (let i = 0; i < this.availableBasins.length; i++) {
+            ab.push(i + 1);
+        }
+        return ab;
+    }
+
+    public basinDescription(i: number, fallback: string): string {
+        if (i === 0) {
+            return fallback;
+        } else {
+            return this.i18nService.localizeText("INFO_PB_BASSIN_N") + i;
+        }
+    }
+
+    public get enableValidate(): boolean {
+        return (this.upstreamIndex !== this.downstreamIndex);
+    }
+
+    public onValidate(close = true) {
+        if (close) {
+            this.dialogRef.close({
+                up: this.upstreamIndex,
+                down: this.downstreamIndex,
+            });
+        }
+        return true;
+    }
+
+    public ngOnInit() {
+        // this.initVariableValues();
+    }
+
+    public get uitextSelectBasins(): string {
+        return this.i18nService.localizeText("INFO_PB_NEW_WALL_SELECT_BASINS");
+    }
+
+    public get uiTextUpstreambasin(): string {
+        return this.i18nService.localizeText("INFO_PB_NEW_WALL_UP_BASIN");
+    }
+
+    public get uiTextDownstreambasin(): string {
+        return this.i18nService.localizeText("INFO_PB_NEW_WALL_DOWN_BASIN");
+    }
+
+    public get uitextRiverUpstream(): string {
+        return this.i18nService.localizeText("INFO_LIB_AMONT");
+    }
+
+    public get uitextRiverDownstream(): string {
+        return this.i18nService.localizeText("INFO_LIB_AVAL");
+    }
+
+    public get uitextValidate() {
+      return this.i18nService.localizeText("INFO_OPTION_VALIDATE");
+    }
+  
+    public get uitextCancel() {
+      return this.i18nService.localizeText("INFO_OPTION_CANCEL");
+    }
+}
diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
index d87b406bc..42f056be8 100644
--- a/src/app/components/pb-schema/pb-schema.component.html
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -12,6 +12,10 @@
             {{ uitextAddBasin }}
         </button>
 
+        <button type="button" id="add-wall" mat-raised-button color="accent" (click)="onAddWallClick()" [disabled]="! enableAddWallButton">
+            {{ uitextAddWall }}
+        </button>
+
         <div class="hyd-window-btns">
             <span class="related-entity-title">
                 {{ prefixedItemDescription }}
@@ -20,11 +24,11 @@
                 <mat-option *ngFor="let i of addManyOptionsList" [value]="i">
                     {{ i }}
                 </mat-option>
-            </mat-select>
-            <button type="button" mat-icon-button color="primary" [disabled]="! enableAddButton" (click)="onAddClick()"
-              [title]="uitextAdd">
-                <mat-icon>add_box</mat-icon>
-            </button> -->
+            </mat-select> -->
+            <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()"
+            [title]="uitextCopy">
+              <mat-icon>content_copy</mat-icon>
+          </button>
             <button type="button" mat-icon-button color="primary" [disabled]="! enableRemoveButton" (click)="onRemoveClick()"
               [title]="uitextRemove">
                 <mat-icon>delete</mat-icon>
diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss
index 7c3c8cb0b..f7b1167f4 100644
--- a/src/app/components/pb-schema/pb-schema.component.scss
+++ b/src/app/components/pb-schema/pb-schema.component.scss
@@ -26,6 +26,10 @@ mat-card-content {
     #add-basin {
         float: left;
     }
+    #add-wall {
+        float: left;
+        margin-left: .5em;
+    }
     .related-entity-title {
         vertical-align: middle;
         font-weight: bold;
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 7b4a8af0c..7f3f21e81 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -1,7 +1,8 @@
 import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild } from "@angular/core";
+import { MatDialog } from '@angular/material/dialog';
 
 import {
-    PreBarrage, PbBassin, PbBassinParams, PbCloison, CalculatorType
+    PreBarrage, PbBassin, PbBassinParams, PbCloison
  } from "jalhyd";
 
 import * as mermaid from "mermaid";
@@ -10,6 +11,7 @@ import { I18nService } from "../../services/internationalisation.service";
 import { ApplicationSetupService } from "../../services/app-setup.service";
 import { NotificationsService } from "../../services/notifications.service";
 import { PbSchema } from "../../formulaire/elements/pb-schema";
+import { DialogNewPbCloisonComponent } from "../dialog-new-pb-cloison/dialog-new-pb-cloison.component";
 
 /**
  * The interactive schema for calculator type "PreBarrage" (component)
@@ -61,6 +63,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
 
     public constructor(
         private i18nService: I18nService,
+        private newPbCloisonDialog: MatDialog,
         private appSetupService: ApplicationSetupService,
         private notifService: NotificationsService
     ) { }
@@ -132,8 +135,8 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
 
         // styles
         def.push("classDef wall fill:#e8e8e8,stroke-width:0;");
-        def.push("classDef node-highlighted fill:orange;");
-        // def.push("classDef basin fill:black;");
+        def.push("classDef basin fill:#e0f3fb,stroke:#003A80;"); // irstea-ocean 50 / 500
+        def.push("classDef node-highlighted fill:#4DBBE9;"); // irstea-ocean (material "accent"), 300
 
         // debug
         if (this.model.children.length === 0) {
@@ -150,7 +153,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         for (const c of this.model.children) {
             if (c instanceof PbBassin) {
                 def.push(`${c.uid}("${this.itemDesription(c)}")`); // rounded edges
-                // def.push(`class ${c.uid} basin;`);
+                def.push(`class ${c.uid} basin;`);
             } else if (c instanceof PbCloison) {
                 const upstreamBasinId = c.bassinAmont === undefined ? this.upstreamId : c.bassinAmont.uid;
                 const downstreamBasinId = c.bassinAval === undefined ? this.downstreamId : c.bassinAval.uid;
@@ -182,7 +185,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         item.classList.add("node-highlighted");
         // find what was clicked
         if ([ this.upstreamId, this.downstreamId ].includes(item.id)) {
-            console.log("YOU CLICKED EITHER UPSTREAM OR DOWNSTREAM", item.id);
             this._selectedItem = undefined;
         } else {
             for (const b of this.model.children) {
@@ -190,11 +192,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
                     this._selectedItem = b;
                 }
             }
-            if (this._selectedItem !== undefined) {
-                console.log(`${this._selectedItem.calcType === CalculatorType.PbBassin ? "BASIN" : "WALL"} FOUND !`, this._selectedItem);
-            } else {
-                console.log("watt ze fyook ?");
-            }
         }
     }
 
@@ -287,6 +284,23 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         return this.i18nService.localizeText("INFO_FIELDSET_REMOVE");
     }
 
+    public get enableCopyButton() {
+        return (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison);
+    }
+
+    /** Copies a wall */
+    public onCopyClick() {
+        const wall = this._selectedItem as PbCloison
+        const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval);
+        this.model.addChild(wallCopy);
+        this.unselect();
+        this.refresh();
+    }
+
+    public get uitextCopy() {
+        return this.i18nService.localizeText("INFO_FIELDSET_COPY");
+    }
+
     /** Adds a new lone basin */
     public onAddBasinClick() {
         this.model.addChild(new PbBassin(new PbBassinParams(20, 99)));
@@ -298,6 +312,41 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         return this.i18nService.localizeText("INFO_PB_ADD_BASIN");
     }
 
+    public get enableAddWallButton(): boolean {
+        return (this.model.bassins.length > 0);
+    }
+
+    /** Adds a new lone wall, opening a modal to choose connected basins */
+    public onAddWallClick() {
+        // open dialog
+        const dialogRef = this.newPbCloisonDialog.open(
+            DialogNewPbCloisonComponent,
+            {
+                data: {
+                    basins: this.model.bassins
+                },
+                disableClose: true
+            }
+        );
+        // apply modifications
+        dialogRef.afterClosed().subscribe(result => {
+            if (result.up !== undefined && result.down !== undefined) {
+                const wall = new PbCloison(
+                    result.up === 0 ? undefined : this.model.bassins[result.up - 1],
+                    result.down === 0 ? undefined : this.model.bassins[result.down - 1]
+                );
+                this.model.addChild(wall);
+                this.unselect();
+                this.refresh();
+            }
+        });
+    }
+
+
+    public get uitextAddWall() {
+        return this.i18nService.localizeText("INFO_PB_ADD_WALL");
+    }
+
     /**
      * Computes the global Pab validity : validity of every cell of every row
      */
@@ -310,7 +359,6 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
 
     private clearHighlightedItems() {
         this.nativeElement.querySelectorAll("g.node").forEach(item => {
-            console.log("found an item !");
             item.classList.remove("node-highlighted");
         });
     }
diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts
index 0d4243781..5be43f62f 100644
--- a/src/app/formulaire/elements/pb-schema.ts
+++ b/src/app/formulaire/elements/pb-schema.ts
@@ -14,13 +14,6 @@ export class PbSchema extends FormulaireElement {
         this._confId = json["id"];
     }
 
-    /**
-     * Returns the parent FormulairePab
-     */
-    /* public get form(): FormulairePab {
-        return this.parentForm as FormulairePab;
-    } */
-
     /**
      * Returns the Prebarrage model associated to the parent form
      */
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index c3c8350e0..cd129d423 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -435,8 +435,12 @@
     "INFO_PARAMMODE_LIST": "Values list",
     "INFO_PARAMMODE_MINMAX": "Min/max",
     "INFO_PB_ADD_BASIN": "Add new basin",
+    "INFO_PB_ADD_WALL": "Add new wall",
     "INFO_PB_BASSIN_N": "Basin #",
     "INFO_PB_CLOISON": "Wall",
+    "INFO_PB_NEW_WALL_SELECT_BASINS": "Select basins to connect",
+    "INFO_PB_NEW_WALL_UP_BASIN": "upstream basin",
+    "INFO_PB_NEW_WALL_DOWN_BASIN": "Downstream basin",
     "INFO_PB_SCHEMA": "Basins layout",
     "INFO_PREBARRAGE_TITRE": "Pre-dams",
     "INFO_PREBARRAGE_TITRE_COURT": "Pre-dams",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 1bb518b44..eb375924f 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -435,8 +435,12 @@
     "INFO_PARAMMODE_LIST": "Liste de valeurs",
     "INFO_PARAMMODE_MINMAX": "Min/max",
     "INFO_PB_ADD_BASIN": "Ajouter un bassin",
+    "INFO_PB_ADD_WALL": "Ajouter une cloison",
     "INFO_PB_BASSIN_N": "Bassin n°",
     "INFO_PB_CLOISON": "Cloison",
+    "INFO_PB_NEW_WALL_SELECT_BASINS": "Choisir les bassins à connecter",
+    "INFO_PB_NEW_WALL_UP_BASIN": "Bassin amont",
+    "INFO_PB_NEW_WALL_DOWN_BASIN": "Bassin aval",
     "INFO_PB_SCHEMA": "Organisation des bassins",
     "INFO_PREBARRAGE_TITRE": "Prébarrages",
     "INFO_PREBARRAGE_TITRE_COURT": "Prébarrages",
-- 
GitLab


From fd54955fabd617265f0cb1282abfc19b731609db Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 29 May 2020 16:50:12 +0200
Subject: [PATCH 052/117] PreBarrage: update wall creation modal

can now create upstream to downstream direct connections
unrelevant list elements are grayed-out
---
 .../dialog-new-pb-cloison.component.html      |  4 +--
 .../dialog-new-pb-cloison.component.ts        | 36 +++++++++++++++++--
 2 files changed, 35 insertions(+), 5 deletions(-)

diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html
index aa12a4308..a6587c773 100644
--- a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html
+++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.html
@@ -3,7 +3,7 @@
 <form>
     <mat-form-field>
         <mat-select [placeholder]="uiTextUpstreambasin" [(value)]="upstreamIndex" required>
-            <mat-option *ngFor="let b of availableIndexes" [value]="b">
+            <mat-option *ngFor="let b of availableUpstreamIndexes" [value]="b" [disabled]="! basinIsSelectable(b, false)">
                 {{ basinDescription(b, uitextRiverUpstream) }}
             </mat-option>
         </mat-select>
@@ -11,7 +11,7 @@
 
     <mat-form-field>
         <mat-select [placeholder]="uiTextDownstreambasin" [(value)]="downstreamIndex" required>
-            <mat-option *ngFor="let b of availableIndexes" [value]="b">
+            <mat-option *ngFor="let b of availableDownstreamIndexes" [value]="b" [disabled]="! basinIsSelectable(b, true)">
                 {{ basinDescription(b, uitextRiverDownstream) }}
             </mat-option>
         </mat-select>
diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
index f5513751b..d562f03d3 100644
--- a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
+++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
@@ -28,10 +28,10 @@ export class DialogNewPbCloisonComponent implements OnInit {
     ) {
         this.availableBasins = data.basins;
         this.upstreamIndex = 0;
-        this.downstreamIndex = 1;
+        this.downstreamIndex = 0;
     }
 
-    public get availableIndexes(): number[] {
+    public get availableUpstreamIndexes(): number[] {
         // add river upstream as "0"
         let ab: number[] = [ 0 ];
         for (let i = 0; i < this.availableBasins.length; i++) {
@@ -40,6 +40,32 @@ export class DialogNewPbCloisonComponent implements OnInit {
         return ab;
     }
 
+    public get availableDownstreamIndexes(): number[] {
+        let ab: number[] = [ ];
+        for (let i = 0; i < this.availableBasins.length; i++) {
+            ab.push(i + 1);
+        }
+        // add river downstream as "0"
+        ab.push(0);
+        return ab;
+    }
+
+    /**
+     * Returns true if a basin is selectable in the possible upstream basins list,
+     * considering which downstream basin is currently selected
+     * @param index index of basin
+     * @param downstream if true, inverts the test
+     */
+    public basinIsSelectable(index: number, downstream: boolean = false): boolean {
+        let ok = true;
+        if (downstream) {
+            return (this.upstreamIndex === 0 || index > this.upstreamIndex)
+        } else {
+            return (this.downstreamIndex === 0 || index < this.downstreamIndex)
+        }
+        return ok;
+    }
+
     public basinDescription(i: number, fallback: string): string {
         if (i === 0) {
             return fallback;
@@ -48,8 +74,12 @@ export class DialogNewPbCloisonComponent implements OnInit {
         }
     }
 
+    // @TODO redundant with lists filtering, useless
     public get enableValidate(): boolean {
-        return (this.upstreamIndex !== this.downstreamIndex);
+        return (
+            this.upstreamIndex !== this.downstreamIndex
+            || this.upstreamIndex === 0 // river upstream to river downstream direct connection is allowed
+        );
     }
 
     public onValidate(close = true) {
-- 
GitLab


From 4c7674fb66e905670547d3ac220192b3a9529fca Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 8 Jun 2020 11:32:07 +0200
Subject: [PATCH 053/117] PreBarrage: sort graph nodes to prevent lines
 crossings

---
 .../pb-schema/pb-schema.component.ts          | 102 ++++++++++++++----
 1 file changed, 81 insertions(+), 21 deletions(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 7f3f21e81..d9fc50026 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -122,7 +122,8 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
 
     /**
      * Builds a Mermaid graph text definition, using Nodes
-     * to represent basins as well as walls
+     * to represent basins as well as walls; sorts connexions
+     * to prevent lines crossings
      */
     private graphDefinition() {
         this.existingWalls = {};
@@ -140,45 +141,104 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
 
         // debug
         if (this.model.children.length === 0) {
-            const b1 = new PbBassin(new PbBassinParams(0.1, 42));
+            // EXEMPLE 1 (petit)
+            /* const b1 = new PbBassin(new PbBassinParams(0.1, 42));
             this.model.addChild(b1);
             const b2 = new PbBassin(new PbBassinParams(0.15, 38));
             this.model.addChild(b2);
             this.model.addChild(new PbCloison(undefined, b1));
             this.model.addChild(new PbCloison(b1, b2));
             this.model.addChild(new PbCloison(b2, undefined));
-            this.model.addChild(new PbCloison(b1, undefined));
+            this.model.addChild(new PbCloison(b1, undefined)); */
+
+            // EXEMPLE 2 (grand)
+            this.model.addChild(new PbBassin(new PbBassinParams(13.80, 95)));
+            this.model.addChild(new PbBassin(new PbBassinParams(15.40, 94.70)));
+            this.model.addChild(new PbBassin(new PbBassinParams(16.20, 94.70)));
+            this.model.addChild(new PbBassin(new PbBassinParams(17.50, 94.40)));
+            this.model.addChild(new PbBassin(new PbBassinParams(32.10, 94.25)));
+            this.model.addChild(new PbBassin(new PbBassinParams(35.00, 94.10)));
+            this.model.addChild(new PbCloison(undefined, this.model.children[0] as PbBassin));
+            this.model.addChild(new PbCloison(undefined, this.model.children[1] as PbBassin));
+            this.model.addChild(new PbCloison(undefined, this.model.children[4] as PbBassin));
+            this.model.addChild(new PbCloison(undefined, this.model.children[5] as PbBassin));
+            this.model.addChild(new PbCloison(this.model.children[0] as PbBassin, this.model.children[2] as PbBassin));
+            this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[2] as PbBassin));
+            this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[3] as PbBassin));
+            this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[4] as PbBassin));
+            this.model.addChild(new PbCloison(this.model.children[2] as PbBassin, this.model.children[3] as PbBassin));
+            this.model.addChild(new PbCloison(this.model.children[3] as PbBassin, this.model.children[4] as PbBassin));
+            this.model.addChild(new PbCloison(this.model.children[4] as PbBassin, this.model.children[5] as PbBassin));
+            this.model.addChild(new PbCloison(this.model.children[5] as PbBassin, undefined));
         }
 
+        const sortedWalls: PbCloison[] = [];
         for (const c of this.model.children) {
             if (c instanceof PbBassin) {
                 def.push(`${c.uid}("${this.itemDesription(c)}")`); // rounded edges
                 def.push(`class ${c.uid} basin;`);
             } else if (c instanceof PbCloison) {
-                const upstreamBasinId = c.bassinAmont === undefined ? this.upstreamId : c.bassinAmont.uid;
-                const downstreamBasinId = c.bassinAval === undefined ? this.downstreamId : c.bassinAval.uid;
-                // record this wall
-                const basinsPair = upstreamBasinId + "-" + downstreamBasinId;
-                if (! (basinsPair in this.existingWalls)) {
-                    this.existingWalls[basinsPair] = 0;
-                }
-                // affect suffix if needed
-                if (this.existingWalls[basinsPair] > 0) {
-                    this.wallsSuffixes[c.uid] = this.existingWalls[basinsPair];
-                }
-                this.existingWalls[basinsPair]++;
-                // draw wall Node
-                def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges
-                def.push(`class ${c.uid} wall;`);
-                // draw "arrow" with 2 lines
-                def.push(`${upstreamBasinId}---${c.uid}`); // up line
-                def.push(`${c.uid}-->${downstreamBasinId}`); // down arrow
+                // store, to draw later
+                sortedWalls.push(c);
+            }
+        }
+        // sort then draw walls
+        sortedWalls.sort(this.triCloisonsGaucheDroite);
+        for (const c of sortedWalls) {
+            const upstreamBasinId = c.bassinAmont === undefined ? this.upstreamId : c.bassinAmont.uid;
+            const downstreamBasinId = c.bassinAval === undefined ? this.downstreamId : c.bassinAval.uid;
+            // record this wall
+            const basinsPair = upstreamBasinId + "-" + downstreamBasinId;
+            if (! (basinsPair in this.existingWalls)) {
+                this.existingWalls[basinsPair] = 0;
+            }
+            // affect suffix if needed
+            if (this.existingWalls[basinsPair] > 0) {
+                this.wallsSuffixes[c.uid] = this.existingWalls[basinsPair];
             }
+            this.existingWalls[basinsPair]++;
+            // draw wall Node
+            def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges
+            def.push(`class ${c.uid} wall;`);
+            // draw "arrow" with 2 lines
+            def.push(`${upstreamBasinId}---${c.uid}-->${downstreamBasinId}`);
         }
 
         return def.join("\n");
     }
 
+    /** gauche d'abord, droite ensuite */
+    private triCloisonsGaucheDroite(a: PbCloison, b: PbCloison) {
+        // ultra-gauchistes
+        if (a.bassinAmont === undefined && a.bassinAval === undefined) {
+            return -1;
+        }
+        if (b.bassinAmont === undefined && b.bassinAval === undefined) {
+            return 1;
+        }
+        // si A est un super-gauchiste
+        if (a.bassinAmont === undefined || a.bassinAval === undefined) {
+            // B est-il aussi un super-gauchiste ?
+            if (b.bassinAmont === undefined || b.bassinAval === undefined) {
+                // comparer le bassin restant
+                const bassinA = (a.bassinAmont === undefined ? a.bassinAval : a.bassinAmont);
+                const bassinB = (b.bassinAmont === undefined ? b.bassinAval : b.bassinAmont);
+                return (bassinA.findPositionInParent() <= bassinB.findPositionInParent()) ? -1 : 1;
+            }
+            // sinon A gagne
+            return -1;
+        }
+        // si B est un super-gauchiste
+        if (b.bassinAmont === undefined || b.bassinAval === undefined) {
+            // B gagne (le cas de A super-gauchiste est éliminé avant)
+            return 1;
+        }
+        // sinon, aucun des deux n'est super-gauchiste, comparaison des bassins amont et aval
+        const sommeA = a.bassinAmont.findPositionInParent() + a.bassinAval.findPositionInParent();
+        const sommeB = b.bassinAmont.findPositionInParent() + b.bassinAval.findPositionInParent();
+        return (sommeA <= sommeB ? -1 : 1);
+    };
+
     private selectNode(item: any) {
         // highlight clicked element
         this.clearHighlightedItems();
-- 
GitLab


From bcd70677e26436478e48668a0442ed6baee7f879 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 8 Jun 2020 14:04:17 +0200
Subject: [PATCH 054/117] PreBarrage: show data or results on the right side,
 not both

---
 .../calculator.component.html                 | 23 +++++++--
 .../calculator.component.scss                 | 49 +++++++++++++++++++
 .../calculator.component.ts                   | 13 ++++-
 .../pb-schema/pb-schema.component.html        |  9 +---
 .../pb-schema/pb-schema.component.scss        |  8 +--
 .../pb-schema/pb-schema.component.ts          |  8 ++-
 6 files changed, 92 insertions(+), 18 deletions(-)

diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html
index d1f8ae992..d9f3b2650 100644
--- a/src/app/components/generic-calculator/calculator.component.html
+++ b/src/app/components/generic-calculator/calculator.component.html
@@ -38,7 +38,18 @@
 
     </mat-card-header>
 
-    <quicknav [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'input'" [align]="'left'"></quicknav>
+    <quicknav *ngIf="! isPB" [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'input'" [align]="'left'"></quicknav>
+
+    <div *ngIf="isPB" class="fake-quicknav" id="pb-data-results-selector">
+        <div class="drs-row">
+            <div class="drs-item" [class.current]="showPBInputData">
+                <a (click)="showPBInputData = true;">{{ uitextInputData }}</a>
+            </div>
+            <div class="drs-item" [class.current]="! showPBInputData">
+                <a (click)="showPBInputData = false;">{{ uitextResults }}</a>
+            </div>
+        </div>
+    </div>
 
     <form>
 
@@ -61,7 +72,8 @@
                     <div id="calc-card-field-sets-container" [fxLayout]="isPB ? 'row wrap' : 'column'">
                         
                         <ng-template ngFor let-fe [ngForOf]="formElements">
-                            <field-set *ngIf="isFieldset(fe)" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe
+                            <field-set *ngIf="isFieldset(fe)"
+                                [hidden]="isPB && ! showPBInputData" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe
                                 (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
                                 (tabPressed)="onTabPressed($event)"
                                 [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'"
@@ -69,7 +81,8 @@
                                 [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'">
                             </field-set>
 
-                            <fieldset-container *ngIf="isFieldsetContainer(fe)" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe
+                            <fieldset-container *ngIf="isFieldsetContainer(fe)"
+                                [hidden]="isPB && ! showPBInputData" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe
                                 (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
                                 (tabPressed)="onTabPressed($event)"
                                 fxFlex="1 0 auto">
@@ -105,14 +118,14 @@
 
                 <!-- résultats -->
                 <mat-card id="calc-card-results"
-                  [class.pab-results]="isWide"
+                  [class.pab-results]="isWide" [hidden]="isPB && showPBInputData"
                   [fxFlex.gt-sm]="isWide ? '1 0 auto' : '1 0 400px'"
                   [fxFlex.lt-md]="isWide ? '1 0 auto' : '1 0 500px'"
                   [fxFlex.lt-sm]="isWide ? '1 0 auto' : '1 0 300px'">
 
                     <div id="fake-results-anchor"></div>
 
-                    <quicknav [ngClass.lt-xs]="'extraSmall'" [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'results'" [align]="'left'"></quicknav>
+                    <quicknav *ngIf="! isPB" [ngClass.lt-xs]="'extraSmall'" [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'results'" [align]="'left'"></quicknav>
 
                     <mat-card-header *ngIf="! isWide" [fxHide.lt-md]="! isWide">
                         <mat-card-title>
diff --git a/src/app/components/generic-calculator/calculator.component.scss b/src/app/components/generic-calculator/calculator.component.scss
index 4430eb11f..6c19dd011 100644
--- a/src/app/components/generic-calculator/calculator.component.scss
+++ b/src/app/components/generic-calculator/calculator.component.scss
@@ -26,6 +26,55 @@
     display: block;
 }
 
+/** copy of quicknav style */
+#pb-data-results-selector {
+
+    @import "../../../theme.scss";
+
+    display: block;
+    margin-bottom: .5em;
+    width: 100%;
+
+    .drs-item {
+        display: inline;
+        padding: 0 .5em 3px .5em;
+        text-transform: uppercase;
+        font-size: 18px;
+        font-weight: normal;
+
+        &.current {
+            @extend .border-accent;
+            border-bottom-width: 2px;
+            border-bottom-style: solid;
+            font-size: 24px;
+
+            a {
+                // font-weight: bold;
+                @extend .color-accent;
+            }
+        }
+
+        a {
+            cursor: pointer;
+            color: #cbcbcb;
+            &:focus {
+                outline: none;
+            }
+            &:hover {
+                color: #707070;
+            }
+        }
+    }
+
+    .drs-item:first-of-type {
+        padding-left: 0;
+    }
+
+    .drs-item:last-of-type {
+        padding-right: 0;
+    }
+}
+
 mat-card {
     margin-bottom: 2em;
 
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index e84519018..c0fa6f0a3 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -121,6 +121,9 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
     /** Allows trigerring afterFirstViewChecked() just after calculator is loaded */
     private firstViewChecked = false;
 
+    /** For PreBarrage only: if true, show input data in the right panel, else show results */
+    public showPBInputData = true;
+
     public get ID() {
         if (this._formulaire) {
             return this._formulaire.uid;
@@ -254,6 +257,14 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         return this.intlService.localizeText("INFO_CALCULATOR_USED_BY");
     }
 
+    public get uitextInputData() {
+        return this.intlService.localizeText("INFO_QUICKNAV_INPUT");
+    }
+
+    public get uitextResults() {
+        return this.intlService.localizeText("INFO_QUICKNAV_RESULTS");
+    }
+
     public get quicknavItems() {
         const elts = [ "input", "results" ];
         if (this.isWide && this.hasResults) {
@@ -578,7 +589,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
 
     // for "one wide column" layout
     public get isWide() {
-        return (this.isPAB || this.isMRC || this.isPB);
+        return (this.isPAB || this.isMRC || (this.isPB && this.showPBInputData));
     }
 
     // true if current Nub is Solveur
diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
index 42f056be8..1ac51ca73 100644
--- a/src/app/components/pb-schema/pb-schema.component.html
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -1,4 +1,4 @@
-<mat-card-header class="mat-card-header-text-margin-0 bg-accent-light">
+<mat-card-header class="mat-card-header-text-margin-0 bg-accent-light" [ngClass]="{'side': ! showInputData}">
     <mat-card-title>
         {{ title }}
     </mat-card-title>
@@ -20,11 +20,6 @@
             <span class="related-entity-title">
                 {{ prefixedItemDescription }}
             </span>
-            <!-- <mat-select id="add-many-children" [(value)]="childrenToAdd">
-                <mat-option *ngFor="let i of addManyOptionsList" [value]="i">
-                    {{ i }}
-                </mat-option>
-            </mat-select> -->
             <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()"
             [title]="uitextCopy">
               <mat-icon>content_copy</mat-icon>
@@ -44,6 +39,6 @@
 
     <div id="schema" #schema></div>
 
-    <pre id="debug">{{ graphDef }} </pre>
+    <!-- <pre id="debug">{{ graphDef }} </pre> -->
 
 </mat-card-content>
diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss
index f7b1167f4..a398740b8 100644
--- a/src/app/components/pb-schema/pb-schema.component.scss
+++ b/src/app/components/pb-schema/pb-schema.component.scss
@@ -12,6 +12,10 @@ mat-card-header {
     padding-top: 8px;
     color: white;
 
+    &.side {
+        margin-right: -32px;
+    }
+
     mat-card-title {
         font-size: 16px !important;
         margin-bottom: 8px;
@@ -53,7 +57,3 @@ mat-card-content {
     margin-bottom: .5em;
     text-align: center;
 }
-
-#debug {
-    /* display: none; */
-}
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index d9fc50026..4e2f6952f 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -1,4 +1,4 @@
-import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild } from "@angular/core";
+import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild, Inject, forwardRef } from "@angular/core";
 import { MatDialog } from '@angular/material/dialog';
 
 import {
@@ -12,6 +12,7 @@ import { ApplicationSetupService } from "../../services/app-setup.service";
 import { NotificationsService } from "../../services/notifications.service";
 import { PbSchema } from "../../formulaire/elements/pb-schema";
 import { DialogNewPbCloisonComponent } from "../dialog-new-pb-cloison/dialog-new-pb-cloison.component";
+import { GenericCalculatorComponent } from '../generic-calculator/calculator.component';
 
 /**
  * The interactive schema for calculator type "PreBarrage" (component)
@@ -62,6 +63,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     private wallsSuffixes: { [key: string]: number };
 
     public constructor(
+        @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent,
         private i18nService: I18nService,
         private newPbCloisonDialog: MatDialog,
         private appSetupService: ApplicationSetupService,
@@ -269,6 +271,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         return this._isValid;
     }
 
+    public get showInputData(): boolean {
+        return this.calculatorComponent.showPBInputData;
+    }
+
     /**
      * Checks that input value is a valid number, according to input[type="number"] algorithm,
      * and stores it in cell.uiValidity, so that the <td> element can access it and get angry
-- 
GitLab


From 955fe618f9546146df5121f2a51652b82cc67eb1 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 8 Jun 2020 16:45:43 +0200
Subject: [PATCH 055/117] Rewrote Promise.then() with async/await

---
 src/app/app.component.ts                      | 11 ++-
 .../app-setup/app-setup.component.ts          |  9 +--
 .../calculator-list.component.ts              | 81 +++++++++----------
 .../dialog-load-session.component.ts          | 27 +++----
 .../fixedvar-results/results.component.ts     | 14 ++--
 .../calculator.component.ts                   | 35 +++-----
 .../select-model-field-line.component.ts      | 21 +++--
 src/app/services/app-setup.service.ts         | 38 +++++----
 src/app/services/formulaire.service.ts        | 49 ++++++-----
 .../services/internationalisation.service.ts  | 17 ++--
 10 files changed, 136 insertions(+), 166 deletions(-)

diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 19b869681..4aab33e64 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -654,12 +654,12 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
     });
   }
 
-  public loadSessionFile(f: File, info?: any) {
+  public async loadSessionFile(f: File, info?: any) {
     // notes merge detection: was there already some notes ?
     const existingNotes = Session.getInstance().documentation;
     // load
-    this.formulaireService.loadSession(f, info)
-    .then((data) => {
+    try {
+      const data = await this.formulaireService.loadSession(f, info)
       if (data.hasErrors) {
         this.notificationsService.notify(this.intlService.localizeText("ERROR_PROBLEM_LOADING_SESSION"), 3500);
       } else {
@@ -678,13 +678,12 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
           }
         }
       }
-    })
-    .catch((err) => {
+    } catch(err) {
       this.notificationsService.notify(this.intlService.localizeText("ERROR_LOADING_SESSION"), 3500);
       console.error("error loading session - ", err);
       // rollback to ensure session is clean
       this.doEmptySession();
-    });
+    }
   }
 
   /**
diff --git a/src/app/components/app-setup/app-setup.component.ts b/src/app/components/app-setup/app-setup.component.ts
index 85b0d4512..9e2c917ef 100644
--- a/src/app/components/app-setup/app-setup.component.ts
+++ b/src/app/components/app-setup/app-setup.component.ts
@@ -133,12 +133,11 @@ export class ApplicationSetupComponent implements Observer, OnInit {
         });
     }
 
-    public restoreDefaultValues() {
+    public async restoreDefaultValues() {
         const text = this.intlService.localizeText("INFO_SNACKBAR_DEFAULT_SETTINGS_RESTORED");
-        this.appSetupService.restoreDefaultValues().then(() => {
-            this.snackBar.open(text, "OK", {
-                duration: 2500
-            });
+        await this.appSetupService.restoreDefaultValues();
+        this.snackBar.open(text, "OK", {
+            duration: 2500
         });
     }
 
diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts
index fa269332b..c8482f556 100644
--- a/src/app/components/calculator-list/calculator-list.component.ts
+++ b/src/app/components/calculator-list/calculator-list.component.ts
@@ -110,53 +110,49 @@ export class CalculatorListComponent implements OnInit {
         }
     }
 
-    public create(t: CalculatorType) {
-        const p: Promise<FormulaireDefinition> = ServiceFactory.instance.formulaireService.createFormulaire(t);
-        p.then(f => {
-            this.router.navigate(["/calculator", f.uid]);
-            return f;
-        }).then(f => {
-            // on ajoute un ouvrage après l'ouverture du module de calcul "ouvrages parallèles"
-            if (f instanceof FormulaireParallelStructure) {
-                for (const e of f.allFormElements) {
-                    if (e instanceof FieldsetContainer) {
-                        e.addFromTemplate(0);
-                        break;
-                    }
+    public async create(t: CalculatorType) {
+        const f: FormulaireDefinition = await ServiceFactory.instance.formulaireService.createFormulaire(t);
+        await this.router.navigate(["/calculator", f.uid]);
+        // on ajoute un ouvrage après l'ouverture du module de calcul "ouvrages parallèles"
+        if (f instanceof FormulaireParallelStructure) {
+            for (const e of f.allFormElements) {
+                if (e instanceof FieldsetContainer) {
+                    e.addFromTemplate(0);
+                    break;
                 }
             }
-            // on ajoute un ouvrage après l'ouverture du module de calcul "passe à bassins"
-            if (f instanceof FormulairePab) {
-                for (const e of f.allFormElements) {
-                    if (e instanceof FieldsetContainer) {
-                        e.addFromTemplate(0);
-                        break;
-                    }
+        }
+        // on ajoute un ouvrage après l'ouverture du module de calcul "passe à bassins"
+        if (f instanceof FormulairePab) {
+            for (const e of f.allFormElements) {
+                if (e instanceof FieldsetContainer) {
+                    e.addFromTemplate(0);
+                    break;
                 }
             }
-            // adding GUI for default apron, in MacroRugoCompound
-            if (f instanceof FormulaireMacrorugoCompound) {
-                for (const e of f.allFormElements) {
-                    if (e instanceof FieldsetContainer) {
-                        e.addFromTemplate(0, 0, f.currentNub.getChildren()[0]);
-                        break;
-                    }
+        }
+        // adding GUI for default apron, in MacroRugoCompound
+        if (f instanceof FormulaireMacrorugoCompound) {
+            for (const e of f.allFormElements) {
+                if (e instanceof FieldsetContainer) {
+                    e.addFromTemplate(0, 0, f.currentNub.getChildren()[0]);
+                    break;
                 }
             }
-            // on ajoute un YAXN après l'ouverture du module de calcul "somme / produit de puissances"
-            if (f instanceof FormulaireSPP) {
-                for (const e of f.allFormElements) {
-                    if (e instanceof FieldsetContainer) {
-                        e.addFromTemplate(0);
-                        break;
-                    }
+        }
+        // on ajoute un YAXN après l'ouverture du module de calcul "somme / produit de puissances"
+        if (f instanceof FormulaireSPP) {
+            for (const e of f.allFormElements) {
+                if (e instanceof FieldsetContainer) {
+                    e.addFromTemplate(0);
+                    break;
                 }
             }
+        }
 
-            if (this.appSetupService.enableEmptyFieldsOnFormInit) {
-                f.emptyFields();
-            }
-        });
+        if (this.appSetupService.enableEmptyFieldsOnFormInit) {
+            f.emptyFields();
+        }
     }
 
     public get nbOpenCalculators() {
@@ -199,14 +195,15 @@ export class CalculatorListComponent implements OnInit {
         ];
     }
 
-    public loadExample(path: string) {
+    public async loadExample(path: string) {
         const realPath = "app/examples/" + path;
-        this.httpService.httpGetBlobRequestPromise(realPath).then((d) => {
+        try {
+            const d = await this.httpService.httpGetBlobRequestPromise(realPath);
             const f: any = new Blob([d], { type: "application/json" });
             this.appComponent.loadSessionFile(f);
-        }).catch((e) => {
+        } catch(e) {
             console.error("could not load session file", e);
-        });
+        }
     }
 
     public get uitextWelcomeTitle() {
diff --git a/src/app/components/dialog-load-session/dialog-load-session.component.ts b/src/app/components/dialog-load-session/dialog-load-session.component.ts
index a8f7aa817..291de8698 100644
--- a/src/app/components/dialog-load-session/dialog-load-session.component.ts
+++ b/src/app/components/dialog-load-session/dialog-load-session.component.ts
@@ -138,7 +138,7 @@ export class DialogLoadSessionComponent {
       this.checkLinkedParamsAndModelsDependencies();
     }
 
-    public onFileSelected(event: any) {
+    public async onFileSelected(event: any) {
       if (event.target.files && event.target.files.length) {
         this.file = event.target.files[0];
         // reinit file infos
@@ -149,23 +149,22 @@ export class DialogLoadSessionComponent {
         this.loadingComplete = false;
 
         const formService = ServiceFactory.instance.formulaireService;
-        formService.calculatorInfosFromSessionFile(this.file).then(
-          calcInfos => {
-            this.fileFormatVersion = calcInfos.formatVersion;
-            this.calculators = calcInfos.nubs;
-            for (const n of this.calculators) {
-              n.selected = true;
-              // if no title was given, generate a default one
-              if (! n.title) {
-                n.title = decode(formService.getLocalisedShortTitleFromCalculatorType(n.type));
-              }
+        try {
+          const calcInfos: any = await formService.calculatorInfosFromSessionFile(this.file);
+          this.fileFormatVersion = calcInfos.formatVersion;
+          this.calculators = calcInfos.nubs;
+          for (const n of this.calculators) {
+            n.selected = true;
+            // if no title was given, generate a default one
+            if (! n.title) {
+              n.title = decode(formService.getLocalisedShortTitleFromCalculatorType(n.type));
             }
-            this.loadingComplete = true;
           }
-        ).catch((err) => {
+          this.loadingComplete = true;
+        } catch(err) {
           console.error(err);
           this.loadingError = true;
-        });
+        }
       }
     }
 
diff --git a/src/app/components/fixedvar-results/results.component.ts b/src/app/components/fixedvar-results/results.component.ts
index e1829e929..ab70880f0 100644
--- a/src/app/components/fixedvar-results/results.component.ts
+++ b/src/app/components/fixedvar-results/results.component.ts
@@ -27,21 +27,19 @@ export class ResultsComponentDirective {
         }
     }
 
-    public setFullscreen(element): Promise<void> {
+    public async setFullscreen(element): Promise<void> {
         const sf = <Screenfull>screenfull;
         if (sf.isEnabled) {
-            return sf.request(element).then(() => {
-                this.fullscreenChange(true);
-            });
+            await sf.request(element);
+            this.fullscreenChange(true);
         }
     }
 
-    public exitFullscreen(): Promise<void> {
+    public async exitFullscreen(): Promise<void> {
         const sf = <Screenfull>screenfull;
         if (sf.isEnabled) {
-            return sf.exit().then(() => {
-                this.fullscreenChange(false);
-            });
+            await sf.exit();
+            this.fullscreenChange(false);
         }
     }
 
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index c0fa6f0a3..b32796c5c 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -692,10 +692,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
             disableClose: false
           }
         );
-        dialogRef.afterClosed().subscribe(result => {
+        dialogRef.afterClosed().subscribe(async result => {
           if (result) {
             if (result.generate) {
-              this.formulaireService.createFormulaire(CalculatorType.Pab).then((f: FormulaireDefinition) => {
+                const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.Pab);
                 const pab = (f.currentNub as Pab);
                 const params = pab.prms;
                 // paramètres hydrauliques
@@ -707,7 +707,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
                 pab.addCloisonsFromModel(this._formulaire.currentNub as Cloisons, result.nbBassins);
                 // go to new PAB
                 this.router.navigate(["/calculator", f.uid]);
-              });
             }
           }
         });
@@ -804,7 +803,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
      * @param Ys tirant(s) d'eau
      * @param Ifs pente(s)
      */
-    private generateBiefSP(Ys: number | number[], Ifs: number | number[]) {
+    private async generateBiefSP(Ys: number | number[], Ifs: number | number[]) {
         const bief = (this._formulaire.currentNub as Bief);
         const serialisedSection = bief.section.serialise();
         const sectionCopy = Session.getInstance().unserialiseSingleNub(serialisedSection, false).nub;
@@ -822,18 +821,15 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
             }
         }
 
-        this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam)
-            .then((f: FormulaireDefinition) => {
+        const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam);
                 const sp = (f.currentNub as SectionParametree);
                 sp.section.prms.Y.setValues(Ys);
                 sp.section.prms.If.setValues(Ifs);
                 // calculate
                 f.doCompute();
                 // go to new SP
-                this.router.navigate(["/calculator", f.uid]).then();
+        this.router.navigate(["/calculator", f.uid]);
             }
-        );
-    }
 
     public get generateRuSpEnabled(): boolean {
         return this.hasResults && ! this._formulaire.currentNub.result.hasErrorMessages();
@@ -850,7 +846,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
     /**
      * Génère une SectionParametree à partir du module RegimeUniforme en cours
      */
-    public generateRuSp() {
+    public async generateRuSp() {
         const ru = (this._formulaire.currentNub as RegimeUniforme);
         // copy section
         const serialisedSection = ru.section.serialise();
@@ -866,14 +862,11 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         }
         Session.getInstance().registerNub(secParam);
 
-        this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam)
-            .then((f: FormulaireDefinition) => {
+        const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam);
                 // calculate
                 f.doCompute();
                 // go to new SP
             }
-        );
-    }
 
     public get generatePARSimulationEnabled(): boolean {
         const parCalage = (this._formulaire.currentNub as Par);
@@ -971,7 +964,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
      * Creates a new Formulaire with a ParSimulation Nub, using given
      * values as parameters
      */
-    protected doGenerateParSimWithValues(v: any) {
+    protected async doGenerateParSimWithValues(v: any) {
         const parCalage = (this._formulaire.currentNub as Par);
         const psim = new ParSimulationParams(
             round(v.Q, 3),      round(v.Z1, 3),     round(v.Z2, 3),
@@ -984,14 +977,11 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         parSimulation.parType = parCalage.parType;
         Session.getInstance().registerNub(parSimulation);
 
-        this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation)
-            .then((f: FormulaireDefinition) => {
+        const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation);
                 // calculate
                 f.doCompute();
                 // go to new ParSimulation
-                this.router.navigate(["/calculator", f.uid]).then();
-            }
-        );
+        this.router.navigate(["/calculator", f.uid]);
     }
 
     public saveCalculator() {
@@ -1018,11 +1008,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
     /**
      * Duplicates the current calculator form
      */
-    public cloneCalculator() {
+    public async cloneCalculator() {
         const serialisedNub: string = this._formulaire.currentNub.serialise({ title: this._formulaire.calculatorName });
         const nubPointer = Session.getInstance().unserialiseSingleNub(serialisedNub);
-        this.formulaireService.createFormulaire(nubPointer.nub.calcType, nubPointer.nub, nubPointer.meta.title).then((f) => {
+        const f = await this.formulaireService.createFormulaire(nubPointer.nub.calcType, nubPointer.nub, nubPointer.meta.title);
             this.router.navigate(["/calculator", f.uid]);
-        });
     }
 }
diff --git a/src/app/components/select-model-field-line/select-model-field-line.component.ts b/src/app/components/select-model-field-line/select-model-field-line.component.ts
index 592e3032e..f88877835 100644
--- a/src/app/components/select-model-field-line/select-model-field-line.component.ts
+++ b/src/app/components/select-model-field-line/select-model-field-line.component.ts
@@ -77,18 +77,15 @@ export class SelectModelFieldLineComponent implements OnInit {
      * Creates a new Nub of type _select.calcType, to be used as a model
      * when no other is available
      */
-    public createModel() {
-        this._formService.createFormulaire(this._select.calcType).then(f => {
-            this.router.navigate(["/calculator", f.uid]);
-            return f;
-        }).then(f => {
-            // on ajoute un ouvrage aux modulex de type "parallèle"
-            for (const e of f.allFormElements) {
-                if (e instanceof FieldsetContainer) {
-                    e.addFromTemplate(0);
-                    break;
-                }
+    public async createModel() {
+        const f = await this._formService.createFormulaire(this._select.calcType);
+        this.router.navigate(["/calculator", f.uid]);
+        // on ajoute un ouvrage aux modulex de type "parallèle"
+        for (const e of f.allFormElements) {
+            if (e instanceof FieldsetContainer) {
+                e.addFromTemplate(0);
+                break;
             }
-        });
+        }
     }
 }
diff --git a/src/app/services/app-setup.service.ts b/src/app/services/app-setup.service.ts
index 2850c2c7b..7a2d2a30b 100644
--- a/src/app/services/app-setup.service.ts
+++ b/src/app/services/app-setup.service.ts
@@ -114,13 +114,12 @@ export class ApplicationSetupService extends Observable {
     /**
      * Restore configuration values
      */
-    public restoreDefaultValues(): Promise<any> {
-        return this.readValuesFromConfig().then(() => {
-            // notify I18nService
-            this.notifyObservers({
-                action: "languagePreferenceChanged",
-                languages: [ this.language ]
-            });
+    public async restoreDefaultValues(): Promise<any> {
+        await this.readValuesFromConfig()
+        // notify I18nService
+        this.notifyObservers({
+            action: "languagePreferenceChanged",
+            languages: [ this.language ]
         });
     }
 
@@ -171,18 +170,17 @@ export class ApplicationSetupService extends Observable {
     /**
      * Read configuration values from config (async)
      */
-    private readValuesFromConfig(): Promise<any> {
-        return this.httpService.httpGetRequestPromise(this.CONFIG_FILE_PATH).then((data: any) => {
-            // get all config values (volontarily non-generic to prevent side-effects)
-            this.displayPrecision = data.params.displayPrecision;
-            this.computePrecision = data.params.computePrecision;
-            this.maxIterations = data.params.maxIterations;
-            this.enableNotifications = data.params.enableNotifications;
-            this.enableHotkeys = data.params.enableHotkeys;
-            this.enableEmptyFieldsOnFormInit = data.params.enableEmptyFieldsOnFormInit;
-            this.language = data.params.language;
-            // load themes for calculators list page
-            this.themes = data.themes;
-        });
+    private async readValuesFromConfig(): Promise<any> {
+        const data: any = await this.httpService.httpGetRequestPromise(this.CONFIG_FILE_PATH);
+        // get all config values (volontarily non-generic to prevent side-effects)
+        this.displayPrecision = data.params.displayPrecision;
+        this.computePrecision = data.params.computePrecision;
+        this.maxIterations = data.params.maxIterations;
+        this.enableNotifications = data.params.enableNotifications;
+        this.enableHotkeys = data.params.enableHotkeys;
+        this.enableEmptyFieldsOnFormInit = data.params.enableEmptyFieldsOnFormInit;
+        this.language = data.params.language;
+        // load themes for calculators list page
+        this.themes = data.themes;
     }
 }
diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts
index 101572ca1..e4bb9b0b9 100644
--- a/src/app/services/formulaire.service.ts
+++ b/src/app/services/formulaire.service.ts
@@ -83,11 +83,12 @@ export class FormulaireService extends Observable {
      * Loads the localisation file dedicated to calculator type ct; tries the current
      * language then the fallback language; uses cache if available
      */
-    public loadLocalisation(calc: CalculatorType): Promise<any> {
+    public async loadLocalisation(calc: CalculatorType): Promise<any> {
         const lang = this._intlService.currentLanguage;
-        return this.loadLocalisationForLang(calc, lang).then((localisation) => {
+        try {
+            const localisation = await this.loadLocalisationForLang(calc, lang);
             return localisation as StringMap;
-        }).catch((e) => {
+        } catch(e) {
             console.error(e);
             // try default lang (the one in the config file) ?
             const fallbackLang = this.appSetupService.fallbackLanguage;
@@ -95,14 +96,14 @@ export class FormulaireService extends Observable {
                 console.error(`trying fallback language: ${fallbackLang}`);
                 return this.loadLocalisationForLang(calc, fallbackLang);
             }
-        });
+    }
     }
 
     /**
      * Loads the localisation file dedicated to calculator type ct for language lang;
      * keeps it in cache for subsequent calls ()
      */
-    private loadLocalisationForLang(calc: CalculatorType, lang: string): Promise<any> {
+    private async loadLocalisationForLang(calc: CalculatorType, lang: string): Promise<any> {
         const ct = String(calc);
         // already in cache ?
         if (Object.keys(this._languageCache).includes(ct) && Object.keys(this._languageCache[calc]).includes(lang)) {
@@ -111,27 +112,27 @@ export class FormulaireService extends Observable {
             });
         } else {
             const f: string = this.getConfigPathPrefix(calc) + lang + ".json";
-                return this._httpService.httpGetRequestPromise(f).then((localisation) => {
+            try {
+                const localisation = await this._httpService.httpGetRequestPromise(f);
                 this._languageCache[ct] = this._languageCache[ct] || {};
                 this._languageCache[ct][lang] = localisation;
                 return localisation as StringMap;
-            }).catch((e) => {
+            } catch(e) {
                 throw new Error(`LOCALISATION_FILE_NOT_FOUND "${f}"`);
-            });
         }
     }
+    }
 
     /**
      * Loads localisation file corresponding to current language then updates all form strings,
      * only if form language was not already set to current language
      */
-    public loadUpdateFormulaireLocalisation(f: FormulaireDefinition): Promise<FormulaireDefinition> {
+    public async loadUpdateFormulaireLocalisation(f: FormulaireDefinition): Promise<FormulaireDefinition> {
         const requiredLang = this._intlService.currentLanguage;
         if (requiredLang !== f.currentLanguage) {
-            return this.loadLocalisation(f.calculatorType).then(localisation => {
+            const localisation = await this.loadLocalisation(f.calculatorType);
                 f.updateLocalisation(localisation, requiredLang);
                 return f;
-            });
         }
     }
 
@@ -322,13 +323,12 @@ export class FormulaireService extends Observable {
      * @param nub nub existant à associer au formulaire (chargement de session / duplication de module)
      * @param calculatorName nom du module, à afficher dans l'interface
      */
-    public createFormulaire(ct: CalculatorType, nub?: Nub, calculatorName?: string): Promise<FormulaireDefinition> {
+    public async createFormulaire(ct: CalculatorType, nub?: Nub, calculatorName?: string): Promise<FormulaireDefinition> {
         // Crée un formulaire du bon type
         const f: FormulaireDefinition = this.newFormulaire(ct);
         this._formulaires.push(f);
         // Charge la configuration dépendamment du type
-        const prom: Promise<any> = this.loadConfig(ct);
-        return prom.then(s => {
+        const s: any = await this.loadConfig(ct);
             f.preparseConfig(s);
 
             // Associe le Nub fourni (chargement de session / duplication de module), sinon en crée un nouveau
@@ -413,16 +413,11 @@ export class FormulaireService extends Observable {
                 newDownWall.addChild(newDownwallDevice);
                 f.pabNub.downWall = newDownWall;
             }
-
-            return f;
-
-        }).then(fi => {
             this.notifyObservers({
                 "action": "createForm",
-                "form": fi
-            });
-            return fi;
+            "form": f
         });
+        return f;
     }
 
     /**
@@ -640,10 +635,13 @@ export class FormulaireService extends Observable {
      * obtient des infos (nom, uid des modules de calcul, dépendances) d'un fichier session
      * @param f fichier session
      */
-    public calculatorInfosFromSessionFile(f: File): Promise<{ nubs: any[], formatVersion: string }> {
-        return this.readSingleFile(f).then(s => {
+    public async calculatorInfosFromSessionFile(f: File): Promise<{ nubs: any[], formatVersion: string }> {
+        const s = await this.readSingleFile(f);
             // return value
-            const res: { nubs: any[], formatVersion: string } = {
+        const res: {
+            nubs: any[];
+            formatVersion: string;
+        } = {
                 nubs: [],
                 formatVersion: ""
             };
@@ -661,7 +659,7 @@ export class FormulaireService extends Observable {
                     // list linked params dependencies for each Nub
                     if (e.parameters) {
                         e.parameters.forEach((p) => {
-                            if (p.targetNub && ! nubInfo.requires.includes(p.targetNub)) {
+                        if (p.targetNub && !nubInfo.requires.includes(p.targetNub)) {
                                 nubInfo.requires.push(p.targetNub);
                             }
                         });
@@ -680,7 +678,6 @@ export class FormulaireService extends Observable {
                 res.formatVersion = data.header.format_version;
             }
             return res;
-        });
     }
 
     public saveForm(f: FormulaireDefinition) {
diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts
index 67b16fa79..50e1e4cbe 100644
--- a/src/app/services/internationalisation.service.ts
+++ b/src/app/services/internationalisation.service.ts
@@ -59,7 +59,7 @@ export class I18nService extends Observable implements Observer {
      *
      * @param code ISO 639-1 language code
      */
-    public setLanguage(code: string) {
+    public async setLanguage(code: string) {
         // is language supported ?
         if (! Object.keys(this._availableLanguages).includes(code)) {
             throw new Error(`LANGUAGE_UNSUPPORTED "${code}"`);
@@ -70,11 +70,10 @@ export class I18nService extends Observable implements Observer {
             this._Messages = undefined;
             // reload all messages
             const that = this;
-            this.httpGetMessages(code).then((res: any) => {
-                that._Messages = res;
-                // propagate language change to all application
-                that.notifyObservers(undefined);
-            });
+            const res: any = await this.httpGetMessages(code);
+            that._Messages = res;
+            // propagate language change to all application
+            that.notifyObservers(undefined);
         }
     }
 
@@ -82,12 +81,10 @@ export class I18nService extends Observable implements Observer {
      * Loads localized messages from JSON files for the given language
      * (general messages files, not calculator-specific ones)
      */
-    private httpGetMessages(lang: string): Promise<void> {
+    private async httpGetMessages(lang: string): Promise<any> {
         const fileName = "messages." + lang + ".json";
         const filePath = "locale/" + fileName;
-        return this.httpService.httpGetRequestPromise(filePath).then((res: any) => {
-            return res;
-        });
+        return await this.httpService.httpGetRequestPromise(filePath);
     }
 
     private getMessageFromCode(c: MessageCode): string {
-- 
GitLab


From cd583909ff5c4a7e3965037d339c3e999a66293a Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 8 Jun 2020 17:02:14 +0200
Subject: [PATCH 056/117] [WIP] subform system for PreBarrage

---
 src/app/calculators/prebarrage/config.json    | 131 ++++++++--
 .../calculator.component.html                 |   2 +-
 .../calculator.component.ts                   |  37 +--
 .../pb-schema/pb-schema.component.html        |   2 +-
 .../pb-schema/pb-schema.component.scss        |   4 +
 .../pb-schema/pb-schema.component.ts          |  24 +-
 .../formulaire/definition/form-definition.ts  |  19 +-
 .../formulaire/definition/form-prebarrage.ts  | 116 +++++++++
 src/app/services/formulaire.service.ts        | 237 +++++++++---------
 9 files changed, 394 insertions(+), 178 deletions(-)
 create mode 100644 src/app/formulaire/definition/form-prebarrage.ts

diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json
index 754fbc81d..6c72eac2d 100644
--- a/src/app/calculators/prebarrage/config.json
+++ b/src/app/calculators/prebarrage/config.json
@@ -4,24 +4,127 @@
         "type": "pb_schema"
     },
     {
-        "id": "fs_params",
-        "type": "fieldset",
-        "fields": [
+        "id": "subform_river",
+        "type": "subform",
+        "config": [
             {
-                "id": "select_upstream",
-                "type": "select_reference",
-                "reference": "nub",
-                "source": "upstream_stuff"
+                "id": "fs_river_params",
+                "type": "fieldset",
+                "fields": [
+                    "Q",
+                    "Z1",
+                    "Z2"
+                ]
             },
             {
-                "id": "select_downstream",
-                "type": "select_reference",
-                "reference": "nub",
-                "source": "downstream_stuff"
+                "type": "options",
+                "selectIds": [ ]
+            }
+        ]
+    },
+    {
+        "id": "subform_basin",
+        "type": "subform",
+        "config": [
+            {
+                "id": "fs_basin_params",
+                "type": "fieldset",
+                "fields": [
+                    {
+                        "id": "select_upstream",
+                        "type": "select_reference",
+                        "reference": "nub",
+                        "source": "upstream_stuff"
+                    },
+                    {
+                        "id": "select_downstream",
+                        "type": "select_reference",
+                        "reference": "nub",
+                        "source": "downstream_stuff"
+                    },
+                    "Q",
+                    "Z1",
+                    "Z2"
+                ]
             },
-            "Q",
-            "Z1",
-            "Z2"
+            {
+                "type": "options",
+                "selectIds": [ ]
+            }
+        ]
+    },
+    {
+        "id": "subform_wall",
+        "type": "subform",
+        "config": [
+            {
+                "id": "fs_wall_device",
+                "type": "fieldset_template",
+                "calcType": "Structure",
+                "defaultStructType": "SeuilRectangulaire",
+                "defaultLoiDebit": "WeirSubmergedLarinier",
+                "fields": [
+                    {
+                        "id": "select_structure",
+                        "type": "select",
+                        "property": "structureType",
+                        "source": "device_structure_type"
+                    },
+                    {
+                        "id": "select_loidebit",
+                        "type": "select",
+                        "property": "loiDebit",
+                        "source": "device_loi_debit",
+                        "help": {
+                            "Orifice_OrificeSubmerged": "structures/orifice_noye.html",
+                            "SeuilRectangulaire_WeirVillemonte": "structures/kivi.html",
+                            "SeuilRectangulaire_WeirSubmergedLarinier": "structures/fente_noyee.html",
+                            "SeuilTriangulaire_TriangularWeirFree": "structures/dever_triang.html",
+                            "SeuilTriangulaire_TriangularWeirBroad": "structures/dever_triang.html",
+                            "SeuilTriangulaireTrunc_TriangularTruncWeirFree": "structures/dever_triang_tronque.html"
+                        }
+                    },
+                    "h1",
+                    "L",
+                    "CdWSL",
+                    "CdWR",
+                    "CdGR",
+                    "CdT",
+                    "S",
+                    "alpha2",
+                    "BT",
+                    "ZT"
+                ]
+            },
+            {
+                "id": "fs_wall_params",
+                "type": "fieldset",
+                "fields": [
+                    {
+                        "id": "select_upstream",
+                        "type": "select_reference",
+                        "reference": "nub",
+                        "source": "upstream_stuff"
+                    },
+                    {
+                        "id": "select_downstream",
+                        "type": "select_reference",
+                        "reference": "nub",
+                        "source": "downstream_stuff"
+                    },
+                    {
+                        "id": "devices_container",
+                        "type": "template_container",
+                        "templates": [
+                            "fs_wall_device"
+                        ]
+                    }
+                ]
+            },
+            {
+                "type": "options",
+                "selectIds": [ ]
+            }
         ]
     },
     {
diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html
index d9f3b2650..9cb4f5d2f 100644
--- a/src/app/components/generic-calculator/calculator.component.html
+++ b/src/app/components/generic-calculator/calculator.component.html
@@ -99,7 +99,7 @@
                                 [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'">
 
                                 <pb-schema *ngIf="isPbSchema(fe)" [pbSchema]=fe (radio)=onRadioClick($event)
-                                    (validChange)=onElementValid() (inputChange)=onInputChange($event)>
+                                    (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)">
                                 </pb-schema>
 
                                 <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div>
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index b32796c5c..f98742720 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -567,6 +567,13 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         elt.select();
     }
 
+    /** réception d'un événement de clic sur un nœud du schéma de PréBarrage */
+    public onPBNodeSelected(event: any) {
+        console.log("node selected", event.node ? event.node.constructor.name : "zubi");
+        this.showPBInputData = true;
+        // show proper form depending on what was clicked
+    }
+
     public openHelp() {
         window.open("assets/docs/" + this.appSetupService.language + "/calculators/" + this._formulaire.helpLink, "_blank");
     }
@@ -822,14 +829,14 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         }
 
         const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam);
-                const sp = (f.currentNub as SectionParametree);
-                sp.section.prms.Y.setValues(Ys);
-                sp.section.prms.If.setValues(Ifs);
-                // calculate
-                f.doCompute();
-                // go to new SP
+        const sp = (f.currentNub as SectionParametree);
+        sp.section.prms.Y.setValues(Ys);
+        sp.section.prms.If.setValues(Ifs);
+        // calculate
+        f.doCompute();
+        // go to new SP
         this.router.navigate(["/calculator", f.uid]);
-            }
+    }
 
     public get generateRuSpEnabled(): boolean {
         return this.hasResults && ! this._formulaire.currentNub.result.hasErrorMessages();
@@ -863,10 +870,10 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         Session.getInstance().registerNub(secParam);
 
         const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.SectionParametree, secParam);
-                // calculate
-                f.doCompute();
-                // go to new SP
-            }
+        // calculate
+        f.doCompute();
+        // go to new SP
+    }
 
     public get generatePARSimulationEnabled(): boolean {
         const parCalage = (this._formulaire.currentNub as Par);
@@ -978,9 +985,9 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         Session.getInstance().registerNub(parSimulation);
 
         const f: FormulaireDefinition = await this.formulaireService.createFormulaire(CalculatorType.ParSimulation, parSimulation);
-                // calculate
-                f.doCompute();
-                // go to new ParSimulation
+        // calculate
+        f.doCompute();
+        // go to new ParSimulation
         this.router.navigate(["/calculator", f.uid]);
     }
 
@@ -1012,6 +1019,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         const serialisedNub: string = this._formulaire.currentNub.serialise({ title: this._formulaire.calculatorName });
         const nubPointer = Session.getInstance().unserialiseSingleNub(serialisedNub);
         const f = await this.formulaireService.createFormulaire(nubPointer.nub.calcType, nubPointer.nub, nubPointer.meta.title);
-            this.router.navigate(["/calculator", f.uid]);
+        this.router.navigate(["/calculator", f.uid]);
     }
 }
diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
index 1ac51ca73..f8bb9bbc0 100644
--- a/src/app/components/pb-schema/pb-schema.component.html
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -39,6 +39,6 @@
 
     <div id="schema" #schema></div>
 
-    <!-- <pre id="debug">{{ graphDef }} </pre> -->
+    <pre id="debug">{{ graphDef }} </pre>
 
 </mat-card-content>
diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss
index a398740b8..c0834e6b7 100644
--- a/src/app/components/pb-schema/pb-schema.component.scss
+++ b/src/app/components/pb-schema/pb-schema.component.scss
@@ -57,3 +57,7 @@ mat-card-content {
     margin-bottom: .5em;
     text-align: center;
 }
+
+#debug {
+    display: none;
+}
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 4e2f6952f..6728c7829 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -46,9 +46,9 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     @Output()
     private validChange = new EventEmitter();
 
-    /** événément de changement de valeur d'un input */
+    /** événément de sélection d'un nœud du graphique Mermaid */
     @Output()
-    private inputChange = new EventEmitter();
+    private nodeSelected = new EventEmitter();
 
     /** underlying PB */
     private model: PreBarrage;
@@ -255,6 +255,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
                 }
             }
         }
+        // show proper form, hide results
+        this.nodeSelected.emit({
+            node: this._selectedItem
+        });
     }
 
     // for debug only
@@ -271,24 +275,11 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         return this._isValid;
     }
 
+    /** used for a cosmetics CSS trick only (mat-card-header right margin) */
     public get showInputData(): boolean {
         return this.calculatorComponent.showPBInputData;
     }
 
-    /**
-     * Checks that input value is a valid number, according to input[type="number"] algorithm,
-     * and stores it in cell.uiValidity, so that the <td> element can access it and get angry
-     * if input is invalid
-     */
-    public inputValueChanged($event, cell) {
-        if ($event && $event.target && $event.target.validity) {
-            cell.uiValidity = $event.target.validity.valid;
-        }
-        this.updateValidity();
-        // send input change event (used to reset form results)
-        this.inputChange.emit();
-    }
-
     public get prefixedItemDescription(): string {
         let desc = this.itemDesription(this._selectedItem);
         if (this._selectedItem instanceof PbCloison) {
@@ -420,6 +411,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         // check that at least 1 basin is present and a route from river
         // upstream to river downstream exists (2nd check includes 1st)
         this._isValid = this.model.hasUpDownConnection();
+        console.log("schéma valide", this._isValid);
         this.validChange.emit();
     }
 
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index 5f8a226d8..dd6797765 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -24,7 +24,6 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera
 import { CalculatorResults } from "../../results/calculator-results";
 import { ServiceFactory } from "../../services/service-factory";
 import { PabTable } from "../elements/pab-table";
-import { PbSchema } from '../elements/pb-schema';
 
 /**
  * classe de base pour tous les formulaires
@@ -47,7 +46,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
     protected _resultsHelpLinks: { [key: string]: string };
 
     /** fichier de configuration */
-    private _jsonConfig: {};
+    protected _jsonConfig: {};
 
     /** clé-valeurs du fichier de localisation spécifique à ce module */
     private _specificLocalisation: StringMap;
@@ -204,31 +203,25 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
     public removeFieldset(fs: FieldSet) {
     }
 
-    private parse_fieldset(json: {}, nub?: Nub) {
+    protected parse_fieldset(json: {}, nub?: Nub) {
         const fs = this.createFieldset(this, json, undefined, nub);
         fs.parseConfig(json);
         this.afterParseFieldset(fs);
     }
 
-    private parse_template_container(json: {}, templates: any[]) {
+    protected parse_template_container(json: {}, templates: any[]) {
         const fsc: FieldsetContainer = new FieldsetContainer(this);
         fsc.parseConfig(json, templates);
         this.kids.push(fsc);
     }
 
+    // @TODO move to FormulairePAB by overloading parseConfig()
     private parse_pab_table(json: {}) {
         const tab: PabTable = new PabTable(this);
         tab.parseConfig(json);
         this.kids.push(tab);
     }
 
-    private parse_pb_schema(json: {}) {
-        const sch: PbSchema = new PbSchema(this);
-        sch.parseConfig(json);
-        this.kids.push(sch);
-    }
-
-
     /**
      * 1ère passe d'analyse de la configuration
      */
@@ -286,10 +279,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     this.parse_pab_table(conf);
                     break;
 
-                case "pb_schema": // not generic at all
-                    this.parse_pb_schema(conf);
-                    break;
-
                 default:
                     throw new Error(`type d'objet de module de calcul ${type} non pris en charge`);
             }
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
new file mode 100644
index 000000000..d15c13b37
--- /dev/null
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -0,0 +1,116 @@
+import { CalculatorType } from "jalhyd";
+
+import { FormulaireFixedVar } from "./form-fixedvar";
+import { FormulaireParallelStructure } from "./form-parallel-structures";
+import { PbSchema } from "../elements/pb-schema";
+
+/**
+ * Formulaire pour les PréBarrage
+ */
+export class FormulairePrebarrage extends FormulaireFixedVar {
+
+    /** child form for river upstream/downstream elevations and flow */
+    private riverForm: FormulaireFixedVar;
+
+    /** child form for basins dimensions */
+    private basinForm: FormulaireFixedVar;
+
+    /** child form for walls (repeatable devices) */
+    private wallForm: FormulaireParallelStructure;
+
+    public constructor() {
+        super();
+        console.log("Construction du FormPreBarrage !!");
+        this.riverForm = new FormulaireFixedVar();
+        this.riverForm.defaultProperties["calcType"] = CalculatorType.PreBarrage;
+        this.basinForm = new FormulaireFixedVar();
+        this.basinForm.defaultProperties["calcType"] = CalculatorType.PbBassin;
+        this.wallForm = new FormulaireParallelStructure();
+        this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison;
+    }
+
+    protected parseOptions(json: {}) {
+        // super.parseOptions(json);
+        // @TODO parse children forms configs
+    }
+
+    public parseConfig(json?: {}) {
+        console.log("> parse confaïgue");
+        if (json !== undefined) {
+            this._jsonConfig = json;
+        }
+        for (const conf_index in this._jsonConfig) {
+            const conf = this._jsonConfig[conf_index];
+            const type: string = conf["type"];
+
+            switch (type) {
+                // options globales
+                case "options":
+                    break;
+
+                case "subform":
+                    this.parse_subform(conf);
+                    break;
+
+                case "pb_schema":
+                    this.parse_pb_schema(conf);
+                    break;
+
+                default:
+                    throw new Error(`type d'objet de module de calcul ${type} non pris en charge`);
+            }
+        }
+        this.completeParse(this._jsonConfig);
+    }
+
+    private parse_subform(json: {}) {
+        console.log("parse sf", json);
+        switch (json["id"]) {
+            case "subform_river":
+                this.riverForm.currentNub = this.currentNub;
+                this.riverForm.parseConfig(json["config"]);
+                break;
+            case "subform_basin":
+                // this.basinForm.currentNub = this.currentNub;
+                this.basinForm.parseConfig(json["config"]);
+                break;
+            case "subform_wall":
+                // this.wallForm.currentNub = this.currentNub;
+                this.wallForm.parseConfig(json["config"]);
+                break;
+        }
+        // console.log(">> triggering parsing of new subform", subform.constructor.name, subform.uid);
+        // subform.parseConfig(json);
+        // this.kids.push(subform);
+        // f.defaultProperties["calcType"] = ct;
+    }
+
+    private parse_pb_schema(json: {}) {
+        const sch: PbSchema = new PbSchema(this);
+        sch.parseConfig(json);
+        this.kids.push(sch);
+    }
+
+    protected completeParse(json: {}, firstNotif: boolean = true) {
+        // super.completeParse(json);
+        // @TODO parse children forms configs
+    }
+
+    // interface Observer
+
+    /* public update(sender: IObservable, data: any) {
+        // copied from FormDefinition, to avoid calling super.update()
+        if (sender instanceof Nub) {
+            switch (data.action) {
+                case "resultUpdated":
+                    // forward Nub results update notification to FormCompute objects
+                    this.reaffectResultComponents();
+                    break;
+            }
+        }
+        // copied from FormFixedVar, to avoid calling super.update()
+        if (data.action === "propertyChange") {
+            this.reset();
+        }
+    } */
+}
diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts
index e4bb9b0b9..9e3879d8a 100644
--- a/src/app/services/formulaire.service.ts
+++ b/src/app/services/formulaire.service.ts
@@ -40,6 +40,7 @@ import { AppComponent } from "../app.component";
 import { FormulaireSPP } from "../formulaire/definition/form-spp";
 import { FormulaireFixedVar } from "../formulaire/definition/form-fixedvar";
 import { FormulaireSection } from "../formulaire/definition/form-section";
+import { FormulairePrebarrage } from "../formulaire/definition/form-prebarrage";
 
 @Injectable()
 export class FormulaireService extends Observable {
@@ -96,7 +97,7 @@ export class FormulaireService extends Observable {
                 console.error(`trying fallback language: ${fallbackLang}`);
                 return this.loadLocalisationForLang(calc, fallbackLang);
             }
-    }
+        }
     }
 
     /**
@@ -119,9 +120,9 @@ export class FormulaireService extends Observable {
                 return localisation as StringMap;
             } catch(e) {
                 throw new Error(`LOCALISATION_FILE_NOT_FOUND "${f}"`);
+            }
         }
     }
-    }
 
     /**
      * Loads localisation file corresponding to current language then updates all form strings,
@@ -131,8 +132,8 @@ export class FormulaireService extends Observable {
         const requiredLang = this._intlService.currentLanguage;
         if (requiredLang !== f.currentLanguage) {
             const localisation = await this.loadLocalisation(f.calculatorType);
-                f.updateLocalisation(localisation, requiredLang);
-                return f;
+            f.updateLocalisation(localisation, requiredLang);
+            return f;
         }
     }
 
@@ -308,6 +309,10 @@ export class FormulaireService extends Observable {
                 f = new FormulaireSPP();
                 break;
 
+            case CalculatorType.PreBarrage:
+                f = new FormulairePrebarrage();
+                break;
+
             default:
                 f = new FormulaireFixedVar();
         }
@@ -329,92 +334,92 @@ export class FormulaireService extends Observable {
         this._formulaires.push(f);
         // Charge la configuration dépendamment du type
         const s: any = await this.loadConfig(ct);
-            f.preparseConfig(s);
+        f.preparseConfig(s);
 
-            // Associe le Nub fourni (chargement de session / duplication de module), sinon en crée un nouveau
-            if (nub) {
-                f.currentNub = nub;
-            } else {
-                f.initNub();
-            }
+        // Associe le Nub fourni (chargement de session / duplication de module), sinon en crée un nouveau
+        if (nub) {
+            f.currentNub = nub;
+        } else {
+            f.initNub();
+        }
 
-            // Restaure le nom du module, sinon affecte le nom par défaut
-            let tempName: string;
-            if (calculatorName) {
-                tempName = calculatorName;
-            } else {
-                tempName = decode(this.getLocalisedShortTitleFromCalculatorType(ct));
-            }
-            // Suffixe le nom du module si nécessaire
-            f.calculatorName = this.suffixNameIfNeeded(tempName);
-
-            f.parseConfig();
-
-            // add fieldsets for existing Structures if needed
-            // (when loading session only)
-            if (f.currentNub instanceof ParallelStructure) {
-                for (const struct of f.currentNub.structures) {
-                    for (const e of f.allFormElements) {
-                        if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ?
-                            e.addFromTemplate(0, undefined, struct);
-                        }
+        // Restaure le nom du module, sinon affecte le nom par défaut
+        let tempName: string;
+        if (calculatorName) {
+            tempName = calculatorName;
+        } else {
+            tempName = decode(this.getLocalisedShortTitleFromCalculatorType(ct));
+        }
+        // Suffixe le nom du module si nécessaire
+        f.calculatorName = this.suffixNameIfNeeded(tempName);
+
+        f.parseConfig();
+
+        // add fieldsets for existing Structures if needed
+        // (when loading session only)
+        if (f.currentNub instanceof ParallelStructure) {
+            for (const struct of f.currentNub.structures) {
+                for (const e of f.allFormElements) {
+                    if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ?
+                        e.addFromTemplate(0, undefined, struct);
                     }
                 }
             }
+        }
 
-            // add fieldsets for existing YAXN if needed
-            // (when loading session only)
-            if (f.currentNub instanceof SPP) {
-                for (const c of f.currentNub.getChildren()) {
-                    for (const e of f.allFormElements) {
-                        if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ?
-                            e.addFromTemplate(0, undefined, c);
-                        }
+        // add fieldsets for existing YAXN if needed
+        // (when loading session only)
+        if (f.currentNub instanceof SPP) {
+            for (const c of f.currentNub.getChildren()) {
+                for (const e of f.allFormElements) {
+                    if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ?
+                        e.addFromTemplate(0, undefined, c);
                     }
                 }
             }
+        }
 
-            // when creating a new Pab, add one wall with one device, plus the downwall
-            // (when loading session, those items are already present)
-            if (
-                f instanceof FormulairePab
-                && f.currentNub instanceof Pab
-                && f.currentNub.children.length === 0
-                && f.currentNub.downWall === undefined
-            ) {
-                // 1. one wall
-                const newWall = Session.getInstance().createNub(
-                    new Props({
-                        calcType: CalculatorType.Cloisons
-                    })
-                ) as Cloisons;
-                // add new default device for new wall
-                const newDevice = Session.getInstance().createNub(
-                    new Props({
-                        calcType: CalculatorType.Structure,
-                        loiDebit: newWall.getDefaultLoiDebit()
-                    })
-                );
-                newWall.addChild(newDevice);
-                f.pabNub.addChild(newWall);
-                // 2. downwall
-                const newDownWall = Session.getInstance().createNub(
-                    new Props({
-                        calcType: CalculatorType.CloisonAval
-                    })
-                ) as CloisonAval;
-                // add new default device for new downwall
-                const newDownwallDevice = Session.getInstance().createNub(
-                    new Props({
-                        calcType: CalculatorType.Structure,
-                        loiDebit: newDownWall.getDefaultLoiDebit()
-                    })
-                );
-                newDownWall.addChild(newDownwallDevice);
-                f.pabNub.downWall = newDownWall;
-            }
-            this.notifyObservers({
-                "action": "createForm",
+        // when creating a new Pab, add one wall with one device, plus the downwall
+        // (when loading session, those items are already present)
+        if (
+            f instanceof FormulairePab
+            && f.currentNub instanceof Pab
+            && f.currentNub.children.length === 0
+            && f.currentNub.downWall === undefined
+        ) {
+            // 1. one wall
+            const newWall = Session.getInstance().createNub(
+                new Props({
+                    calcType: CalculatorType.Cloisons
+                })
+            ) as Cloisons;
+            // add new default device for new wall
+            const newDevice = Session.getInstance().createNub(
+                new Props({
+                    calcType: CalculatorType.Structure,
+                    loiDebit: newWall.getDefaultLoiDebit()
+                })
+            );
+            newWall.addChild(newDevice);
+            f.pabNub.addChild(newWall);
+            // 2. downwall
+            const newDownWall = Session.getInstance().createNub(
+                new Props({
+                    calcType: CalculatorType.CloisonAval
+                })
+            ) as CloisonAval;
+            // add new default device for new downwall
+            const newDownwallDevice = Session.getInstance().createNub(
+                new Props({
+                    calcType: CalculatorType.Structure,
+                    loiDebit: newDownWall.getDefaultLoiDebit()
+                })
+            );
+            newDownWall.addChild(newDownwallDevice);
+            f.pabNub.downWall = newDownWall;
+        }
+        this.notifyObservers({
+            "action": "createForm",
             "form": f
         });
         return f;
@@ -637,47 +642,47 @@ export class FormulaireService extends Observable {
      */
     public async calculatorInfosFromSessionFile(f: File): Promise<{ nubs: any[], formatVersion: string }> {
         const s = await this.readSingleFile(f);
-            // return value
+        // return value
         const res: {
             nubs: any[];
             formatVersion: string;
         } = {
-                nubs: [],
-                formatVersion: ""
-            };
-            const data = JSON.parse(s);
-            // liste des noms de modules de calcul
-            if (data.session && Array.isArray(data.session)) {
-                data.session.forEach((e: any) => {
-                    const nubInfo = {
-                        uid: e.uid,
-                        title: e.meta && e.meta.title ? e.meta.title : undefined,
-                        requires: [],
-                        children: [],
-                        type: e.props.calcType
-                    };
-                    // list linked params dependencies for each Nub
-                    if (e.parameters) {
-                        e.parameters.forEach((p) => {
+            nubs: [],
+            formatVersion: ""
+        };
+        const data = JSON.parse(s);
+        // liste des noms de modules de calcul
+        if (data.session && Array.isArray(data.session)) {
+            data.session.forEach((e: any) => {
+                const nubInfo = {
+                    uid: e.uid,
+                    title: e.meta && e.meta.title ? e.meta.title : undefined,
+                    requires: [],
+                    children: [],
+                    type: e.props.calcType
+                };
+                // list linked params dependencies for each Nub
+                if (e.parameters) {
+                    e.parameters.forEach((p) => {
                         if (p.targetNub && !nubInfo.requires.includes(p.targetNub)) {
-                                nubInfo.requires.push(p.targetNub);
-                            }
-                        });
-                    }
-                    // list children nubs for each Nub
-                    if (e.children) {
-                        e.children.forEach((p) => {
-                            nubInfo.children.push(p.uid);
-                        });
-                    }
-                    res.nubs.push(nubInfo);
-                });
-            }
-            // version du format de fichier
-            if (data.header && data.header.format_version) {
-                res.formatVersion = data.header.format_version;
-            }
-            return res;
+                            nubInfo.requires.push(p.targetNub);
+                        }
+                    });
+                }
+                // list children nubs for each Nub
+                if (e.children) {
+                    e.children.forEach((p) => {
+                        nubInfo.children.push(p.uid);
+                    });
+                }
+                res.nubs.push(nubInfo);
+            });
+        }
+        // version du format de fichier
+        if (data.header && data.header.format_version) {
+            res.formatVersion = data.header.format_version;
+        }
+        return res;
     }
 
     public saveForm(f: FormulaireDefinition) {
-- 
GitLab


From 726cc6aa55b42e432a41fec660fd9278b42317fd Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 9 Jun 2020 11:07:27 +0200
Subject: [PATCH 057/117] Updated dependencies

---
 package-lock.json | 8479 +++++++++++++++++++++++----------------------
 package.json      |   82 +-
 2 files changed, 4472 insertions(+), 4089 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 315d1c889..66fb309ce 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,171 +11,129 @@
       "dev": true
     },
     "@angular-devkit/architect": {
-      "version": "0.900.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.900.7.tgz",
-      "integrity": "sha512-hfiTVYc72kzbXrzK4tea6jnTDnSKpE1D+vEptBXN2tdXEVNEAQI5Qm5L1zVDtt16UdqoUTUypIgUc9jcNH1mUQ==",
+      "version": "0.901.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.7.tgz",
+      "integrity": "sha512-yW/PUEqle55QihOFbmeNXaVTodhfeXkteoFDUpz+YpX3xiQDXDtNbIJSzKOQTojtBKdSMKMvZkQLr+RAa7/1EA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.7",
-        "rxjs": "6.5.3"
+        "@angular-devkit/core": "9.1.7",
+        "rxjs": "6.5.4"
       },
       "dependencies": {
         "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "version": "6.5.4",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
+        },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
         }
       }
     },
     "@angular-devkit/build-angular": {
-      "version": "0.900.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.900.7.tgz",
-      "integrity": "sha512-Yv2y3OEaYEd0fE0pKvtqBpmkQYs9xJws7thHnJYCwIfYO55RfolYsXkJgAXke/4NPLrD3EsIDqoPxF7l+uw2/Q==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/architect": "0.900.7",
-        "@angular-devkit/build-optimizer": "0.900.7",
-        "@angular-devkit/build-webpack": "0.900.7",
-        "@angular-devkit/core": "9.0.7",
-        "@babel/core": "7.7.7",
-        "@babel/generator": "7.7.7",
-        "@babel/preset-env": "7.7.7",
-        "@ngtools/webpack": "9.0.7",
-        "ajv": "6.10.2",
-        "autoprefixer": "9.7.1",
+      "version": "0.901.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.7.tgz",
+      "integrity": "sha512-NiBwapx/XJqYGzSmENff78i6Yif9PjYDJ9BB+59t2eDofkCZUcPFrhQmRgliO7rt6RATvT81lDP89+LBXCTQPw==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/architect": "0.901.7",
+        "@angular-devkit/build-optimizer": "0.901.7",
+        "@angular-devkit/build-webpack": "0.901.7",
+        "@angular-devkit/core": "9.1.7",
+        "@babel/core": "7.9.0",
+        "@babel/generator": "7.9.3",
+        "@babel/preset-env": "7.9.0",
+        "@babel/template": "7.8.6",
+        "@jsdevtools/coverage-istanbul-loader": "3.0.3",
+        "@ngtools/webpack": "9.1.7",
+        "ajv": "6.12.0",
+        "autoprefixer": "9.7.4",
         "babel-loader": "8.0.6",
         "browserslist": "^4.9.1",
-        "cacache": "13.0.1",
+        "cacache": "15.0.0",
         "caniuse-lite": "^1.0.30001032",
         "circular-dependency-plugin": "5.2.0",
         "copy-webpack-plugin": "5.1.1",
         "core-js": "3.6.4",
-        "coverage-istanbul-loader": "2.0.3",
+        "css-loader": "3.5.1",
         "cssnano": "4.1.10",
-        "file-loader": "4.2.0",
-        "find-cache-dir": "3.0.0",
-        "glob": "7.1.5",
-        "jest-worker": "24.9.0",
+        "file-loader": "6.0.0",
+        "find-cache-dir": "3.3.1",
+        "glob": "7.1.6",
+        "jest-worker": "25.1.0",
         "karma-source-map-support": "1.4.0",
-        "less": "3.10.3",
+        "less": "3.11.1",
         "less-loader": "5.0.0",
-        "license-webpack-plugin": "2.1.3",
-        "loader-utils": "1.2.3",
-        "magic-string": "0.25.4",
-        "mini-css-extract-plugin": "0.8.0",
+        "license-webpack-plugin": "2.1.4",
+        "loader-utils": "2.0.0",
+        "mini-css-extract-plugin": "0.9.0",
         "minimatch": "3.0.4",
-        "open": "7.0.0",
+        "open": "7.0.3",
         "parse5": "4.0.0",
-        "postcss": "7.0.21",
+        "postcss": "7.0.27",
         "postcss-import": "12.0.1",
         "postcss-loader": "3.0.0",
-        "raw-loader": "3.1.0",
-        "regenerator-runtime": "0.13.3",
-        "rimraf": "3.0.0",
-        "rollup": "1.25.2",
-        "rxjs": "6.5.3",
-        "sass": "1.23.3",
-        "sass-loader": "8.0.0",
-        "semver": "6.3.0",
+        "raw-loader": "4.0.0",
+        "regenerator-runtime": "0.13.5",
+        "rimraf": "3.0.2",
+        "rollup": "2.1.0",
+        "rxjs": "6.5.4",
+        "sass": "1.26.3",
+        "sass-loader": "8.0.2",
+        "semver": "7.1.3",
         "source-map": "0.7.3",
         "source-map-loader": "0.2.4",
-        "source-map-support": "0.5.16",
         "speed-measure-webpack-plugin": "1.3.1",
-        "style-loader": "1.0.0",
+        "style-loader": "1.1.3",
         "stylus": "0.54.7",
         "stylus-loader": "3.0.2",
-        "terser": "4.5.1",
-        "terser-webpack-plugin": "2.3.3",
+        "terser": "4.6.10",
+        "terser-webpack-plugin": "2.3.5",
         "tree-kill": "1.2.2",
-        "webpack": "4.41.2",
+        "webpack": "4.42.0",
         "webpack-dev-middleware": "3.7.2",
-        "webpack-dev-server": "3.9.0",
+        "webpack-dev-server": "3.11.0",
         "webpack-merge": "4.2.2",
         "webpack-sources": "1.4.3",
-        "webpack-subresource-integrity": "1.3.4",
-        "worker-plugin": "3.2.0"
+        "webpack-subresource-integrity": "1.4.0",
+        "worker-plugin": "4.0.3"
       },
       "dependencies": {
-        "@babel/generator": {
-          "version": "7.7.7",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.7.7.tgz",
-          "integrity": "sha512-/AOIBpHh/JU1l0ZFS4kiRCBnLi6OTHzh0RPk3h9isBxkkqELtQNFi1Vr/tiG9p1yfoUdKVwISuXWQR+hwwM4VQ==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.7.4",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13",
-            "source-map": "^0.5.0"
-          },
-          "dependencies": {
-            "source-map": {
-              "version": "0.5.7",
-              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-              "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-              "dev": true
-            }
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
         "ajv": {
-          "version": "6.10.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
-          "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+          "version": "6.12.0",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
+          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
           "dev": true,
           "requires": {
-            "fast-deep-equal": "^2.0.1",
+            "fast-deep-equal": "^3.1.1",
             "fast-json-stable-stringify": "^2.0.0",
             "json-schema-traverse": "^0.4.1",
             "uri-js": "^4.2.2"
           }
         },
-        "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
-          "dev": true,
-          "requires": {
-            "anymatch": "^2.0.0",
-            "async-each": "^1.0.1",
-            "braces": "^2.3.2",
-            "fsevents": "^1.2.7",
-            "glob-parent": "^3.1.0",
-            "inherits": "^2.0.3",
-            "is-binary-path": "^1.0.0",
-            "is-glob": "^4.0.0",
-            "normalize-path": "^3.0.0",
-            "path-is-absolute": "^1.0.0",
-            "readdirp": "^2.2.1",
-            "upath": "^1.1.1"
-          }
+        "core-js": {
+          "version": "3.6.4",
+          "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz",
+          "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==",
+          "dev": true
         },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
         },
         "glob": {
-          "version": "7.1.5",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.5.tgz",
-          "integrity": "sha512-J9dlskqUXK1OeTOYBEn5s8aMukWMwWfs+rPTn/jn50Ux4MNXVhubL1wu/j2t+H4NVI+cXEcCaYellqaPVGXNqQ==",
+          "version": "7.1.6",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+          "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
           "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
@@ -186,70 +144,40 @@
             "path-is-absolute": "^1.0.0"
           }
         },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-          "dev": true
-        },
         "regenerator-runtime": {
-          "version": "0.13.3",
-          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
-          "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
+          "version": "0.13.5",
+          "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz",
+          "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==",
           "dev": true
         },
         "rimraf": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
-          "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
           "dev": true,
           "requires": {
             "glob": "^7.1.3"
           }
         },
         "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "version": "6.5.4",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
         },
         "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "version": "7.1.3",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
+          "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
           "dev": true
         },
-        "source-map-support": {
-          "version": "0.5.16",
-          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
-          "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
-          "dev": true,
-          "requires": {
-            "buffer-from": "^1.0.0",
-            "source-map": "^0.6.0"
-          },
-          "dependencies": {
-            "source-map": {
-              "version": "0.6.1",
-              "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-              "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-              "dev": true
-            }
-          }
-        },
         "terser": {
-          "version": "4.5.1",
-          "resolved": "https://registry.npmjs.org/terser/-/terser-4.5.1.tgz",
-          "integrity": "sha512-lH9zLIbX8PRBEFCTvfHGCy0s9HEKnNso1Dx9swSopF3VUnFLB8DpQ61tHxoofovNC/sG0spajJM3EIIRSTByiQ==",
+          "version": "4.6.10",
+          "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz",
+          "integrity": "sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==",
           "dev": true,
           "requires": {
             "commander": "^2.20.0",
@@ -265,180 +193,217 @@
             }
           }
         },
-        "upath": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-          "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
           "dev": true
-        },
-        "webpack-dev-server": {
-          "version": "3.9.0",
-          "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.9.0.tgz",
-          "integrity": "sha512-E6uQ4kRrTX9URN9s/lIbqTAztwEPdvzVrcmHE8EQ9YnuT9J8Es5Wrd8n9BKg1a0oZ5EgEke/EQFgUsp18dSTBw==",
-          "dev": true,
-          "requires": {
-            "ansi-html": "0.0.7",
-            "bonjour": "^3.5.0",
-            "chokidar": "^2.1.8",
-            "compression": "^1.7.4",
-            "connect-history-api-fallback": "^1.6.0",
-            "debug": "^4.1.1",
-            "del": "^4.1.1",
-            "express": "^4.17.1",
-            "html-entities": "^1.2.1",
-            "http-proxy-middleware": "0.19.1",
-            "import-local": "^2.0.0",
-            "internal-ip": "^4.3.0",
-            "ip": "^1.1.5",
-            "is-absolute-url": "^3.0.3",
-            "killable": "^1.0.1",
-            "loglevel": "^1.6.4",
-            "opn": "^5.5.0",
-            "p-retry": "^3.0.1",
-            "portfinder": "^1.0.25",
-            "schema-utils": "^1.0.0",
-            "selfsigned": "^1.10.7",
-            "semver": "^6.3.0",
-            "serve-index": "^1.9.1",
-            "sockjs": "0.3.19",
-            "sockjs-client": "1.4.0",
-            "spdy": "^4.0.1",
-            "strip-ansi": "^3.0.1",
-            "supports-color": "^6.1.0",
-            "url": "^0.11.0",
-            "webpack-dev-middleware": "^3.7.2",
-            "webpack-log": "^2.0.0",
-            "ws": "^6.2.1",
-            "yargs": "12.0.5"
-          }
-        },
-        "ws": {
-          "version": "6.2.1",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
-          "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
-          "dev": true,
-          "requires": {
-            "async-limiter": "~1.0.0"
-          }
         }
       }
     },
     "@angular-devkit/build-optimizer": {
-      "version": "0.900.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.900.7.tgz",
-      "integrity": "sha512-gxin2oPNMN+PYo82At2JP1Q+uxnvwyDFWA1Wl+Ufuc5zHGhjKqxdQjkdMF7OT0ihtmkllN+t/NTB7rcx/Sx9Wg==",
+      "version": "0.901.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.7.tgz",
+      "integrity": "sha512-Xuce3StdxhcgLYb0BAaFGr3Bzj5EM2OsAqIT15PkikWY1k5cK50vPxoC/BkX4QDL9eXSHtqAfMBfA6h5N422vw==",
       "dev": true,
       "requires": {
-        "loader-utils": "1.2.3",
+        "loader-utils": "2.0.0",
         "source-map": "0.7.3",
-        "tslib": "1.10.0",
-        "typescript": "3.6.4",
+        "tslib": "1.11.1",
+        "typescript": "3.6.5",
         "webpack-sources": "1.4.3"
       },
       "dependencies": {
         "tslib": {
-          "version": "1.10.0",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz",
-          "integrity": "sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==",
+          "version": "1.11.1",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
+          "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==",
           "dev": true
         },
         "typescript": {
-          "version": "3.6.4",
-          "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz",
-          "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==",
+          "version": "3.6.5",
+          "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.5.tgz",
+          "integrity": "sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ==",
           "dev": true
         }
       }
     },
     "@angular-devkit/build-webpack": {
-      "version": "0.900.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.900.7.tgz",
-      "integrity": "sha512-Nwwqjo1ZpHFLavN+nXOmuBgGjhoMBZGelDCvHtiQlQ9N6i7k9cKnP7eU5pY7jbalBguS+gWg5wJIGnbqk1K9Rg==",
+      "version": "0.901.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.7.tgz",
+      "integrity": "sha512-pTLW5Eqy9cHgv78LKiH0e30lxqKzUPjh1djvNtFsEemOHsfKQdAfjLjikoaQvqMoBKVaUU7r2vmyyS17cH+1yw==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.900.7",
-        "@angular-devkit/core": "9.0.7",
-        "rxjs": "6.5.3"
+        "@angular-devkit/architect": "0.901.7",
+        "@angular-devkit/core": "9.1.7",
+        "rxjs": "6.5.4"
       },
       "dependencies": {
         "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "version": "6.5.4",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
+        },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
         }
       }
     },
     "@angular-devkit/core": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.0.7.tgz",
-      "integrity": "sha512-tMrz36sM1xrwvFf9Qm59GwALscVlMP7rQBjtd0fIR/QbsiOAIX4AQbV+vN6Vtwnzo5NIRZY1IXJUhesWms+h5w==",
+      "version": "9.1.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
+      "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
       "dev": true,
       "requires": {
-        "ajv": "6.10.2",
-        "fast-json-stable-stringify": "2.0.0",
-        "magic-string": "0.25.4",
-        "rxjs": "6.5.3",
+        "ajv": "6.12.0",
+        "fast-json-stable-stringify": "2.1.0",
+        "magic-string": "0.25.7",
+        "rxjs": "6.5.4",
         "source-map": "0.7.3"
       },
       "dependencies": {
         "ajv": {
-          "version": "6.10.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
-          "integrity": "sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==",
+          "version": "6.12.0",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
+          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
           "dev": true,
           "requires": {
-            "fast-deep-equal": "^2.0.1",
+            "fast-deep-equal": "^3.1.1",
             "fast-json-stable-stringify": "^2.0.0",
             "json-schema-traverse": "^0.4.1",
             "uri-js": "^4.2.2"
           }
         },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "fast-json-stable-stringify": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+          "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+          "dev": true
+        },
+        "magic-string": {
+          "version": "0.25.7",
+          "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+          "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+          "dev": true,
+          "requires": {
+            "sourcemap-codec": "^1.4.4"
+          }
+        },
         "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "version": "6.5.4",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
+        },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
         }
       }
     },
     "@angular-devkit/schematics": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.0.7.tgz",
-      "integrity": "sha512-ryPC+l24f3gX5DFMTLkDM/q2Kp6LPzBn6400k7j4qVdb1cIrZx+JUQd7F4iAksTTkX15EQPanptQXeztUrl9Ng==",
+      "version": "9.1.7",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.7.tgz",
+      "integrity": "sha512-oeHPJePBcPp/bd94jHQeFUnft93PGF5iJiKV9szxqS8WWC5OMZ5eK7icRY0PwvLyfenspAZxdZcNaqJqPMul5A==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.7",
-        "ora": "4.0.2",
-        "rxjs": "6.5.3"
+        "@angular-devkit/core": "9.1.7",
+        "ora": "4.0.3",
+        "rxjs": "6.5.4"
       },
       "dependencies": {
+        "@angular-devkit/core": {
+          "version": "9.1.7",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
+          "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
+          "dev": true,
+          "requires": {
+            "ajv": "6.12.0",
+            "fast-json-stable-stringify": "2.1.0",
+            "magic-string": "0.25.7",
+            "rxjs": "6.5.4",
+            "source-map": "0.7.3"
+          }
+        },
+        "ajv": {
+          "version": "6.12.0",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
+          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "fast-json-stable-stringify": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+          "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+          "dev": true
+        },
+        "magic-string": {
+          "version": "0.25.7",
+          "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+          "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+          "dev": true,
+          "requires": {
+            "sourcemap-codec": "^1.4.4"
+          }
+        },
         "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "version": "6.5.4",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
+          },
+          "dependencies": {
+            "tslib": {
+              "version": "1.13.0",
+              "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+              "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+              "dev": true
+            }
           }
         }
       }
     },
     "@angular/animations": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.0.7.tgz",
-      "integrity": "sha512-74gY7onajmmnksy5E0/32bFv3B9NuWxV64kqD15YjGrh8AWe1BHt5enQI+rJ2tO8m2DKnwZsctis6k0Kcy+YKQ=="
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.9.tgz",
+      "integrity": "sha512-qWVi0TxmU6HeXAgEsfpQvFFygh+a0kH2kGe6bWij4XvG6dWfV3xZjlaFwSIYGk+yK4yL0+9+PAXH+ENfxNw+Cw=="
     },
     "@angular/cdk": {
-      "version": "9.1.3",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.1.3.tgz",
-      "integrity": "sha512-K6XJzfqP+PE0ahyBUYrnoW+3ocwDpPN3dE9a+XRtZ0vM4P/FElweWj5zjNwWktb+uF9yal6oMPWXJNOAfonpPw==",
+      "version": "9.2.4",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.2.4.tgz",
+      "integrity": "sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ==",
       "requires": {
         "parse5": "^5.0.0"
       },
@@ -452,33 +417,106 @@
       }
     },
     "@angular/cli": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.0.7.tgz",
-      "integrity": "sha512-/9CUNSSVyTtTNUADZ/VXJDEdhineMN/rfd35w6VsHiob49tKkeOTggaoiSne3RY4VCTqlo7GGf4KhhVXEMGnDQ==",
+      "version": "9.1.7",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.7.tgz",
+      "integrity": "sha512-NhsIa725S/U/n7nDxp6ForusdYHEXF4aSIvsFRdoK6vbQ889c5e1Rdj+T5EWXLmpQZxeprSKhLI2alNX0nVhhQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.900.7",
-        "@angular-devkit/core": "9.0.7",
-        "@angular-devkit/schematics": "9.0.7",
-        "@schematics/angular": "9.0.7",
-        "@schematics/update": "0.900.7",
+        "@angular-devkit/architect": "0.901.7",
+        "@angular-devkit/core": "9.1.7",
+        "@angular-devkit/schematics": "9.1.7",
+        "@schematics/angular": "9.1.7",
+        "@schematics/update": "0.901.7",
         "@yarnpkg/lockfile": "1.1.0",
         "ansi-colors": "4.1.1",
-        "debug": "^4.1.1",
+        "debug": "4.1.1",
         "ini": "1.3.5",
-        "inquirer": "7.0.0",
-        "npm-package-arg": "6.1.1",
-        "npm-pick-manifest": "3.0.2",
-        "open": "7.0.0",
-        "pacote": "9.5.8",
+        "inquirer": "7.1.0",
+        "npm-package-arg": "8.0.1",
+        "npm-pick-manifest": "6.0.0",
+        "open": "7.0.3",
+        "pacote": "9.5.12",
         "read-package-tree": "5.3.1",
-        "rimraf": "3.0.0",
-        "semver": "6.3.0",
+        "rimraf": "3.0.2",
+        "semver": "7.1.3",
         "symbol-observable": "1.2.0",
-        "universal-analytics": "^0.4.20",
-        "uuid": "^3.3.2"
+        "universal-analytics": "0.4.20",
+        "uuid": "7.0.2"
       },
       "dependencies": {
+        "@angular-devkit/architect": {
+          "version": "0.901.7",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.7.tgz",
+          "integrity": "sha512-yW/PUEqle55QihOFbmeNXaVTodhfeXkteoFDUpz+YpX3xiQDXDtNbIJSzKOQTojtBKdSMKMvZkQLr+RAa7/1EA==",
+          "dev": true,
+          "requires": {
+            "@angular-devkit/core": "9.1.7",
+            "rxjs": "6.5.4"
+          },
+          "dependencies": {
+            "rxjs": {
+              "version": "6.5.4",
+              "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+              "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+              "dev": true,
+              "requires": {
+                "tslib": "^1.9.0"
+              },
+              "dependencies": {
+                "tslib": {
+                  "version": "1.13.0",
+                  "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+                  "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+                  "dev": true
+                }
+              }
+            }
+          }
+        },
+        "@angular-devkit/core": {
+          "version": "9.1.7",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
+          "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
+          "dev": true,
+          "requires": {
+            "ajv": "6.12.0",
+            "fast-json-stable-stringify": "2.1.0",
+            "magic-string": "0.25.7",
+            "rxjs": "6.5.4",
+            "source-map": "0.7.3"
+          },
+          "dependencies": {
+            "rxjs": {
+              "version": "6.5.4",
+              "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+              "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+              "dev": true,
+              "requires": {
+                "tslib": "^1.9.0"
+              },
+              "dependencies": {
+                "tslib": {
+                  "version": "1.13.0",
+                  "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+                  "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+                  "dev": true
+                }
+              }
+            }
+          }
+        },
+        "ajv": {
+          "version": "6.12.0",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
+          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
         "ansi-colors": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -497,19 +535,19 @@
       }
     },
     "@angular/common": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.0.7.tgz",
-      "integrity": "sha512-B58YgxZva1DBaeayOBsaUOOkoyR+GRibuNC3gfOMm2vXeW9eCNX+jvDtw767GnKm2yGzIq8wB3x6GHojN00dPw=="
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.9.tgz",
+      "integrity": "sha512-y/tJtkuOJhV2kcaXZyrLZH84i4uQ1r+vaaEHvXj+JZYfYfcMMd/TDqMiPcIkUb3RxqghtZ+q0ZNW5D1Nlru3Pw=="
     },
     "@angular/compiler": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.7.tgz",
-      "integrity": "sha512-hFpkuGpzxpK5h59LHHAjTFWsY6DCXZwgJFqvCuTPxWi/srvLGZRXrpC6Z1SlgHI9xxXaPfoa4uWw2VfA3BnqEg=="
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.9.tgz",
+      "integrity": "sha512-kjFgaTB2ckr9lgmkS1dOGRT7kmzpQueydxsxXSHWgICNVE6F/u1PHyeSOyJRpxW0GnrkLq3QM2EUFnQGGga5bg=="
     },
     "@angular/compiler-cli": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.0.7.tgz",
-      "integrity": "sha512-+RXghex63v0Vi8vpQtDpWiqpAAnrTaN3bHT5fntRenq5+Ok5vL1MJ1mzbTmBXs2tuwTqNlwMm2AlZB7G/xcDMQ==",
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.9.tgz",
+      "integrity": "sha512-aLr2eaDlREN8XybgTbelvjtSZ8eAkxBPilnkddc700BgiC6ImyUSKaItOwa8bnjQwq4Wlz5eVG0ibsrX+5MXwg==",
       "dev": true,
       "requires": {
         "canonical-path": "1.0.0",
@@ -523,69 +561,53 @@
         "semver": "^6.3.0",
         "source-map": "^0.6.1",
         "sourcemap-codec": "^1.4.8",
-        "yargs": "13.1.0"
+        "yargs": "15.3.0"
       },
       "dependencies": {
         "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
           "dev": true
         },
-        "anymatch": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
-          "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+          "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
           "dev": true,
           "requires": {
-            "normalize-path": "^3.0.0",
-            "picomatch": "^2.0.4"
+            "@types/color-name": "^1.1.1",
+            "color-convert": "^2.0.1"
           }
         },
-        "binary-extensions": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
-          "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
-          "dev": true
-        },
-        "braces": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+        "cliui": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+          "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
           "dev": true,
           "requires": {
-            "fill-range": "^7.0.1"
+            "string-width": "^4.2.0",
+            "strip-ansi": "^6.0.0",
+            "wrap-ansi": "^6.2.0"
           }
         },
-        "chokidar": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
-          "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
-          "dev": true,
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
           "requires": {
-            "anymatch": "~3.1.1",
-            "braces": "~3.0.2",
-            "fsevents": "~2.1.2",
-            "glob-parent": "~5.1.0",
-            "is-binary-path": "~2.1.0",
-            "is-glob": "~4.0.1",
-            "normalize-path": "~3.0.0",
-            "readdirp": "~3.3.0"
+            "color-name": "~1.1.4"
           }
         },
-        "emoji-regex": {
-          "version": "7.0.3",
-          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
-          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
-          "dev": true
-        },
-        "fill-range": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
           "dev": true,
           "requires": {
-            "to-regex-range": "^5.0.1"
+            "locate-path": "^5.0.0",
+            "path-exists": "^4.0.0"
           }
         },
         "fs-extra": {
@@ -599,73 +621,48 @@
             "universalify": "^0.1.0"
           }
         },
-        "fsevents": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
-          "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
-          "dev": true,
-          "optional": true
-        },
         "get-caller-file": {
           "version": "2.0.5",
           "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
           "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
           "dev": true
         },
-        "glob-parent": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
-          "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
-          "dev": true,
-          "requires": {
-            "is-glob": "^4.0.1"
-          }
-        },
-        "is-binary-path": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-          "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-          "dev": true,
-          "requires": {
-            "binary-extensions": "^2.0.0"
-          }
+        "is-fullwidth-code-point": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+          "dev": true
         },
-        "is-glob": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-          "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+        "locate-path": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
           "dev": true,
           "requires": {
-            "is-extglob": "^2.1.1"
+            "p-locate": "^4.1.0"
           }
         },
-        "is-number": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-          "dev": true
-        },
         "minimist": {
           "version": "1.2.5",
           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-          "dev": true
-        },
-        "readdirp": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
-          "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
           "dev": true,
           "requires": {
-            "picomatch": "^2.0.7"
+            "p-limit": "^2.2.0"
           }
         },
+        "path-exists": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+          "dev": true
+        },
         "require-main-filename": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
@@ -685,57 +682,59 @@
           "dev": true
         },
         "string-width": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
-          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
           "dev": true,
           "requires": {
-            "emoji-regex": "^7.0.1",
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^5.1.0"
+            "emoji-regex": "^8.0.0",
+            "is-fullwidth-code-point": "^3.0.0",
+            "strip-ansi": "^6.0.0"
           }
         },
         "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
           "dev": true,
           "requires": {
-            "ansi-regex": "^4.1.0"
+            "ansi-regex": "^5.0.0"
           }
         },
-        "to-regex-range": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+        "wrap-ansi": {
+          "version": "6.2.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+          "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
           "dev": true,
           "requires": {
-            "is-number": "^7.0.0"
+            "ansi-styles": "^4.0.0",
+            "string-width": "^4.1.0",
+            "strip-ansi": "^6.0.0"
           }
         },
         "yargs": {
-          "version": "13.1.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.1.0.tgz",
-          "integrity": "sha512-1UhJbXfzHiPqkfXNHYhiz79qM/kZqjTE8yGlEjZa85Q+3+OwcV6NRkV7XOV1W2Eom2bzILeUn55pQYffjVOLAg==",
+          "version": "15.3.0",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz",
+          "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==",
           "dev": true,
           "requires": {
-            "cliui": "^4.0.0",
-            "find-up": "^3.0.0",
+            "cliui": "^6.0.0",
+            "decamelize": "^1.2.0",
+            "find-up": "^4.1.0",
             "get-caller-file": "^2.0.1",
-            "os-locale": "^3.1.0",
             "require-directory": "^2.1.1",
             "require-main-filename": "^2.0.0",
             "set-blocking": "^2.0.0",
-            "string-width": "^3.0.0",
+            "string-width": "^4.2.0",
             "which-module": "^2.0.0",
             "y18n": "^4.0.0",
-            "yargs-parser": "^13.0.0"
+            "yargs-parser": "^18.1.0"
           }
         },
         "yargs-parser": {
-          "version": "13.1.2",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
-          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+          "version": "18.1.3",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
           "dev": true,
           "requires": {
             "camelcase": "^5.0.0",
@@ -745,45 +744,45 @@
       }
     },
     "@angular/core": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.7.tgz",
-      "integrity": "sha512-E9XZH5Dl+9MWG3MDC6wrKllhA8Rljpz66HOIeqKv2fHPed8kzuJZU3WJWLtbhDAXFwtGTyTZ4c82ZLSmqwTorg=="
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.9.tgz",
+      "integrity": "sha512-q/DERgVU6vK2LtTcdVCGGBcoO424WsEfImh3Vcuy+P/ZVmthlDUC/+q+tSKt8MMf4hLpxFDQJE8vUSkktj7QEw=="
     },
     "@angular/flex-layout": {
-      "version": "9.0.0-beta.29",
-      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.29.tgz",
-      "integrity": "sha512-93sxR+kYfYMOdnlWL0Q77FZ428gg8XnBu0YZm6GsCdkw/vLggIT/G1ZAqHlCPIODt6pxmCJ5KXh4ShvniIYDsA=="
+      "version": "9.0.0-beta.31",
+      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.31.tgz",
+      "integrity": "sha512-g94u2mecDl87ORvFRuOBshV/S/ETE4bybClU2e1xXKWNG+rhRHchChneHSonc29ZLyROTjHhmAtKOYojL92uLA=="
     },
     "@angular/forms": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.0.7.tgz",
-      "integrity": "sha512-PaHAmjMJDtg/3aGCPuq5BCRC1eZ/DBCpva9f7NrA1kqk0LcLdebm0v2uHwTOBtiz/VEgPvxiS4tXC4rjvUtfEg=="
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.9.tgz",
+      "integrity": "sha512-r675yImnb/0pY7K5W3V2ITa7YETu1I2AS+bRfII6UQ6gthyeFFOHb5noa7YneC2yqQiM6E4DQmF5ig3daPuFNg=="
     },
     "@angular/language-service": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.0.7.tgz",
-      "integrity": "sha512-IZG1kvw48JyFRy7bfMHqBixWrEHZmXmkP5DWsi5Tw6KusaczkMghI20BevCkodPcajXWHAUHNKyp1tlE3OnH0w==",
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.9.tgz",
+      "integrity": "sha512-yT6HPpdAe2mD9HRoTCiWFog1MRJt+0j+CLbI/Ql7C6pH6vbjmfsJ55xMmQ7eS6trsnebpMWTUv1f2GRykv3ygw==",
       "dev": true
     },
     "@angular/material": {
-      "version": "9.1.3",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.1.3.tgz",
-      "integrity": "sha512-tRdd5+z9XwsbN+4WCuH3goyEjqw1Q6vKeURCdas8bh5AVOrCt8pcFlj3yA3P/u4fdhfTeFc67PJRz8Zm0n3moQ=="
+      "version": "9.2.4",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.2.4.tgz",
+      "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA=="
     },
     "@angular/platform-browser": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.0.7.tgz",
-      "integrity": "sha512-Por8omrEiSV2U/K2mm/Kuv+2R2rJkbAZ3ctEM6CWj9Y4Gz2akjOCxmEgWhhBeqdigcC3T1v707f52osf9jWBkg=="
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.9.tgz",
+      "integrity": "sha512-V861X3MxJp1AlMTnkUPldpBLIJbApXF3ka0A5Dq2nVJCyOFeteGkaRWSBgqe2jxmq+LVpJbzcNvtDFXw6mQ0jA=="
     },
     "@angular/platform-browser-dynamic": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.0.7.tgz",
-      "integrity": "sha512-jwpyd93ofcRtchbayKD5v4GN4Lc7vbPe6dMUiwfnVnVAql0bOD/3YRI7w5qJ0Xx0sgQT+9Xo6jTXYnyUsZpEww=="
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.9.tgz",
+      "integrity": "sha512-b9MG5MWne+IuL3uLm8jwPhlJzqYaGBGk/qibOqb17T24j1iyrlO7T5bZ8zO6pUy5iT/TahVfHPnPJC1qTK5OmA=="
     },
     "@angular/router": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.0.7.tgz",
-      "integrity": "sha512-uKru9F/Zju//gg6INl54abnlpLdEUUO/GpCfMk4zqu8LCZGNFta6OY7VT+9DK9Vdrh/XUD70oE9WoelcRwwTYA=="
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.9.tgz",
+      "integrity": "sha512-4u+CWMPB4hCkAsFCEzC94YEWT0wVozqGkc/Dortt2hFaqvZpIegg6iJVZlDxuyDjzFYBPnnbTDdgiTTA8ckfuA=="
     },
     "@babel/code-frame": {
       "version": "7.5.5",
@@ -794,147 +793,61 @@
         "@babel/highlight": "^7.0.0"
       }
     },
+    "@babel/compat-data": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz",
+      "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==",
+      "dev": true,
+      "requires": {
+        "browserslist": "^4.12.0",
+        "invariant": "^2.2.4",
+        "semver": "^5.5.0"
+      }
+    },
     "@babel/core": {
-      "version": "7.7.7",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.7.7.tgz",
-      "integrity": "sha512-jlSjuj/7z138NLZALxVgrx13AOtqip42ATZP7+kYl53GvDV6+4dCek1mVUo8z8c8Xnw/mx2q3d9HWh3griuesQ==",
-      "dev": true,
-      "requires": {
-        "@babel/code-frame": "^7.5.5",
-        "@babel/generator": "^7.7.7",
-        "@babel/helpers": "^7.7.4",
-        "@babel/parser": "^7.7.7",
-        "@babel/template": "^7.7.4",
-        "@babel/traverse": "^7.7.4",
-        "@babel/types": "^7.7.4",
+      "version": "7.9.0",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz",
+      "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==",
+      "dev": true,
+      "requires": {
+        "@babel/code-frame": "^7.8.3",
+        "@babel/generator": "^7.9.0",
+        "@babel/helper-module-transforms": "^7.9.0",
+        "@babel/helpers": "^7.9.0",
+        "@babel/parser": "^7.9.0",
+        "@babel/template": "^7.8.6",
+        "@babel/traverse": "^7.9.0",
+        "@babel/types": "^7.9.0",
         "convert-source-map": "^1.7.0",
         "debug": "^4.1.0",
-        "json5": "^2.1.0",
+        "gensync": "^1.0.0-beta.1",
+        "json5": "^2.1.2",
         "lodash": "^4.17.13",
         "resolve": "^1.3.2",
         "semver": "^5.4.1",
         "source-map": "^0.5.0"
       },
       "dependencies": {
-        "@babel/generator": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
-          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13",
-            "source-map": "^0.5.0"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+        "@babel/code-frame": {
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
+          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
           "dev": true,
           "requires": {
-            "@babel/types": "^7.8.3"
+            "@babel/highlight": "^7.10.1"
           }
         },
         "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
+          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
           "dev": true,
           "requires": {
+            "@babel/helper-validator-identifier": "^7.10.1",
             "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
             "js-tokens": "^4.0.0"
           }
         },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          },
-          "dependencies": {
-            "@babel/code-frame": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-              "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-              "dev": true,
-              "requires": {
-                "@babel/highlight": "^7.8.3"
-              }
-            }
-          }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
-          },
-          "dependencies": {
-            "@babel/code-frame": {
-              "version": "7.8.3",
-              "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-              "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-              "dev": true,
-              "requires": {
-                "@babel/highlight": "^7.8.3"
-              }
-            }
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
         "convert-source-map": {
           "version": "1.7.0",
           "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
@@ -953,21 +866,6 @@
             "ms": "^2.1.1"
           }
         },
-        "json5": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.2.tgz",
-          "integrity": "sha512-MoUOQ4WdiN3yxhm7NEVJSJrieAo5hNSLQ5sj05OTRHPL9HOBy8u4Bu88jsC1jvqAdN+E1bJmsUcZH+1HQxliqQ==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.5"
-          }
-        },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -983,16 +881,15 @@
       }
     },
     "@babel/generator": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.5.tgz",
-      "integrity": "sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ==",
+      "version": "7.9.3",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.3.tgz",
+      "integrity": "sha512-RpxM252EYsz9qLUIq6F7YJyK1sv0wWDBFuztfDGWaQKzHjqDHysxSiRUpA/X9jmfqo+WzkAVKFaUily5h+gDCQ==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.5.5",
+        "@babel/types": "^7.9.0",
         "jsesc": "^2.5.1",
         "lodash": "^4.17.13",
-        "source-map": "^0.5.0",
-        "trim-right": "^1.0.1"
+        "source-map": "^0.5.0"
       },
       "dependencies": {
         "jsesc": {
@@ -1029,1285 +926,423 @@
       }
     },
     "@babel/helper-annotate-as-pure": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz",
-      "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz",
+      "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
+        "@babel/types": "^7.10.1"
       }
     },
     "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz",
-      "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz",
+      "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==",
       "dev": true,
       "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.8.3",
-        "@babel/types": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
+        "@babel/helper-explode-assignable-expression": "^7.10.1",
+        "@babel/types": "^7.10.1"
       }
     },
-    "@babel/helper-call-delegate": {
-      "version": "7.8.7",
-      "resolved": "https://registry.npmjs.org/@babel/helper-call-delegate/-/helper-call-delegate-7.8.7.tgz",
-      "integrity": "sha512-doAA5LAKhsFCR0LAFIf+r2RSMmC+m8f/oQ+URnUET/rWeEzC0yTRmAGyWkD4sSu3xwbS7MYQ2u+xlt1V5R56KQ==",
+    "@babel/helper-compilation-targets": {
+      "version": "7.10.2",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz",
+      "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==",
       "dev": true,
       "requires": {
-        "@babel/helper-hoist-variables": "^7.8.3",
-        "@babel/traverse": "^7.8.3",
-        "@babel/types": "^7.8.7"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
-          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13",
-            "source-map": "^0.5.0"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
+        "@babel/compat-data": "^7.10.1",
+        "browserslist": "^4.12.0",
+        "invariant": "^2.2.4",
+        "levenary": "^1.1.1",
+        "semver": "^5.5.0"
       }
     },
     "@babel/helper-create-regexp-features-plugin": {
-      "version": "7.8.8",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz",
-      "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz",
+      "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.8.3",
-        "@babel/helper-regex": "^7.8.3",
+        "@babel/helper-annotate-as-pure": "^7.10.1",
+        "@babel/helper-regex": "^7.10.1",
         "regexpu-core": "^4.7.0"
-      },
-      "dependencies": {
-        "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
-          "dev": true
-        },
-        "regexpu-core": {
-          "version": "4.7.0",
-          "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
-          "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
-          "dev": true,
-          "requires": {
-            "regenerate": "^1.4.0",
-            "regenerate-unicode-properties": "^8.2.0",
-            "regjsgen": "^0.5.1",
-            "regjsparser": "^0.6.4",
-            "unicode-match-property-ecmascript": "^1.0.4",
-            "unicode-match-property-value-ecmascript": "^1.2.0"
-          }
-        },
-        "regjsgen": {
-          "version": "0.5.1",
-          "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz",
-          "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==",
-          "dev": true
-        },
-        "regjsparser": {
-          "version": "0.6.4",
-          "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
-          "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
-          "dev": true,
-          "requires": {
-            "jsesc": "~0.5.0"
-          }
-        }
       }
     },
     "@babel/helper-define-map": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz",
-      "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz",
+      "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.8.3",
-        "@babel/types": "^7.8.3",
+        "@babel/helper-function-name": "^7.10.1",
+        "@babel/types": "^7.10.1",
         "lodash": "^4.17.13"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
       }
     },
     "@babel/helper-explode-assignable-expression": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz",
-      "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz",
+      "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==",
       "dev": true,
       "requires": {
-        "@babel/traverse": "^7.8.3",
-        "@babel/types": "^7.8.3"
+        "@babel/traverse": "^7.10.1",
+        "@babel/types": "^7.10.1"
+      }
+    },
+    "@babel/helper-function-name": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz",
+      "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-get-function-arity": "^7.10.1",
+        "@babel/template": "^7.10.1",
+        "@babel/types": "^7.10.1"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
+          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
-          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13",
-            "source-map": "^0.5.0"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
+            "@babel/highlight": "^7.10.1"
           }
         },
         "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
+          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
           "dev": true,
           "requires": {
+            "@babel/helper-validator-identifier": "^7.10.1",
             "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
             "js-tokens": "^4.0.0"
           }
         },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
         "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
+          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
+            "@babel/code-frame": "^7.10.1",
+            "@babel/parser": "^7.10.1",
+            "@babel/types": "^7.10.1"
           }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
         }
       }
     },
-    "@babel/helper-function-name": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz",
-      "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-get-function-arity": "^7.0.0",
-        "@babel/template": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
     "@babel/helper-get-function-arity": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz",
-      "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz",
+      "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.0.0"
+        "@babel/types": "^7.10.1"
       }
     },
     "@babel/helper-hoist-variables": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz",
-      "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz",
+      "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
+        "@babel/types": "^7.10.1"
       }
     },
     "@babel/helper-member-expression-to-functions": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz",
-      "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz",
+      "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
+        "@babel/types": "^7.10.1"
       }
     },
     "@babel/helper-module-imports": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz",
-      "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz",
+      "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
+        "@babel/types": "^7.10.1"
       }
     },
     "@babel/helper-module-transforms": {
-      "version": "7.8.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.8.6.tgz",
-      "integrity": "sha512-RDnGJSR5EFBJjG3deY0NiL0K9TO8SXxS9n/MPsbPK/s9LbQymuLNtlzvDiNS7IpecuL45cMeLVkA+HfmlrnkRg==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz",
+      "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "^7.8.3",
-        "@babel/helper-replace-supers": "^7.8.6",
-        "@babel/helper-simple-access": "^7.8.3",
-        "@babel/helper-split-export-declaration": "^7.8.3",
-        "@babel/template": "^7.8.6",
-        "@babel/types": "^7.8.6",
+        "@babel/helper-module-imports": "^7.10.1",
+        "@babel/helper-replace-supers": "^7.10.1",
+        "@babel/helper-simple-access": "^7.10.1",
+        "@babel/helper-split-export-declaration": "^7.10.1",
+        "@babel/template": "^7.10.1",
+        "@babel/types": "^7.10.1",
         "lodash": "^4.17.13"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
+          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
           "dev": true,
           "requires": {
-            "@babel/types": "^7.8.3"
+            "@babel/highlight": "^7.10.1"
           }
         },
         "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
+          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
           "dev": true,
           "requires": {
+            "@babel/helper-validator-identifier": "^7.10.1",
             "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
             "js-tokens": "^4.0.0"
           }
         },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
         "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
+          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
+            "@babel/code-frame": "^7.10.1",
+            "@babel/parser": "^7.10.1",
+            "@babel/types": "^7.10.1"
           }
         }
       }
     },
     "@babel/helper-optimise-call-expression": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz",
-      "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
-      }
-    },
-    "@babel/helper-plugin-utils": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz",
-      "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==",
-      "dev": true
-    },
-    "@babel/helper-regex": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz",
-      "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==",
-      "dev": true,
-      "requires": {
-        "lodash": "^4.17.13"
-      }
-    },
-    "@babel/helper-remap-async-to-generator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz",
-      "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.8.3",
-        "@babel/helper-wrap-function": "^7.8.3",
-        "@babel/template": "^7.8.3",
-        "@babel/traverse": "^7.8.3",
-        "@babel/types": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
-          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13",
-            "source-map": "^0.5.0"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
-      }
-    },
-    "@babel/helper-replace-supers": {
-      "version": "7.8.6",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.8.6.tgz",
-      "integrity": "sha512-PeMArdA4Sv/Wf4zXwBKPqVj7n9UF/xg6slNRtZW84FM7JpE1CbG8B612FyM4cxrf4fMAMGO0kR7voy1ForHHFA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.8.3",
-        "@babel/helper-optimise-call-expression": "^7.8.3",
-        "@babel/traverse": "^7.8.6",
-        "@babel/types": "^7.8.6"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
-          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13",
-            "source-map": "^0.5.0"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
-        }
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz",
+      "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.10.1"
       }
     },
-    "@babel/helper-simple-access": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz",
-      "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==",
+    "@babel/helper-plugin-utils": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz",
+      "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==",
+      "dev": true
+    },
+    "@babel/helper-regex": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz",
+      "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.8.3",
-        "@babel/types": "^7.8.3"
+        "lodash": "^4.17.13"
+      }
+    },
+    "@babel/helper-remap-async-to-generator": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz",
+      "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.10.1",
+        "@babel/helper-wrap-function": "^7.10.1",
+        "@babel/template": "^7.10.1",
+        "@babel/traverse": "^7.10.1",
+        "@babel/types": "^7.10.1"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
+          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.8.3"
+            "@babel/highlight": "^7.10.1"
           }
         },
         "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
+          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
           "dev": true,
           "requires": {
+            "@babel/helper-validator-identifier": "^7.10.1",
             "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
             "js-tokens": "^4.0.0"
           }
         },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
         "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
+          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
           "dev": true,
           "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
+            "@babel/code-frame": "^7.10.1",
+            "@babel/parser": "^7.10.1",
+            "@babel/types": "^7.10.1"
           }
         }
       }
     },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz",
-      "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==",
+    "@babel/helper-replace-supers": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz",
+      "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.4.4"
+        "@babel/helper-member-expression-to-functions": "^7.10.1",
+        "@babel/helper-optimise-call-expression": "^7.10.1",
+        "@babel/traverse": "^7.10.1",
+        "@babel/types": "^7.10.1"
       }
     },
-    "@babel/helper-wrap-function": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz",
-      "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==",
+    "@babel/helper-simple-access": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz",
+      "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.8.3",
-        "@babel/template": "^7.8.3",
-        "@babel/traverse": "^7.8.3",
-        "@babel/types": "^7.8.3"
+        "@babel/template": "^7.10.1",
+        "@babel/types": "^7.10.1"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
-          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13",
-            "source-map": "^0.5.0"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
+          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
           "dev": true,
           "requires": {
-            "@babel/types": "^7.8.3"
+            "@babel/highlight": "^7.10.1"
           }
         },
         "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
+          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
           "dev": true,
           "requires": {
+            "@babel/helper-validator-identifier": "^7.10.1",
             "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
             "js-tokens": "^4.0.0"
           }
         },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
         "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
+          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
+            "@babel/code-frame": "^7.10.1",
+            "@babel/parser": "^7.10.1",
+            "@babel/types": "^7.10.1"
           }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
+        }
+      }
+    },
+    "@babel/helper-split-export-declaration": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz",
+      "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==",
+      "dev": true,
+      "requires": {
+        "@babel/types": "^7.10.1"
+      }
+    },
+    "@babel/helper-validator-identifier": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz",
+      "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==",
+      "dev": true
+    },
+    "@babel/helper-wrap-function": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz",
+      "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-function-name": "^7.10.1",
+        "@babel/template": "^7.10.1",
+        "@babel/traverse": "^7.10.1",
+        "@babel/types": "^7.10.1"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
+          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
+            "@babel/highlight": "^7.10.1"
           }
         },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
+        "@babel/highlight": {
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
+          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
           "dev": true,
           "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
+            "@babel/helper-validator-identifier": "^7.10.1",
+            "chalk": "^2.0.0",
+            "js-tokens": "^4.0.0"
           }
         },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+        "@babel/template": {
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
+          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
           "dev": true,
           "requires": {
-            "ms": "^2.1.1"
+            "@babel/code-frame": "^7.10.1",
+            "@babel/parser": "^7.10.1",
+            "@babel/types": "^7.10.1"
           }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
         }
       }
     },
     "@babel/helpers": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.8.4.tgz",
-      "integrity": "sha512-VPbe7wcQ4chu4TDQjimHv/5tj73qz88o12EPkO2ValS2QiQS/1F2SsjyIGNnAD0vF/nZS6Cf9i+vW6HIlnaR8w==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz",
+      "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.8.3",
-        "@babel/traverse": "^7.8.4",
-        "@babel/types": "^7.8.3"
+        "@babel/template": "^7.10.1",
+        "@babel/traverse": "^7.10.1",
+        "@babel/types": "^7.10.1"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
-          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13",
-            "source-map": "^0.5.0"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
+          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
           "dev": true,
           "requires": {
-            "@babel/types": "^7.8.3"
+            "@babel/highlight": "^7.10.1"
           }
         },
         "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
+          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
           "dev": true,
           "requires": {
+            "@babel/helper-validator-identifier": "^7.10.1",
             "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
             "js-tokens": "^4.0.0"
           }
         },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
         "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
+          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
           "dev": true,
           "requires": {
-            "ms": "^2.1.1"
+            "@babel/code-frame": "^7.10.1",
+            "@babel/parser": "^7.10.1",
+            "@babel/types": "^7.10.1"
           }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
         }
       }
     },
@@ -2331,70 +1366,101 @@
       }
     },
     "@babel/parser": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.5.tgz",
-      "integrity": "sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g==",
+      "version": "7.10.2",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz",
+      "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==",
       "dev": true
     },
     "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz",
-      "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz",
+      "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "@babel/helper-remap-async-to-generator": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-remap-async-to-generator": "^7.10.1",
         "@babel/plugin-syntax-async-generators": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-dynamic-import": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz",
-      "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz",
+      "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.10.1",
         "@babel/plugin-syntax-dynamic-import": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-json-strings": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz",
-      "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz",
+      "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.10.1",
         "@babel/plugin-syntax-json-strings": "^7.8.0"
       }
     },
+    "@babel/plugin-proposal-nullish-coalescing-operator": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz",
+      "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
+      }
+    },
+    "@babel/plugin-proposal-numeric-separator": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz",
+      "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.1"
+      }
+    },
     "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha512-8qvuPwU/xxUCt78HocNlv0mXXo0wdh9VT1R04WU8HGOfaOob26pF+9P5/lYjN/q7DHOX1bvX60hnhOvuQUJdbA==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz",
+      "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.0"
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+        "@babel/plugin-transform-parameters": "^7.10.1"
       }
     },
     "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz",
+      "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.10.1",
         "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
       }
     },
+    "@babel/plugin-proposal-optional-chaining": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz",
+      "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.0"
+      }
+    },
     "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.8.8",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz",
-      "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz",
+      "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.8.8",
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-syntax-async-generators": {
@@ -2424,364 +1490,242 @@
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "@babel/plugin-syntax-object-rest-spread": {
+    "@babel/plugin-syntax-nullish-coalescing-operator": {
       "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
       "dev": true,
       "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+    "@babel/plugin-syntax-numeric-separator": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz",
+      "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
-    "@babel/plugin-syntax-top-level-await": {
+    "@babel/plugin-syntax-object-rest-spread": {
       "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz",
-      "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "@babel/plugin-transform-arrow-functions": {
+    "@babel/plugin-syntax-optional-catch-binding": {
       "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz",
-      "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "@babel/plugin-transform-async-to-generator": {
+    "@babel/plugin-syntax-optional-chaining": {
       "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz",
-      "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "@babel/helper-remap-async-to-generator": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz",
-      "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==",
+    "@babel/plugin-syntax-top-level-await": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz",
+      "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
-    "@babel/plugin-transform-block-scoping": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz",
-      "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==",
+    "@babel/plugin-transform-arrow-functions": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz",
+      "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "lodash": "^4.17.13"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
-    },
-    "@babel/plugin-transform-classes": {
-      "version": "7.8.6",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.8.6.tgz",
-      "integrity": "sha512-k9r8qRay/R6v5aWZkrEclEhKO6mc1CCQr2dLsVHBmOQiMpN6I2bpjX3vgnldUWeEI1GHVNByULVxZ4BdP4Hmdg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.8.3",
-        "@babel/helper-define-map": "^7.8.3",
-        "@babel/helper-function-name": "^7.8.3",
-        "@babel/helper-optimise-call-expression": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "@babel/helper-replace-supers": "^7.8.6",
-        "@babel/helper-split-export-declaration": "^7.8.3",
-        "globals": "^11.1.0"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
+    },
+    "@babel/plugin-transform-async-to-generator": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz",
+      "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-imports": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-remap-async-to-generator": "^7.10.1"
+      }
+    },
+    "@babel/plugin-transform-block-scoped-functions": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz",
+      "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.1"
+      }
+    },
+    "@babel/plugin-transform-block-scoping": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz",
+      "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "lodash": "^4.17.13"
+      }
+    },
+    "@babel/plugin-transform-classes": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz",
+      "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.10.1",
+        "@babel/helper-define-map": "^7.10.1",
+        "@babel/helper-function-name": "^7.10.1",
+        "@babel/helper-optimise-call-expression": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-replace-supers": "^7.10.1",
+        "@babel/helper-split-export-declaration": "^7.10.1",
+        "globals": "^11.1.0"
       }
     },
     "@babel/plugin-transform-computed-properties": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz",
-      "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz",
+      "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-destructuring": {
-      "version": "7.8.8",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.8.8.tgz",
-      "integrity": "sha512-eRJu4Vs2rmttFCdhPUM3bV0Yo/xPSdPw6ML9KHs/bjB4bLA5HXlbvYXPOD5yASodGod+krjYx21xm1QmL8dCJQ==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz",
+      "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-dotall-regex": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz",
-      "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz",
+      "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz",
-      "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz",
+      "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz",
-      "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz",
+      "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==",
       "dev": true,
       "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-for-of": {
-      "version": "7.8.6",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.8.6.tgz",
-      "integrity": "sha512-M0pw4/1/KI5WAxPsdcUL/w2LJ7o89YHN3yLkzNjg7Yl15GlVGgzHyCU+FMeAxevHGsLVmUqbirlUIKTafPmzdw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz",
+      "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-function-name": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz",
-      "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz",
+      "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
+        "@babel/helper-function-name": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-literals": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz",
-      "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz",
+      "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz",
-      "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz",
+      "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-modules-amd": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.8.3.tgz",
-      "integrity": "sha512-MadJiU3rLKclzT5kBH4yxdry96odTUwuqrZM+GllFI/VhxfPz+k9MshJM+MwhfkCdxxclSbSBbUGciBngR+kEQ==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz",
+      "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
+        "@babel/helper-module-transforms": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
     "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.8.3.tgz",
-      "integrity": "sha512-JpdMEfA15HZ/1gNuB9XEDlZM1h/gF/YOH7zaZzQu2xCFRfwc01NXBMHHSTT6hRjlXJJs5x/bfODM3LiCk94Sxg==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz",
+      "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "@babel/helper-simple-access": "^7.8.3",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
+        "@babel/helper-module-transforms": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-simple-access": "^7.10.1",
+        "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
     "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.8.3.tgz",
-      "integrity": "sha512-8cESMCJjmArMYqa9AO5YuMEkE4ds28tMpZcGZB/jl3n0ZzlsxOAi3mC+SKypTfT8gjMupCnd3YiXCkMjj2jfOg==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz",
+      "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==",
       "dev": true,
       "requires": {
-        "@babel/helper-hoist-variables": "^7.8.3",
-        "@babel/helper-module-transforms": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "babel-plugin-dynamic-import-node": "^2.3.0"
+        "@babel/helper-hoist-variables": "^7.10.1",
+        "@babel/helper-module-transforms": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
     "@babel/plugin-transform-modules-umd": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.8.3.tgz",
-      "integrity": "sha512-evhTyWhbwbI3/U6dZAnx/ePoV7H6OUG+OjiJFHmhr9FPn0VShjwC2kdxqIuQ/+1P50TMrneGzMeyMTFOjKSnAw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz",
+      "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-module-transforms": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-named-capturing-groups-regex": {
@@ -2794,126 +1738,103 @@
       }
     },
     "@babel/plugin-transform-new-target": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz",
-      "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz",
+      "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-object-super": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz",
-      "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz",
+      "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "@babel/helper-replace-supers": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-replace-supers": "^7.10.1"
       }
     },
     "@babel/plugin-transform-parameters": {
-      "version": "7.8.8",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.8.8.tgz",
-      "integrity": "sha512-hC4Ld/Ulpf1psQciWWwdnUspQoQco2bMzSrwU6TmzRlvoYQe4rQFy9vnCZDTlVeCQj0JPfL+1RX0V8hCJvkgBA==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz",
+      "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==",
       "dev": true,
       "requires": {
-        "@babel/helper-call-delegate": "^7.8.7",
-        "@babel/helper-get-function-arity": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3"
-      },
-      "dependencies": {
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
+        "@babel/helper-get-function-arity": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-property-literals": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz",
-      "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz",
+      "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-regenerator": {
-      "version": "7.8.7",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz",
-      "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz",
+      "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==",
       "dev": true,
       "requires": {
         "regenerator-transform": "^0.14.2"
       }
     },
     "@babel/plugin-transform-reserved-words": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz",
-      "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz",
+      "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz",
-      "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz",
+      "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz",
-      "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz",
+      "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-sticky-regex": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz",
-      "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz",
+      "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3",
-        "@babel/helper-regex": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-regex": "^7.10.1"
       }
     },
     "@babel/plugin-transform-template-literals": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz",
-      "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz",
+      "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-annotate-as-pure": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz",
-      "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz",
+      "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==",
       "dev": true,
       "requires": {
         "@babel/helper-create-regexp-features-plugin": "^7.8.3",
@@ -2921,91 +1842,101 @@
       }
     },
     "@babel/plugin-transform-unicode-regex": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz",
-      "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz",
+      "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/preset-env": {
-      "version": "7.7.7",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.7.7.tgz",
-      "integrity": "sha512-pCu0hrSSDVI7kCVUOdcMNQEbOPJ52E+LrQ14sN8uL2ALfSqePZQlKrOy+tM4uhEdYlCHi4imr8Zz2cZe9oSdIg==",
+      "version": "7.9.0",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz",
+      "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "^7.7.4",
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/plugin-proposal-async-generator-functions": "^7.7.4",
-        "@babel/plugin-proposal-dynamic-import": "^7.7.4",
-        "@babel/plugin-proposal-json-strings": "^7.7.4",
-        "@babel/plugin-proposal-object-rest-spread": "^7.7.7",
-        "@babel/plugin-proposal-optional-catch-binding": "^7.7.4",
-        "@babel/plugin-proposal-unicode-property-regex": "^7.7.7",
-        "@babel/plugin-syntax-async-generators": "^7.7.4",
-        "@babel/plugin-syntax-dynamic-import": "^7.7.4",
-        "@babel/plugin-syntax-json-strings": "^7.7.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.7.4",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.7.4",
-        "@babel/plugin-syntax-top-level-await": "^7.7.4",
-        "@babel/plugin-transform-arrow-functions": "^7.7.4",
-        "@babel/plugin-transform-async-to-generator": "^7.7.4",
-        "@babel/plugin-transform-block-scoped-functions": "^7.7.4",
-        "@babel/plugin-transform-block-scoping": "^7.7.4",
-        "@babel/plugin-transform-classes": "^7.7.4",
-        "@babel/plugin-transform-computed-properties": "^7.7.4",
-        "@babel/plugin-transform-destructuring": "^7.7.4",
-        "@babel/plugin-transform-dotall-regex": "^7.7.7",
-        "@babel/plugin-transform-duplicate-keys": "^7.7.4",
-        "@babel/plugin-transform-exponentiation-operator": "^7.7.4",
-        "@babel/plugin-transform-for-of": "^7.7.4",
-        "@babel/plugin-transform-function-name": "^7.7.4",
-        "@babel/plugin-transform-literals": "^7.7.4",
-        "@babel/plugin-transform-member-expression-literals": "^7.7.4",
-        "@babel/plugin-transform-modules-amd": "^7.7.5",
-        "@babel/plugin-transform-modules-commonjs": "^7.7.5",
-        "@babel/plugin-transform-modules-systemjs": "^7.7.4",
-        "@babel/plugin-transform-modules-umd": "^7.7.4",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.7.4",
-        "@babel/plugin-transform-new-target": "^7.7.4",
-        "@babel/plugin-transform-object-super": "^7.7.4",
-        "@babel/plugin-transform-parameters": "^7.7.7",
-        "@babel/plugin-transform-property-literals": "^7.7.4",
-        "@babel/plugin-transform-regenerator": "^7.7.5",
-        "@babel/plugin-transform-reserved-words": "^7.7.4",
-        "@babel/plugin-transform-shorthand-properties": "^7.7.4",
-        "@babel/plugin-transform-spread": "^7.7.4",
-        "@babel/plugin-transform-sticky-regex": "^7.7.4",
-        "@babel/plugin-transform-template-literals": "^7.7.4",
-        "@babel/plugin-transform-typeof-symbol": "^7.7.4",
-        "@babel/plugin-transform-unicode-regex": "^7.7.4",
-        "@babel/types": "^7.7.4",
-        "browserslist": "^4.6.0",
-        "core-js-compat": "^3.6.0",
+        "@babel/compat-data": "^7.9.0",
+        "@babel/helper-compilation-targets": "^7.8.7",
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "@babel/plugin-proposal-async-generator-functions": "^7.8.3",
+        "@babel/plugin-proposal-dynamic-import": "^7.8.3",
+        "@babel/plugin-proposal-json-strings": "^7.8.3",
+        "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
+        "@babel/plugin-proposal-numeric-separator": "^7.8.3",
+        "@babel/plugin-proposal-object-rest-spread": "^7.9.0",
+        "@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
+        "@babel/plugin-proposal-optional-chaining": "^7.9.0",
+        "@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
+        "@babel/plugin-syntax-async-generators": "^7.8.0",
+        "@babel/plugin-syntax-dynamic-import": "^7.8.0",
+        "@babel/plugin-syntax-json-strings": "^7.8.0",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0",
+        "@babel/plugin-syntax-numeric-separator": "^7.8.0",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.0",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.0",
+        "@babel/plugin-syntax-top-level-await": "^7.8.3",
+        "@babel/plugin-transform-arrow-functions": "^7.8.3",
+        "@babel/plugin-transform-async-to-generator": "^7.8.3",
+        "@babel/plugin-transform-block-scoped-functions": "^7.8.3",
+        "@babel/plugin-transform-block-scoping": "^7.8.3",
+        "@babel/plugin-transform-classes": "^7.9.0",
+        "@babel/plugin-transform-computed-properties": "^7.8.3",
+        "@babel/plugin-transform-destructuring": "^7.8.3",
+        "@babel/plugin-transform-dotall-regex": "^7.8.3",
+        "@babel/plugin-transform-duplicate-keys": "^7.8.3",
+        "@babel/plugin-transform-exponentiation-operator": "^7.8.3",
+        "@babel/plugin-transform-for-of": "^7.9.0",
+        "@babel/plugin-transform-function-name": "^7.8.3",
+        "@babel/plugin-transform-literals": "^7.8.3",
+        "@babel/plugin-transform-member-expression-literals": "^7.8.3",
+        "@babel/plugin-transform-modules-amd": "^7.9.0",
+        "@babel/plugin-transform-modules-commonjs": "^7.9.0",
+        "@babel/plugin-transform-modules-systemjs": "^7.9.0",
+        "@babel/plugin-transform-modules-umd": "^7.9.0",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
+        "@babel/plugin-transform-new-target": "^7.8.3",
+        "@babel/plugin-transform-object-super": "^7.8.3",
+        "@babel/plugin-transform-parameters": "^7.8.7",
+        "@babel/plugin-transform-property-literals": "^7.8.3",
+        "@babel/plugin-transform-regenerator": "^7.8.7",
+        "@babel/plugin-transform-reserved-words": "^7.8.3",
+        "@babel/plugin-transform-shorthand-properties": "^7.8.3",
+        "@babel/plugin-transform-spread": "^7.8.3",
+        "@babel/plugin-transform-sticky-regex": "^7.8.3",
+        "@babel/plugin-transform-template-literals": "^7.8.3",
+        "@babel/plugin-transform-typeof-symbol": "^7.8.4",
+        "@babel/plugin-transform-unicode-regex": "^7.8.3",
+        "@babel/preset-modules": "^0.1.3",
+        "@babel/types": "^7.9.0",
+        "browserslist": "^4.9.1",
+        "core-js-compat": "^3.6.2",
         "invariant": "^2.2.2",
-        "js-levenshtein": "^1.1.3",
+        "levenary": "^1.1.1",
         "semver": "^5.5.0"
-      },
-      "dependencies": {
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        }
+      }
+    },
+    "@babel/preset-modules": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz",
+      "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
+        "@babel/plugin-transform-dotall-regex": "^7.4.4",
+        "@babel/types": "^7.4.4",
+        "esutils": "^2.0.2"
       }
     },
     "@babel/runtime": {
       "version": "7.8.4",
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.8.4.tgz",
       "integrity": "sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ==",
+      "dev": true,
       "requires": {
         "regenerator-runtime": "^0.13.2"
       },
@@ -3013,45 +1944,91 @@
         "regenerator-runtime": {
           "version": "0.13.3",
           "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
-          "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
+          "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
+          "dev": true
         }
       }
     },
     "@babel/template": {
-      "version": "7.4.4",
-      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz",
-      "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==",
+      "version": "7.8.6",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
+      "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.0.0",
-        "@babel/parser": "^7.4.4",
-        "@babel/types": "^7.4.4"
+        "@babel/code-frame": "^7.8.3",
+        "@babel/parser": "^7.8.6",
+        "@babel/types": "^7.8.6"
+      },
+      "dependencies": {
+        "@babel/code-frame": {
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
+          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.10.1"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
+          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "dev": true,
+          "requires": {
+            "@babel/helper-validator-identifier": "^7.10.1",
+            "chalk": "^2.0.0",
+            "js-tokens": "^4.0.0"
+          }
+        }
       }
     },
     "@babel/traverse": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.5.tgz",
-      "integrity": "sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ==",
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz",
+      "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.5.5",
-        "@babel/generator": "^7.5.5",
-        "@babel/helper-function-name": "^7.1.0",
-        "@babel/helper-split-export-declaration": "^7.4.4",
-        "@babel/parser": "^7.5.5",
-        "@babel/types": "^7.5.5",
+        "@babel/code-frame": "^7.10.1",
+        "@babel/generator": "^7.10.1",
+        "@babel/helper-function-name": "^7.10.1",
+        "@babel/helper-split-export-declaration": "^7.10.1",
+        "@babel/parser": "^7.10.1",
+        "@babel/types": "^7.10.1",
         "debug": "^4.1.0",
         "globals": "^11.1.0",
         "lodash": "^4.17.13"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.5.5",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz",
-          "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==",
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
+          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "dev": true,
+          "requires": {
+            "@babel/highlight": "^7.10.1"
+          }
+        },
+        "@babel/generator": {
+          "version": "7.10.2",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz",
+          "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==",
+          "dev": true,
+          "requires": {
+            "@babel/types": "^7.10.2",
+            "jsesc": "^2.5.1",
+            "lodash": "^4.17.13",
+            "source-map": "^0.5.0"
+          }
+        },
+        "@babel/highlight": {
+          "version": "7.10.1",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
+          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.0.0"
+            "@babel/helper-validator-identifier": "^7.10.1",
+            "chalk": "^2.0.0",
+            "js-tokens": "^4.0.0"
           }
         },
         "debug": {
@@ -3063,37 +2040,29 @@
             "ms": "^2.1.1"
           }
         },
-        "globals": {
-          "version": "11.12.0",
-          "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
-          "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-          "dev": true
-        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
           "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
           "dev": true
+        },
+        "source-map": {
+          "version": "0.5.7",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+          "dev": true
         }
       }
     },
     "@babel/types": {
-      "version": "7.5.5",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.5.tgz",
-      "integrity": "sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw==",
+      "version": "7.10.2",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz",
+      "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==",
       "dev": true,
       "requires": {
-        "esutils": "^2.0.2",
+        "@babel/helper-validator-identifier": "^7.10.1",
         "lodash": "^4.17.13",
         "to-fast-properties": "^2.0.0"
-      },
-      "dependencies": {
-        "to-fast-properties": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-          "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=",
-          "dev": true
-        }
       }
     },
     "@braintree/sanitize-url": {
@@ -3202,6 +2171,17 @@
             "to-regex-range": "^5.0.1"
           }
         },
+        "fs-extra": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+          "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^4.0.0",
+            "universalify": "^0.1.0"
+          }
+        },
         "fsevents": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
@@ -3232,6 +2212,12 @@
             "is-glob": "^4.0.1"
           }
         },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
         "is-binary-path": {
           "version": "2.1.0",
           "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -3375,13 +2361,33 @@
       }
     },
     "@develar/schema-utils": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.1.0.tgz",
-      "integrity": "sha512-qjCqB4ctMig9Gz5bd6lkdFr3bO6arOdQqptdBSpF1ZpCnjofieCciEzkoS9ujY9cMGyllYSCSmBJ3x9OKHXzoA==",
+      "version": "2.6.5",
+      "resolved": "https://registry.npmjs.org/@develar/schema-utils/-/schema-utils-2.6.5.tgz",
+      "integrity": "sha512-0cp4PsWQ/9avqTVMCtZ+GirikIA36ikvjtHweU4/j8yLtgObI0+JUPhYFScgwlteveGB1rt3Cm8UhN04XayDig==",
       "dev": true,
       "requires": {
-        "ajv": "^6.1.0",
-        "ajv-keywords": "^3.1.0"
+        "ajv": "^6.12.0",
+        "ajv-keywords": "^3.4.1"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        }
       }
     },
     "@dsherret/to-absolute-glob": {
@@ -3395,9 +2401,9 @@
       }
     },
     "@electron/get": {
-      "version": "1.9.0",
-      "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.9.0.tgz",
-      "integrity": "sha512-OBIKtF6ttIJotDXe4KJMUyTBO4xMii+mFjlA8R4CORuD4HvCUaCK3lPjhdTRCvuEv6gzWNbAvd9DNBv0v780lw==",
+      "version": "1.12.2",
+      "resolved": "https://registry.npmjs.org/@electron/get/-/get-1.12.2.tgz",
+      "integrity": "sha512-vAuHUbfvBQpYTJ5wB7uVIDq5c/Ry0fiTBMs7lnEYAo/qXXppIVcWdfBr57u6eRnKdVso7KSiH6p/LbQAG6Izrg==",
       "dev": true,
       "requires": {
         "debug": "^4.1.1",
@@ -3417,29 +2423,140 @@
           "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
-            "ms": "^2.1.1"
+            "ms": "^2.1.1"
+          }
+        },
+        "env-paths": {
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
+          "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==",
+          "dev": true
+        },
+        "fs-extra": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+          "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^4.0.0",
+            "universalify": "^0.1.0"
+          }
+        },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        }
+      }
+    },
+    "@istanbuljs/schema": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
+      "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
+      "dev": true
+    },
+    "@jsdevtools/coverage-istanbul-loader": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.3.tgz",
+      "integrity": "sha512-TAdNkeGB5Fe4Og+ZkAr1Kvn9by2sfL44IAHFtxlh1BA1XJ5cLpO9iSNki5opWESv3l3vSHsZ9BNKuqFKbEbFaA==",
+      "dev": true,
+      "requires": {
+        "convert-source-map": "^1.7.0",
+        "istanbul-lib-instrument": "^4.0.1",
+        "loader-utils": "^1.4.0",
+        "merge-source-map": "^1.1.0",
+        "schema-utils": "^2.6.4"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
           }
         },
-        "env-paths": {
-          "version": "2.2.0",
-          "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.0.tgz",
-          "integrity": "sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA==",
+        "convert-source-map": {
+          "version": "1.7.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+          "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.1"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
           "dev": true
         },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "merge-source-map": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
+          "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
+          "dev": true,
+          "requires": {
+            "source-map": "^0.6.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
+            "ajv-keywords": "^3.4.1"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
           "dev": true
         }
       }
     },
-    "@istanbuljs/schema": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz",
-      "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==",
-      "dev": true
-    },
     "@mrmlnc/readdir-enhanced": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -3451,25 +2568,31 @@
       }
     },
     "@ngtools/webpack": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.0.7.tgz",
-      "integrity": "sha512-MvoMaErkjESefoIrbt8F2RpKDr9KavwvH4v3hwSAKooVNFdFKNsjJ7m3gCQehumEfsYFq2mrEK2sTW4/CpFlMQ==",
+      "version": "9.1.7",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.7.tgz",
+      "integrity": "sha512-A7VB2I42Kn+7jl0tDKzGNLAoZLWSqkKo9Hg1bmKpvAAIz+DSbq3uV+JWgGgTprM3tn0lfkVgmqk4H17HKwAOcg==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.7",
+        "@angular-devkit/core": "9.1.7",
         "enhanced-resolve": "4.1.1",
-        "rxjs": "6.5.3",
+        "rxjs": "6.5.4",
         "webpack-sources": "1.4.3"
       },
       "dependencies": {
         "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "version": "6.5.4",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
+        },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
         }
       }
     },
@@ -3480,32 +2603,136 @@
       "dev": true
     },
     "@schematics/angular": {
-      "version": "9.0.7",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.0.7.tgz",
-      "integrity": "sha512-3UCeexYx/YVo3kboyPZ8KgqBTduMA18AAm3s2yrC0qj41fBFVVZAZLa74uouTf4RYVgy9kR7J3uv6VLxrJPOnQ==",
+      "version": "9.1.7",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.7.tgz",
+      "integrity": "sha512-ld3WcoMWvup04V3OWioQ+AFGQBzz7IDM4Fxc5+Qc3wILWkDJnNkrc4EmJAow96Ab4/T1+Wl1vof3tV4At0BTzA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.7",
-        "@angular-devkit/schematics": "9.0.7"
+        "@angular-devkit/core": "9.1.7",
+        "@angular-devkit/schematics": "9.1.7"
+      },
+      "dependencies": {
+        "@angular-devkit/core": {
+          "version": "9.1.7",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
+          "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
+          "dev": true,
+          "requires": {
+            "ajv": "6.12.0",
+            "fast-json-stable-stringify": "2.1.0",
+            "magic-string": "0.25.7",
+            "rxjs": "6.5.4",
+            "source-map": "0.7.3"
+          },
+          "dependencies": {
+            "rxjs": {
+              "version": "6.5.4",
+              "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+              "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+              "dev": true,
+              "requires": {
+                "tslib": "^1.9.0"
+              },
+              "dependencies": {
+                "tslib": {
+                  "version": "1.13.0",
+                  "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+                  "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+                  "dev": true
+                }
+              }
+            }
+          }
+        },
+        "ajv": {
+          "version": "6.12.0",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
+          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "fast-json-stable-stringify": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+          "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+          "dev": true
+        },
+        "magic-string": {
+          "version": "0.25.7",
+          "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+          "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+          "dev": true,
+          "requires": {
+            "sourcemap-codec": "^1.4.4"
+          }
+        }
       }
     },
     "@schematics/update": {
-      "version": "0.900.7",
-      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.900.7.tgz",
-      "integrity": "sha512-e9tX2DGNYfj/k9mVICpQt2bWIYyD92dlsip7LzPeZGt+R9zCp5w19uBLa8Z00OgEGzFR1krhRvkQE5OxkkAnVw==",
+      "version": "0.901.7",
+      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.7.tgz",
+      "integrity": "sha512-6IpQVFvbu47CrXfqqHAzv2vi7AOdfi1S+SiayXU6FWTeA2wV47H8R60VjxurL8JkDGoVhFgC4+lK6KG++g3dQw==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.0.7",
-        "@angular-devkit/schematics": "9.0.7",
+        "@angular-devkit/core": "9.1.7",
+        "@angular-devkit/schematics": "9.1.7",
         "@yarnpkg/lockfile": "1.1.0",
         "ini": "1.3.5",
-        "npm-package-arg": "^7.0.0",
-        "pacote": "9.5.8",
-        "rxjs": "6.5.3",
-        "semver": "6.3.0",
+        "npm-package-arg": "^8.0.0",
+        "pacote": "9.5.12",
+        "rxjs": "6.5.4",
+        "semver": "7.1.3",
         "semver-intersect": "1.4.0"
       },
       "dependencies": {
+        "@angular-devkit/core": {
+          "version": "9.1.7",
+          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
+          "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
+          "dev": true,
+          "requires": {
+            "ajv": "6.12.0",
+            "fast-json-stable-stringify": "2.1.0",
+            "magic-string": "0.25.7",
+            "rxjs": "6.5.4",
+            "source-map": "0.7.3"
+          }
+        },
+        "ajv": {
+          "version": "6.12.0",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
+          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "fast-json-stable-stringify": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+          "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+          "dev": true
+        },
         "hosted-git-info": {
           "version": "3.0.4",
           "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz",
@@ -3524,39 +2751,47 @@
             "yallist": "^3.0.2"
           }
         },
+        "magic-string": {
+          "version": "0.25.7",
+          "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+          "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
+          "dev": true,
+          "requires": {
+            "sourcemap-codec": "^1.4.4"
+          }
+        },
         "npm-package-arg": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz",
-          "integrity": "sha512-xXxr8y5U0kl8dVkz2oK7yZjPBvqM2fwaO5l3Yg13p03v8+E3qQcD0JNhHzjL1vyGgxcKkD0cco+NLR72iuPk3g==",
+          "version": "8.0.1",
+          "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz",
+          "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==",
           "dev": true,
           "requires": {
             "hosted-git-info": "^3.0.2",
-            "osenv": "^0.1.5",
-            "semver": "^5.6.0",
+            "semver": "^7.0.0",
             "validate-npm-package-name": "^3.0.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "5.7.1",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
-            }
           }
         },
         "rxjs": {
-          "version": "6.5.3",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.3.tgz",
-          "integrity": "sha512-wuYsAYYFdWTAnAaPoKGNhfpWwKZbJW+HgAJ+mImp+Epl7BG8oNWBCTyRM8gba9k4lk8BgWdoYm21Mo/RYhhbgA==",
+          "version": "6.5.4",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
+          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
+          },
+          "dependencies": {
+            "tslib": {
+              "version": "1.13.0",
+              "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+              "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+              "dev": true
+            }
           }
         },
         "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "version": "7.1.3",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
+          "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
           "dev": true
         },
         "yallist": {
@@ -3594,12 +2829,6 @@
       "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==",
       "dev": true
     },
-    "@types/estree": {
-      "version": "0.0.43",
-      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.43.tgz",
-      "integrity": "sha512-WfOySUnBpyKXbkC9QuZguwOGhGnugDXT2f2P6X8EIis7qlnd5NI1Nr4kRi357NtguxezyizIcaFlQe0wx23XnA==",
-      "dev": true
-    },
     "@types/events": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
@@ -3613,9 +2842,9 @@
       "dev": true
     },
     "@types/fs-extra": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.0.tgz",
-      "integrity": "sha512-UoOfVEzAUpeSPmjm7h1uk5MH6KZma2z2O7a75onTGjnNvAvMVrPzPL/vBbT65iIGHWj6rokwfmYcmxmlSf2uwg==",
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.1.tgz",
+      "integrity": "sha512-B42Sxuaz09MhC3DDeW5kubRcQ5by4iuVQ0cRRWM2lggLzAa/KVom0Aft/208NgMvNQQZ86s5rVcqDdn/SH0/mg==",
       "dev": true,
       "requires": {
         "@types/node": "*"
@@ -3633,9 +2862,9 @@
       }
     },
     "@types/jasmine": {
-      "version": "3.5.9",
-      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.9.tgz",
-      "integrity": "sha512-KNL2Fq6GRmty2j6+ZmueT/Z/dkctLNH+5DFoGHNDtcgt7yME9NZd8x2p81Yuea1Xux/qAryDd3zVLUoKpDz1TA==",
+      "version": "3.5.10",
+      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.10.tgz",
+      "integrity": "sha512-3F8qpwBAiVc5+HPJeXJpbrl+XjawGmciN5LgiO7Gv1pl1RHtjoMNqZpqEksaPJW05ViKe8snYInRs6xB25Xdew==",
       "dev": true
     },
     "@types/jasminewd2": {
@@ -3647,10 +2876,16 @@
         "@types/jasmine": "*"
       }
     },
+    "@types/json-schema": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
+      "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==",
+      "dev": true
+    },
     "@types/marked": {
-      "version": "0.7.2",
-      "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.7.2.tgz",
-      "integrity": "sha512-A3EDyNaq6OCcpaOia2HQ/tu2QYt8DKuj4ExP21VU3cU3HTo2FLslvbqa2T1vux910RHvuSVqpwKnnykSFcRWOA=="
+      "version": "0.7.4",
+      "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.7.4.tgz",
+      "integrity": "sha512-fdg0NO4qpuHWtZk6dASgsrBggY+8N4dWthl1bAQG9ceKUNKFjqpHaDKCAhRUI6y8vavG7hLSJ4YBwJtZyZEXqw=="
     },
     "@types/minimatch": {
       "version": "3.0.3",
@@ -3664,9 +2899,9 @@
       "integrity": "sha512-13gmo3M2qVvjQrWNseqM3+cR6S2Ss3grbR2NZltgMq94wOwqJYQdgn8qzwDshzgXqMlSUtyPZjysImmktu22ew=="
     },
     "@types/node": {
-      "version": "13.9.2",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.2.tgz",
-      "integrity": "sha512-bnoqK579sAYrQbp73wwglccjJ4sfRdKU7WNEZ5FW4K2U6Kc0/eZ5kvXG0JKsEKFB50zrFmfFt52/cvBbZa7eXg==",
+      "version": "14.0.12",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.12.tgz",
+      "integrity": "sha512-/sjzehvjkkpvLpYtN6/2dv5kg41otMGuHQUt9T2aiAuIfleCQRQHXXzF1eAw/qkZTj5Kcf4JSTf7EIizHocy6Q==",
       "dev": true
     },
     "@types/pako": {
@@ -3681,9 +2916,9 @@
       "dev": true
     },
     "@types/selenium-webdriver": {
-      "version": "3.0.16",
-      "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.16.tgz",
-      "integrity": "sha512-lMC2G0ItF2xv4UCiwbJGbnJlIuUixHrioOhNGHSCsYCJ8l4t9hMCUimCytvFv7qy6AfSzRxhRHoGa+UqaqwyeA==",
+      "version": "3.0.17",
+      "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz",
+      "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==",
       "dev": true
     },
     "@types/source-list-map": {
@@ -3698,9 +2933,9 @@
       "integrity": "sha512-hkgzYF+qnIl8uTO8rmUSVSfQ8BIfMXC4yJAF4n8BE758YsKBZvFC4NumnAegj7KmylP0liEZNpb9RRGFMbFejA=="
     },
     "@types/webpack-sources": {
-      "version": "0.1.6",
-      "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.6.tgz",
-      "integrity": "sha512-FtAWR7wR5ocJ9+nP137DV81tveD/ZgB1sadnJ/axUGM3BUVfRPx8oQNMtv3JNfTeHx3VP7cXiyfR/jmtEsVHsQ==",
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.8.tgz",
+      "integrity": "sha512-JHB2/xZlXOjzjBB6fMOpH1eQAfsrpqVVIbneE0Rok16WXwFaznaI5vfg75U5WgGJm7V9W1c4xeRQDjX/zwvghA==",
       "dev": true,
       "requires": {
         "@types/node": "*",
@@ -3717,9 +2952,9 @@
       }
     },
     "@types/yargs": {
-      "version": "15.0.4",
-      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.4.tgz",
-      "integrity": "sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg==",
+      "version": "15.0.5",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-15.0.5.tgz",
+      "integrity": "sha512-Dk/IDOPtOgubt/IaevIUbTgV7doaKkoorvOyYM2CMwuDyP89bekI7H4xLIwunNYiK9jhCkmc6pUrJk3cj2AB9w==",
       "dev": true,
       "requires": {
         "@types/yargs-parser": "*"
@@ -3951,9 +3186,9 @@
       }
     },
     "acorn": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz",
-      "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==",
+      "version": "6.4.1",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
+      "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
       "dev": true
     },
     "acorn-node": {
@@ -3991,9 +3226,9 @@
       }
     },
     "adm-zip": {
-      "version": "0.4.13",
-      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz",
-      "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==",
+      "version": "0.4.14",
+      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.14.tgz",
+      "integrity": "sha512-/9aQCnQHF+0IiCl0qhXoK7qs//SwYE7zX8lsr/DNk1BRAHYxeLZPL4pguwK29gUEqasYQjqPtEpDRSWEkdHn9g==",
       "dev": true
     },
     "after": {
@@ -4231,50 +3466,74 @@
       "dev": true
     },
     "app-builder-bin": {
-      "version": "3.5.5",
-      "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.5.tgz",
-      "integrity": "sha512-ZcHzJ9Xl+azPqdKzXZKdRZmkNmbxHHZyl4cbobNf8qMQpoPChpcov8riVrZSbu/0cT/JqJ8LOwJjy1OAwbChaQ==",
+      "version": "3.5.9",
+      "resolved": "https://registry.npmjs.org/app-builder-bin/-/app-builder-bin-3.5.9.tgz",
+      "integrity": "sha512-NSjtqZ3x2kYiDp3Qezsgukx/AUzKPr3Xgf9by4cYt05ILWGAptepeeu0Uv+7MO+41o6ujhLixTou8979JGg2Kg==",
       "dev": true
     },
     "app-builder-lib": {
-      "version": "22.4.1",
-      "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.4.1.tgz",
-      "integrity": "sha512-epwUzIM+2pcdy/If9koTP74CKx4v7xGPj75a2Z5cM4rrGN9yVZ3eDUBbfF0e0qE4Qmcv5pd0BAZJ26bGm8NWsQ==",
+      "version": "22.7.0",
+      "resolved": "https://registry.npmjs.org/app-builder-lib/-/app-builder-lib-22.7.0.tgz",
+      "integrity": "sha512-blRKwV8h0ztualXS50ciCTo39tbuDGNS+ldcy8+KLvKXuT6OpYnSJ7M6MSfPT+xWatshMHJV1rJx3Tl+k/Sn/g==",
       "dev": true,
       "requires": {
         "7zip-bin": "~5.0.3",
-        "@develar/schema-utils": "~2.1.0",
+        "@develar/schema-utils": "~2.6.5",
         "async-exit-hook": "^2.0.1",
         "bluebird-lst": "^1.0.9",
-        "builder-util": "22.4.1",
-        "builder-util-runtime": "8.6.2",
+        "builder-util": "22.7.0",
+        "builder-util-runtime": "8.7.1",
         "chromium-pickle-js": "^0.2.0",
-        "debug": "^4.1.1",
-        "ejs": "^3.0.1",
-        "electron-publish": "22.4.1",
-        "fs-extra": "^8.1.0",
+        "debug": "^4.2.0",
+        "ejs": "^3.1.3",
+        "electron-publish": "22.7.0",
+        "fs-extra": "^9.0.0",
         "hosted-git-info": "^3.0.4",
         "is-ci": "^2.0.0",
-        "isbinaryfile": "^4.0.4",
-        "js-yaml": "^3.13.1",
+        "isbinaryfile": "^4.0.6",
+        "js-yaml": "^3.14.0",
         "lazy-val": "^1.0.4",
         "minimatch": "^3.0.4",
         "normalize-package-data": "^2.5.0",
-        "read-config-file": "5.0.2",
+        "read-config-file": "6.0.0",
         "sanitize-filename": "^1.6.3",
-        "semver": "^7.1.3",
+        "semver": "^7.3.2",
         "temp-file": "^3.3.7"
       },
       "dependencies": {
         "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+          "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
           "dev": true,
           "requires": {
-            "ms": "^2.1.1"
+            "ms": "2.1.2"
+          }
+        },
+        "esprima": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+          "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+          "dev": true
+        },
+        "fs-extra": {
+          "version": "9.0.1",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+          "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+          "dev": true,
+          "requires": {
+            "at-least-node": "^1.0.0",
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^1.0.0"
           }
         },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
         "hosted-git-info": {
           "version": "3.0.4",
           "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz",
@@ -4284,6 +3543,26 @@
             "lru-cache": "^5.1.1"
           }
         },
+        "js-yaml": {
+          "version": "3.14.0",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
+          "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+          "dev": true,
+          "requires": {
+            "argparse": "^1.0.7",
+            "esprima": "^4.0.0"
+          }
+        },
+        "jsonfile": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
+          "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^1.0.0"
+          }
+        },
         "lru-cache": {
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -4300,9 +3579,15 @@
           "dev": true
         },
         "semver": {
-          "version": "7.1.3",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
-          "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
+          "version": "7.3.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+          "dev": true
+        },
+        "universalify": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+          "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
           "dev": true
         },
         "yallist": {
@@ -4319,15 +3604,6 @@
       "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==",
       "dev": true
     },
-    "append-transform": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz",
-      "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==",
-      "dev": true,
-      "requires": {
-        "default-require-extensions": "^2.0.0"
-      }
-    },
     "aproba": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz",
@@ -4463,6 +3739,14 @@
         "bn.js": "^4.0.0",
         "inherits": "^2.0.1",
         "minimalistic-assert": "^1.0.0"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
+          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
       }
     },
     "assert": {
@@ -4602,6 +3886,12 @@
       "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
       "dev": true
     },
+    "at-least-node": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+      "dev": true
+    },
     "atob": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
@@ -4609,17 +3899,17 @@
       "dev": true
     },
     "autoprefixer": {
-      "version": "9.7.1",
-      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.1.tgz",
-      "integrity": "sha512-w3b5y1PXWlhYulevrTJ0lizkQ5CyqfeU6BIRDbuhsMupstHQOeb1Ur80tcB1zxSu7AwyY/qCQ7Vvqklh31ZBFw==",
+      "version": "9.7.4",
+      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz",
+      "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==",
       "dev": true,
       "requires": {
-        "browserslist": "^4.7.2",
-        "caniuse-lite": "^1.0.30001006",
+        "browserslist": "^4.8.3",
+        "caniuse-lite": "^1.0.30001020",
         "chalk": "^2.4.2",
         "normalize-range": "^0.1.2",
         "num2fraction": "^1.2.2",
-        "postcss": "^7.0.21",
+        "postcss": "^7.0.26",
         "postcss-value-parser": "^4.0.2"
       }
     },
@@ -4667,6 +3957,26 @@
             "pkg-dir": "^3.0.0"
           }
         },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
         "make-dir": {
           "version": "2.1.0",
           "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
@@ -4677,6 +3987,12 @@
             "semver": "^5.6.0"
           }
         },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
         "pify": {
           "version": "4.0.1",
           "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
@@ -4692,9 +4008,9 @@
       }
     },
     "babel-plugin-dynamic-import-node": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz",
-      "integrity": "sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ==",
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+      "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
       "dev": true,
       "requires": {
         "object.assign": "^4.1.0"
@@ -4796,9 +4112,9 @@
       "integrity": "sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw=="
     },
     "base64id": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
-      "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
+      "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==",
       "dev": true
     },
     "basic-auth": {
@@ -4896,9 +4212,9 @@
       }
     },
     "bn.js": {
-      "version": "4.11.8",
-      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz",
-      "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==",
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.2.tgz",
+      "integrity": "sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA==",
       "dev": true
     },
     "body-parser": {
@@ -5083,6 +4399,12 @@
           "integrity": "sha512-a6sumDlzyHVJWb8+YofY4TW112G6p2FCPEAFk+59gIYHv3XHRhm9ltVQ9kli4hNWeQBwSpe8cRN25x0ROunMOw==",
           "dev": true
         },
+        "type-fest": {
+          "version": "0.8.1",
+          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
+          "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
+          "dev": true
+        },
         "widest-line": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-3.1.0.tgz",
@@ -5240,21 +4562,56 @@
       "requires": {
         "bn.js": "^4.1.0",
         "randombytes": "^2.0.1"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
+          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
       }
     },
     "browserify-sign": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz",
-      "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=",
-      "dev": true,
-      "requires": {
-        "bn.js": "^4.1.1",
-        "browserify-rsa": "^4.0.0",
-        "create-hash": "^1.1.0",
-        "create-hmac": "^1.1.2",
-        "elliptic": "^6.0.0",
-        "inherits": "^2.0.1",
-        "parse-asn1": "^5.0.0"
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.0.tgz",
+      "integrity": "sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA==",
+      "dev": true,
+      "requires": {
+        "bn.js": "^5.1.1",
+        "browserify-rsa": "^4.0.1",
+        "create-hash": "^1.2.0",
+        "create-hmac": "^1.1.7",
+        "elliptic": "^6.5.2",
+        "inherits": "^2.0.4",
+        "parse-asn1": "^5.1.5",
+        "readable-stream": "^3.6.0",
+        "safe-buffer": "^5.2.0"
+      },
+      "dependencies": {
+        "inherits": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+          "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "3.6.0",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+          "dev": true,
+          "requires": {
+            "inherits": "^2.0.3",
+            "string_decoder": "^1.1.1",
+            "util-deprecate": "^1.0.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+          "dev": true
+        }
       }
     },
     "browserify-zlib": {
@@ -5267,32 +4624,21 @@
       }
     },
     "browserslist": {
-      "version": "4.10.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.10.0.tgz",
-      "integrity": "sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA==",
+      "version": "4.12.0",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
+      "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
       "dev": true,
       "requires": {
-        "caniuse-lite": "^1.0.30001035",
-        "electron-to-chromium": "^1.3.378",
-        "node-releases": "^1.1.52",
-        "pkg-up": "^3.1.0"
-      },
-      "dependencies": {
-        "pkg-up": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
-          "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
-          "dev": true,
-          "requires": {
-            "find-up": "^3.0.0"
-          }
-        }
+        "caniuse-lite": "^1.0.30001043",
+        "electron-to-chromium": "^1.3.413",
+        "node-releases": "^1.1.53",
+        "pkg-up": "^2.0.0"
       }
     },
     "browserstack": {
-      "version": "1.5.3",
-      "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.5.3.tgz",
-      "integrity": "sha512-AO+mECXsW4QcqC9bxwM29O7qWa7bJT94uBFzeb5brylIQwawuEziwq20dPYbins95GlWzOawgyDNdjYAo32EKg==",
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz",
+      "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==",
       "dev": true,
       "requires": {
         "https-proxy-agent": "^2.2.1"
@@ -5309,20 +4655,10 @@
         "isarray": "^1.0.0"
       }
     },
-    "buffer-alloc": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
-      "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
-      "dev": true,
-      "requires": {
-        "buffer-alloc-unsafe": "^1.1.0",
-        "buffer-fill": "^1.0.0"
-      }
-    },
-    "buffer-alloc-unsafe": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
-      "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
+    "buffer-crc32": {
+      "version": "0.2.13",
+      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+      "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=",
       "dev": true
     },
     "buffer-equal": {
@@ -5331,12 +4667,6 @@
       "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=",
       "dev": true
     },
-    "buffer-fill": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
-      "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
-      "dev": true
-    },
     "buffer-from": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
@@ -5355,23 +4685,23 @@
       "dev": true
     },
     "builder-util": {
-      "version": "22.4.1",
-      "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.4.1.tgz",
-      "integrity": "sha512-+ysLc7cC4w6P7rBxmZ5X2aU3QvcwFoWCl1us+mcUKdsGmJAtFUMPJqueeptdxjyPrPShIUOKHzA8uk5A3d1fHg==",
+      "version": "22.7.0",
+      "resolved": "https://registry.npmjs.org/builder-util/-/builder-util-22.7.0.tgz",
+      "integrity": "sha512-UV3MKL0mwjMq2y9JlBf28Cegpj0CrIXcjGkO0TXn+QZ6Yy9rY6lHOuUvpQ19ct2Qh1o+QSwH3Q1nKUf5viJBBg==",
       "dev": true,
       "requires": {
         "7zip-bin": "~5.0.3",
         "@types/debug": "^4.1.5",
-        "@types/fs-extra": "^8.1.0",
-        "app-builder-bin": "3.5.5",
+        "@types/fs-extra": "^9.0.1",
+        "app-builder-bin": "3.5.9",
         "bluebird-lst": "^1.0.9",
-        "builder-util-runtime": "8.6.2",
-        "chalk": "^3.0.0",
-        "debug": "^4.1.1",
-        "fs-extra": "^8.1.0",
+        "builder-util-runtime": "8.7.1",
+        "chalk": "^4.0.0",
+        "debug": "^4.2.0",
+        "fs-extra": "^9.0.0",
         "is-ci": "^2.0.0",
-        "js-yaml": "^3.13.1",
-        "source-map-support": "^0.5.16",
+        "js-yaml": "^3.14.0",
+        "source-map-support": "^0.5.19",
         "stat-mode": "^1.0.0",
         "temp-file": "^3.3.7"
       },
@@ -5387,9 +4717,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -5406,20 +4736,64 @@
           }
         },
         "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+          "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
           "dev": true,
           "requires": {
-            "ms": "^2.1.1"
+            "ms": "2.1.2"
+          }
+        },
+        "esprima": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+          "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+          "dev": true
+        },
+        "fs-extra": {
+          "version": "9.0.1",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+          "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+          "dev": true,
+          "requires": {
+            "at-least-node": "^1.0.0",
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^1.0.0"
           }
         },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
         "has-flag": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
           "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
           "dev": true
         },
+        "js-yaml": {
+          "version": "3.14.0",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
+          "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+          "dev": true,
+          "requires": {
+            "argparse": "^1.0.7",
+            "esprima": "^4.0.0"
+          }
+        },
+        "jsonfile": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
+          "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^1.0.0"
+          }
+        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -5433,9 +4807,9 @@
           "dev": true
         },
         "source-map-support": {
-          "version": "0.5.16",
-          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
-          "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
+          "version": "0.5.19",
+          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+          "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
           "dev": true,
           "requires": {
             "buffer-from": "^1.0.0",
@@ -5450,26 +4824,32 @@
           "requires": {
             "has-flag": "^4.0.0"
           }
+        },
+        "universalify": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+          "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
+          "dev": true
         }
       }
     },
     "builder-util-runtime": {
-      "version": "8.6.2",
-      "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.6.2.tgz",
-      "integrity": "sha512-9QnIBISfhgQ2BxtRLidVqf/v5HD73vSKZDllpUmGd2L6VORGQk7cZAPmPtw4HQM3gPBelyVJ5yIjMNZ8xjmd1A==",
+      "version": "8.7.1",
+      "resolved": "https://registry.npmjs.org/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz",
+      "integrity": "sha512-uEBH1nAnTvzjcsrh2XI3qOzJ39h0+9kuIuwj+kCc3a07TZNGShfJcai8fFzL3mNgGjEFxoq+XMssR11r+FOFSg==",
       "dev": true,
       "requires": {
-        "debug": "^4.1.1",
+        "debug": "^4.2.0",
         "sax": "^1.2.4"
       },
       "dependencies": {
         "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz",
+          "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==",
           "dev": true,
           "requires": {
-            "ms": "^2.1.1"
+            "ms": "2.1.2"
           }
         },
         "ms": {
@@ -5505,28 +4885,27 @@
       "dev": true
     },
     "cacache": {
-      "version": "13.0.1",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
-      "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==",
+      "version": "15.0.0",
+      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.0.tgz",
+      "integrity": "sha512-L0JpXHhplbJSiDGzyJJnJCTL7er7NzbBgxzVqLswEb4bO91Zbv17OUMuUeu/q0ZwKn3V+1HM4wb9tO4eVE/K8g==",
       "dev": true,
       "requires": {
         "chownr": "^1.1.2",
-        "figgy-pudding": "^3.5.1",
         "fs-minipass": "^2.0.0",
         "glob": "^7.1.4",
-        "graceful-fs": "^4.2.2",
         "infer-owner": "^1.0.4",
         "lru-cache": "^5.1.1",
-        "minipass": "^3.0.0",
+        "minipass": "^3.1.1",
         "minipass-collect": "^1.0.2",
         "minipass-flush": "^1.0.5",
         "minipass-pipeline": "^1.2.2",
-        "mkdirp": "^0.5.1",
+        "mkdirp": "^1.0.3",
         "move-concurrently": "^1.0.1",
         "p-map": "^3.0.0",
         "promise-inflight": "^1.0.1",
         "rimraf": "^2.7.1",
-        "ssri": "^7.0.0",
+        "ssri": "^8.0.0",
+        "tar": "^6.0.1",
         "unique-filename": "^1.1.1"
       },
       "dependencies": {
@@ -5544,12 +4923,6 @@
             "path-is-absolute": "^1.0.0"
           }
         },
-        "graceful-fs": {
-          "version": "4.2.3",
-          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz",
-          "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==",
-          "dev": true
-        },
         "lru-cache": {
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -5559,6 +4932,30 @@
             "yallist": "^3.0.2"
           }
         },
+        "minizlib": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
+          "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
+          "dev": true,
+          "requires": {
+            "minipass": "^3.0.0",
+            "yallist": "^4.0.0"
+          },
+          "dependencies": {
+            "yallist": {
+              "version": "4.0.0",
+              "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+              "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+              "dev": true
+            }
+          }
+        },
+        "mkdirp": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+          "dev": true
+        },
         "p-map": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
@@ -5568,6 +4965,34 @@
             "aggregate-error": "^3.0.0"
           }
         },
+        "tar": {
+          "version": "6.0.2",
+          "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
+          "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==",
+          "dev": true,
+          "requires": {
+            "chownr": "^2.0.0",
+            "fs-minipass": "^2.0.0",
+            "minipass": "^3.0.0",
+            "minizlib": "^2.1.0",
+            "mkdirp": "^1.0.3",
+            "yallist": "^4.0.0"
+          },
+          "dependencies": {
+            "chownr": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+              "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+              "dev": true
+            },
+            "yallist": {
+              "version": "4.0.0",
+              "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+              "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+              "dev": true
+            }
+          }
+        },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -5701,9 +5126,9 @@
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30001035",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001035.tgz",
-      "integrity": "sha512-C1ZxgkuA4/bUEdMbU5WrGY4+UhMFFiXrgNAfxiMIqWgFTWfv/xsZCS2xEHT2LMq7xAZfuAnu6mcqyDl0ZR6wLQ==",
+      "version": "1.0.30001079",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz",
+      "integrity": "sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q==",
       "dev": true
     },
     "canonical-path": {
@@ -5790,9 +5215,9 @@
       }
     },
     "chartjs-plugin-zoom": {
-      "version": "0.7.5",
-      "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-0.7.5.tgz",
-      "integrity": "sha512-OGVQXlw5meOD7ac+CBNO7yKg4Tk06eBb5LUIgpK/qgv7SjVB/89pWMQY3pxWnzCMI8FsoV3iTKQ2ZCOvh4+q6w==",
+      "version": "0.7.7",
+      "resolved": "https://registry.npmjs.org/chartjs-plugin-zoom/-/chartjs-plugin-zoom-0.7.7.tgz",
+      "integrity": "sha512-8fOHPPiZTT2+K0w278TQWYs/DtPg06s1OpTqdXxPpdfH7QQbl6Io/WuE1FjPehDWVCxpe3tSTts+dPbxgq2Z5g==",
       "requires": {
         "hammerjs": "^2.0.8"
       }
@@ -5951,6 +5376,14 @@
       "dev": true,
       "requires": {
         "tslib": "^1.9.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
+        }
       }
     },
     "chromium-pickle-js": {
@@ -6041,9 +5474,9 @@
       }
     },
     "cli-spinners": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.2.0.tgz",
-      "integrity": "sha512-tgU3fKwzYjiLEQgPMD9Jt+JjHVL9kW93FiIMX/l7rivvOD4/LL0Mf7gda3+4U2KJBloybwgj5KEoQgGRioMiKQ==",
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz",
+      "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==",
       "dev": true
     },
     "cli-width": {
@@ -6053,9 +5486,9 @@
       "dev": true
     },
     "clipboard": {
-      "version": "2.0.4",
-      "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.4.tgz",
-      "integrity": "sha512-Vw26VSLRpJfBofiVaFb/I8PVfdI1OxKcYShe6fm0sP/DtmiWQNCjhM/okTvdCo0G+lMMm1rMYbk4IK4x1X+kgQ==",
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz",
+      "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==",
       "optional": true,
       "requires": {
         "good-listener": "^1.2.2",
@@ -6063,50 +5496,6 @@
         "tiny-emitter": "^2.0.0"
       }
     },
-    "cliui": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz",
-      "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==",
-      "dev": true,
-      "requires": {
-        "string-width": "^2.1.1",
-        "strip-ansi": "^4.0.0",
-        "wrap-ansi": "^2.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
-          "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
-          "dev": true
-        },
-        "string-width": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-          "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-          "dev": true,
-          "requires": {
-            "is-fullwidth-code-point": "^2.0.0",
-            "strip-ansi": "^4.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
     "clone": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
@@ -6145,9 +5534,9 @@
       },
       "dependencies": {
         "@types/q": {
-          "version": "1.5.2",
-          "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz",
-          "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==",
+          "version": "1.5.4",
+          "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
+          "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==",
           "dev": true
         }
       }
@@ -6158,16 +5547,10 @@
       "integrity": "sha512-3Jfe6ZmmGzvdQWFo3MUzobn3WdX++jc3Tj0rsviJWYPnP7NGMFEE4qheNeOXeJgB1TTgxYT8XuNvhS/u596yGg==",
       "dev": true
     },
-    "code-point-at": {
-      "version": "1.1.0",
-      "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz",
-      "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=",
-      "dev": true
-    },
     "codelyzer": {
-      "version": "5.2.1",
-      "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.1.tgz",
-      "integrity": "sha512-awBZXFcJUyC5HMYXiHzjr3D24tww2l1D1OqtfA9vUhEtYr32a65A+Gblm/OvsO+HuKLYzn8EDMw1inSM3VbxWA==",
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.2.tgz",
+      "integrity": "sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA==",
       "dev": true,
       "requires": {
         "app-root-path": "^2.2.1",
@@ -6275,9 +5658,9 @@
       "dev": true
     },
     "colors": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
-      "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==",
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
+      "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
       "dev": true
     },
     "combined-stream": {
@@ -6319,12 +5702,6 @@
         }
       }
     },
-    "compare-versions": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.5.1.tgz",
-      "integrity": "sha512-9fGPIB7C6AyM18CJJBHt5EnCZDG3oiTJYy0NjfIAGjKpzv0tkxWko7TNQHF5ymqm7IH03tqmeuBxtvD+Izh6mg==",
-      "dev": true
-    },
     "component-bind": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
@@ -6560,9 +5937,9 @@
       },
       "dependencies": {
         "cacache": {
-          "version": "12.0.3",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
-          "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+          "version": "12.0.4",
+          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
+          "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
           "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
@@ -6616,6 +5993,26 @@
             "is-extglob": "^2.1.1"
           }
         },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
         "lru-cache": {
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -6635,6 +6032,12 @@
             "semver": "^5.6.0"
           }
         },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
         "normalize-path": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -6916,8 +6319,25 @@
             "strip-bom": "^3.0.0",
             "underscore": "^1.8.3",
             "which": "^1.3.0"
+          },
+          "dependencies": {
+            "fs-extra": {
+              "version": "8.1.0",
+              "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+              "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+              "requires": {
+                "graceful-fs": "^4.2.0",
+                "jsonfile": "^4.0.0",
+                "universalify": "^0.1.0"
+              }
+            }
           }
         },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
+        },
         "q": {
           "version": "1.5.1",
           "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
@@ -7161,9 +6581,9 @@
       }
     },
     "cordova-plugin-advanced-http": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/cordova-plugin-advanced-http/-/cordova-plugin-advanced-http-2.4.1.tgz",
-      "integrity": "sha512-6G8MTy/d02jE6n3Y9CVyCtD5hZGiBb+/dR2AIzhKN1RGGz38g1D2C8yE4MqHRvnmry6k/KHQWT1MsHNXrjouXQ=="
+      "version": "2.5.1",
+      "resolved": "https://registry.npmjs.org/cordova-plugin-advanced-http/-/cordova-plugin-advanced-http-2.5.1.tgz",
+      "integrity": "sha512-KwCzjVEBpw6OyTjuUYRe9kGuDs1F5IzpsCXASxuIrV+YaXUTbKwU6mIQ+G4iG9Rs5SfPJSEE4ETx3XuP/Hor0Q=="
     },
     "cordova-plugin-app-version": {
       "version": "0.1.9",
@@ -7186,9 +6606,9 @@
       "integrity": "sha512-m7cughw327CjONN/qjzsTpSesLaeybksQh420/gRuSXJX5Zt9NfgsSbqqKDon6jnQ9Mm7h7imgyO2uJ34XMBtA=="
     },
     "cordova-plugin-file-opener2": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/cordova-plugin-file-opener2/-/cordova-plugin-file-opener2-3.0.0.tgz",
-      "integrity": "sha512-yQcJ5coOlfkDcTfIhFJEL2A7SWtLhy50y51Cb+EEkI7Y0lP74Ec2tsMtIOhe9i8wPSoSfnDcN77Hj6CSeIjogA=="
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/cordova-plugin-file-opener2/-/cordova-plugin-file-opener2-3.0.2.tgz",
+      "integrity": "sha512-L+actYiiOns4DViWKpfGHJJw/cNAdy3VTJFgcY5/Z9Z5GO4WzRfp0ksYCH7Icvi4XwlH9bm9TDOPtAqmnZdf7g=="
     },
     "cordova-plugin-local-notification": {
       "version": "0.9.0-beta.2",
@@ -7214,17 +6634,17 @@
       }
     },
     "core-js": {
-      "version": "3.6.4",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz",
-      "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw=="
+      "version": "3.6.5",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz",
+      "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA=="
     },
     "core-js-compat": {
-      "version": "3.6.4",
-      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.4.tgz",
-      "integrity": "sha512-zAa3IZPvsJ0slViBQ2z+vgyyTuhd3MFn1rBQjZSKVEgB0UMYhUkCj9jJUVPgGTGqWvsBVmfnruXgTcNyTlEiSA==",
+      "version": "3.6.5",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz",
+      "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==",
       "dev": true,
       "requires": {
-        "browserslist": "^4.8.3",
+        "browserslist": "^4.8.5",
         "semver": "7.0.0"
       },
       "dependencies": {
@@ -7269,77 +6689,10 @@
           "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
           "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=",
           "dev": true,
-          "requires": {
-            "error-ex": "^1.3.1",
-            "json-parse-better-errors": "^1.0.1"
-          }
-        }
-      }
-    },
-    "coverage-istanbul-loader": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/coverage-istanbul-loader/-/coverage-istanbul-loader-2.0.3.tgz",
-      "integrity": "sha512-LiGRvyIuzVYs3M1ZYK1tF0HekjH0DJ8zFdUwAZq378EJzqOgToyb1690dp3TAUlP6Y+82uu42LRjuROVeJ54CA==",
-      "dev": true,
-      "requires": {
-        "convert-source-map": "^1.7.0",
-        "istanbul-lib-instrument": "^4.0.0",
-        "loader-utils": "^1.2.3",
-        "merge-source-map": "^1.1.0",
-        "schema-utils": "^2.6.1"
-      },
-      "dependencies": {
-        "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "convert-source-map": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
-          "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "~5.1.1"
-          }
-        },
-        "fast-deep-equal": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
-          "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
-          "dev": true
-        },
-        "merge-source-map": {
-          "version": "1.1.0",
-          "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
-          "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
-          "dev": true,
-          "requires": {
-            "source-map": "^0.6.1"
-          }
-        },
-        "schema-utils": {
-          "version": "2.6.5",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz",
-          "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==",
-          "dev": true,
-          "requires": {
-            "ajv": "^6.12.0",
-            "ajv-keywords": "^3.4.1"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
+          "requires": {
+            "error-ex": "^1.3.1",
+            "json-parse-better-errors": "^1.0.1"
+          }
         }
       }
     },
@@ -7360,6 +6713,14 @@
       "requires": {
         "bn.js": "^4.1.0",
         "elliptic": "^6.0.0"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
+          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
       }
     },
     "create-error-class": {
@@ -7482,6 +6843,96 @@
         "timsort": "^0.3.0"
       }
     },
+    "css-loader": {
+      "version": "3.5.1",
+      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.1.tgz",
+      "integrity": "sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==",
+      "dev": true,
+      "requires": {
+        "camelcase": "^5.3.1",
+        "cssesc": "^3.0.0",
+        "icss-utils": "^4.1.1",
+        "loader-utils": "^1.2.3",
+        "normalize-path": "^3.0.0",
+        "postcss": "^7.0.27",
+        "postcss-modules-extract-imports": "^2.0.0",
+        "postcss-modules-local-by-default": "^3.0.2",
+        "postcss-modules-scope": "^2.2.0",
+        "postcss-modules-values": "^3.0.0",
+        "postcss-value-parser": "^4.0.3",
+        "schema-utils": "^2.6.5",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
+        "ajv": {
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
+        "normalize-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
+            "ajv-keywords": "^3.4.1"
+          }
+        },
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        }
+      }
+    },
     "css-parse": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz",
@@ -7510,14 +6961,14 @@
       "dev": true
     },
     "css-selector-tokenizer": {
-      "version": "0.7.1",
-      "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.1.tgz",
-      "integrity": "sha512-xYL0AMZJ4gFzJQsHUKa5jiWWi2vH77WVNg7JYRyewwj6oPh4yb/y6Y9ZCw9dsj/9UauMhtuxR+ogQd//EdEVNA==",
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz",
+      "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==",
       "dev": true,
       "requires": {
-        "cssesc": "^0.1.0",
-        "fastparse": "^1.1.1",
-        "regexpu-core": "^1.0.0"
+        "cssesc": "^3.0.0",
+        "fastparse": "^1.1.2",
+        "regexpu-core": "^4.6.0"
       }
     },
     "css-tree": {
@@ -7554,9 +7005,9 @@
       }
     },
     "cssesc": {
-      "version": "0.1.0",
-      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-0.1.0.tgz",
-      "integrity": "sha1-yBSQPkViM3GgR3tAEJqq++6t27Q=",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
       "dev": true
     },
     "cssnano": {
@@ -7637,12 +7088,36 @@
       "dev": true
     },
     "csso": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.2.tgz",
-      "integrity": "sha512-kS7/oeNVXkHWxby5tHVxlhjizRCSv8QdU7hB2FpdAibDU8FjTAolhNjKNTiLzXtUrKT6HwClE81yXwEk1309wg==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz",
+      "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==",
       "dev": true,
       "requires": {
-        "css-tree": "1.0.0-alpha.37"
+        "css-tree": "1.0.0-alpha.39"
+      },
+      "dependencies": {
+        "css-tree": {
+          "version": "1.0.0-alpha.39",
+          "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz",
+          "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==",
+          "dev": true,
+          "requires": {
+            "mdn-data": "2.0.6",
+            "source-map": "^0.6.1"
+          }
+        },
+        "mdn-data": {
+          "version": "2.0.6",
+          "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz",
+          "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        }
       }
     },
     "currently-unhandled": {
@@ -7974,9 +7449,9 @@
       }
     },
     "date-format": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
-      "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz",
+      "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==",
       "dev": true
     },
     "debug": {
@@ -8056,15 +7531,6 @@
         "ip-regex": "^2.1.0"
       }
     },
-    "default-require-extensions": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz",
-      "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=",
-      "dev": true,
-      "requires": {
-        "strip-bom": "^3.0.0"
-      }
-    },
     "defaults": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
@@ -8310,6 +7776,14 @@
         "bn.js": "^4.1.0",
         "miller-rabin": "^4.0.0",
         "randombytes": "^2.0.0"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
+          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
       }
     },
     "dir-glob": {
@@ -8322,28 +7796,77 @@
       }
     },
     "dmg-builder": {
-      "version": "22.4.1",
-      "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.4.1.tgz",
-      "integrity": "sha512-hEemh7n0zoVt7zPPwvn7iOttP03oENjJ4ApttPmt8oDnX8T4q42MjGWyDlLkPMplMJfoTxkkNqmm296f0OYM8Q==",
+      "version": "22.7.0",
+      "resolved": "https://registry.npmjs.org/dmg-builder/-/dmg-builder-22.7.0.tgz",
+      "integrity": "sha512-5Ea2YEz6zSNbyGzZD+O9/MzmaXb6oa15cSKWo4JQ1xP4rorOpte7IOj2jcwYjtc+Los2gu1lvT314OC1OZIWgg==",
       "dev": true,
       "requires": {
-        "app-builder-lib": "~22.4.1",
-        "bluebird-lst": "^1.0.9",
-        "builder-util": "~22.4.1",
-        "fs-extra": "^8.1.0",
+        "app-builder-lib": "22.7.0",
+        "builder-util": "22.7.0",
+        "fs-extra": "^9.0.0",
         "iconv-lite": "^0.5.1",
-        "js-yaml": "^3.13.1",
+        "js-yaml": "^3.14.0",
         "sanitize-filename": "^1.6.3"
       },
       "dependencies": {
+        "esprima": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+          "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+          "dev": true
+        },
+        "fs-extra": {
+          "version": "9.0.1",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+          "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+          "dev": true,
+          "requires": {
+            "at-least-node": "^1.0.0",
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^1.0.0"
+          }
+        },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
         "iconv-lite": {
-          "version": "0.5.1",
-          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.1.tgz",
-          "integrity": "sha512-ONHr16SQvKZNSqjQT9gy5z24Jw+uqfO02/ngBSBoqChZ+W8qXX7GPRa1RoUnzGADw8K63R1BXUMzarCVQBpY8Q==",
+          "version": "0.5.2",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz",
+          "integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==",
           "dev": true,
           "requires": {
             "safer-buffer": ">= 2.1.2 < 3"
           }
+        },
+        "js-yaml": {
+          "version": "3.14.0",
+          "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
+          "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
+          "dev": true,
+          "requires": {
+            "argparse": "^1.0.7",
+            "esprima": "^4.0.0"
+          }
+        },
+        "jsonfile": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
+          "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^1.0.0"
+          }
+        },
+        "universalify": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+          "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
+          "dev": true
         }
       }
     },
@@ -8508,15 +8031,18 @@
       "dev": true
     },
     "ejs": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.0.1.tgz",
-      "integrity": "sha512-cuIMtJwxvzumSAkqaaoGY/L6Fc/t6YvoP9/VIaK0V/CyqKLEQ8sqODmYfy/cjXEdZ9+OOL8TecbJu+1RsofGDw==",
-      "dev": true
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.3.tgz",
+      "integrity": "sha512-wmtrUGyfSC23GC/B1SMv2ogAUgbQEtDmTIhfqielrG5ExIM9TP4UoYdi90jLF1aTcsWCJNEO0UrgKzP0y3nTSg==",
+      "dev": true,
+      "requires": {
+        "jake": "^10.6.1"
+      }
     },
     "electron": {
-      "version": "8.1.1",
-      "resolved": "https://registry.npmjs.org/electron/-/electron-8.1.1.tgz",
-      "integrity": "sha512-t+5zzFo7VOgckJc9YpImHJkpqeWxwpmEjywWbAa4IT5MULS7h1XU52H9gMswK/y8xc5lBNwxLhJSty/15+gi1A==",
+      "version": "9.0.3",
+      "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.3.tgz",
+      "integrity": "sha512-rY59wy50z0oWp/q69zq0UIzvtcM5j2BJbLAwEoLfVNS3DLt9wDZqRqSIBvLEBl+xWbafCnRA9haEqi7ssM94GA==",
       "dev": true,
       "requires": {
         "@electron/get": "^1.0.1",
@@ -8525,33 +8051,33 @@
       },
       "dependencies": {
         "@types/node": {
-          "version": "12.12.29",
-          "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.29.tgz",
-          "integrity": "sha512-yo8Qz0ygADGFptISDj3pOC9wXfln/5pQaN/ysDIzOaAWXt73cNHmtEC8zSO2Y+kse/txmwIAJzkYZ5fooaS5DQ==",
+          "version": "12.12.45",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.45.tgz",
+          "integrity": "sha512-9w50wqeS0qQH9bo1iIRcQhDXRxoDzyAqCL5oJG+Nuu7cAoe6omGo+YDE0spAGK5sPrdLDhQLbQxq0DnxyndPKA==",
           "dev": true
         }
       }
     },
     "electron-builder": {
-      "version": "22.4.1",
-      "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.4.1.tgz",
-      "integrity": "sha512-13CjZcGeJS+c3EKRwFT/Oty5Niif5g1FwDioBLEbjkPCPQgxdtDsr+rJtCu9qxkiKDYpAoPS+t/clNk0efONvQ==",
+      "version": "22.7.0",
+      "resolved": "https://registry.npmjs.org/electron-builder/-/electron-builder-22.7.0.tgz",
+      "integrity": "sha512-t6E3oMutpST64YWbZCg7HodEwJOsnjUF1vnDIHm2MW6CFZPX8tlCK6efqaV66LU0E0Nkp/JH6TE5bCqQ1+VdPQ==",
       "dev": true,
       "requires": {
-        "@types/yargs": "^15.0.4",
-        "app-builder-lib": "22.4.1",
+        "@types/yargs": "^15.0.5",
+        "app-builder-lib": "22.7.0",
         "bluebird-lst": "^1.0.9",
-        "builder-util": "22.4.1",
-        "builder-util-runtime": "8.6.2",
-        "chalk": "^3.0.0",
-        "dmg-builder": "22.4.1",
-        "fs-extra": "^8.1.0",
+        "builder-util": "22.7.0",
+        "builder-util-runtime": "8.7.1",
+        "chalk": "^4.0.0",
+        "dmg-builder": "22.7.0",
+        "fs-extra": "^9.0.0",
         "is-ci": "^2.0.0",
         "lazy-val": "^1.0.4",
-        "read-config-file": "5.0.2",
+        "read-config-file": "6.0.0",
         "sanitize-filename": "^1.6.3",
         "update-notifier": "^4.1.0",
-        "yargs": "^15.1.0"
+        "yargs": "^15.3.1"
       },
       "dependencies": {
         "ansi-regex": {
@@ -8571,9 +8097,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -8610,12 +8136,30 @@
             "path-exists": "^4.0.0"
           }
         },
+        "fs-extra": {
+          "version": "9.0.1",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+          "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+          "dev": true,
+          "requires": {
+            "at-least-node": "^1.0.0",
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^1.0.0"
+          }
+        },
         "get-caller-file": {
           "version": "2.0.5",
           "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
           "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
           "dev": true
         },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
         "has-flag": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -8628,6 +8172,16 @@
           "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
           "dev": true
         },
+        "jsonfile": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
+          "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^1.0.0"
+          }
+        },
         "locate-path": {
           "version": "5.0.0",
           "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
@@ -8687,6 +8241,12 @@
             "has-flag": "^4.0.0"
           }
         },
+        "universalify": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+          "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
+          "dev": true
+        },
         "wrap-ansi": {
           "version": "6.2.0",
           "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -8699,9 +8259,9 @@
           }
         },
         "yargs": {
-          "version": "15.3.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz",
-          "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==",
+          "version": "15.3.1",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+          "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
           "dev": true,
           "requires": {
             "cliui": "^6.0.0",
@@ -8714,13 +8274,13 @@
             "string-width": "^4.2.0",
             "which-module": "^2.0.0",
             "y18n": "^4.0.0",
-            "yargs-parser": "^18.1.0"
+            "yargs-parser": "^18.1.1"
           }
         },
         "yargs-parser": {
-          "version": "18.1.0",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.0.tgz",
-          "integrity": "sha512-o/Jr6JBOv6Yx3pL+5naWSoIA2jJ+ZkMYQG/ie9qFbukBe4uzmBatlXFOiu/tNKRWEtyf+n5w7jc/O16ufqOTdQ==",
+          "version": "18.1.3",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
           "dev": true,
           "requires": {
             "camelcase": "^5.0.0",
@@ -8730,19 +8290,19 @@
       }
     },
     "electron-publish": {
-      "version": "22.4.1",
-      "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.4.1.tgz",
-      "integrity": "sha512-nwKNum3KXm+01rtWX2pc1jhazdzDy2zYnQx+zmXphZchjd6UOMX3ZN0xyZUCKugw5ZliflT6LkgbrcBXBtYD3A==",
+      "version": "22.7.0",
+      "resolved": "https://registry.npmjs.org/electron-publish/-/electron-publish-22.7.0.tgz",
+      "integrity": "sha512-hmU69xlb6vvAV3QfpHYDlkdZMFdBAgDbptoxbLFrnTq5bOkcL8AaDbvxeoZ4+lvqgs29NwqGpkHo2oN+p/hCfg==",
       "dev": true,
       "requires": {
-        "@types/fs-extra": "^8.1.0",
+        "@types/fs-extra": "^9.0.1",
         "bluebird-lst": "^1.0.9",
-        "builder-util": "~22.4.1",
-        "builder-util-runtime": "8.6.2",
-        "chalk": "^3.0.0",
-        "fs-extra": "^8.1.0",
+        "builder-util": "22.7.0",
+        "builder-util-runtime": "8.7.1",
+        "chalk": "^4.0.0",
+        "fs-extra": "^9.0.0",
         "lazy-val": "^1.0.4",
-        "mime": "^2.4.4"
+        "mime": "^2.4.5"
       },
       "dependencies": {
         "ansi-styles": {
@@ -8756,9 +8316,9 @@
           }
         },
         "chalk": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
-          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+          "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
           "dev": true,
           "requires": {
             "ansi-styles": "^4.1.0",
@@ -8774,16 +8334,44 @@
             "color-name": "~1.1.4"
           }
         },
+        "fs-extra": {
+          "version": "9.0.1",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+          "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+          "dev": true,
+          "requires": {
+            "at-least-node": "^1.0.0",
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^6.0.1",
+            "universalify": "^1.0.0"
+          }
+        },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
         "has-flag": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
           "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
           "dev": true
         },
+        "jsonfile": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
+          "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^1.0.0"
+          }
+        },
         "mime": {
-          "version": "2.4.4",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
-          "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
+          "version": "2.4.6",
+          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
+          "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
           "dev": true
         },
         "supports-color": {
@@ -8794,13 +8382,19 @@
           "requires": {
             "has-flag": "^4.0.0"
           }
+        },
+        "universalify": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+          "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
+          "dev": true
         }
       }
     },
     "electron-to-chromium": {
-      "version": "1.3.379",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.379.tgz",
-      "integrity": "sha512-NK9DBBYEBb5f9D7zXI0hiE941gq3wkBeQmXs1ingigA/jnTg5mhwY2Z5egwA+ZI8OLGKCx0h1Cl8/xeuIBuLlg==",
+      "version": "1.3.465",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.465.tgz",
+      "integrity": "sha512-K/lUeT3NLAsJ5SHRDhK3/zd0tw7OUllYD8w+fTOXm6ljCPsp2qq+vMzxpLo8u1M27ZjZAjRbsA6rirvne2nAMQ==",
       "dev": true
     },
     "elementtree": {
@@ -8831,6 +8425,14 @@
         "inherits": "^2.0.1",
         "minimalistic-assert": "^1.0.0",
         "minimalistic-crypto-utils": "^1.0.0"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
+          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
       }
     },
     "emoji-regex": {
@@ -8839,10 +8441,15 @@
       "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
       "dev": true
     },
+    "emoji-toolkit": {
+      "version": "5.5.1",
+      "resolved": "https://registry.npmjs.org/emoji-toolkit/-/emoji-toolkit-5.5.1.tgz",
+      "integrity": "sha512-H8E6DNTsRLgy1FVWAiyuW4nqHka0rvUkXhmJPzL28gXo4pLKvuoEi6VhodJ1RfIZOZZ7Zmxo1sENYinyytl/ww=="
+    },
     "emojis-list": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
-      "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+      "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
       "dev": true
     },
     "encodeurl": {
@@ -8880,64 +8487,91 @@
       }
     },
     "engine.io": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
-      "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==",
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.4.2.tgz",
+      "integrity": "sha512-b4Q85dFkGw+TqgytGPrGgACRUhsdKc9S9ErRAXpPGy/CXKs4tYoHDkvIRdsseAF7NjfVwjRFIn6KTnbw7LwJZg==",
       "dev": true,
       "requires": {
         "accepts": "~1.3.4",
-        "base64id": "1.0.0",
+        "base64id": "2.0.0",
         "cookie": "0.3.1",
-        "debug": "~3.1.0",
-        "engine.io-parser": "~2.1.0",
-        "ws": "~3.3.1"
+        "debug": "~4.1.0",
+        "engine.io-parser": "~2.2.0",
+        "ws": "^7.1.2"
       },
       "dependencies": {
         "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
-            "ms": "2.0.0"
+            "ms": "^2.1.1"
           }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         }
       }
     },
     "engine.io-client": {
-      "version": "3.2.1",
-      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
-      "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
+      "version": "3.4.3",
+      "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.4.3.tgz",
+      "integrity": "sha512-0NGY+9hioejTEJCaSJZfWZLk4FPI9dN+1H1C4+wj2iuFba47UgZbJzfWs4aNFajnX/qAaYKbe2lLTfEEWzCmcw==",
       "dev": true,
       "requires": {
-        "component-emitter": "1.2.1",
+        "component-emitter": "~1.3.0",
         "component-inherit": "0.0.3",
-        "debug": "~3.1.0",
-        "engine.io-parser": "~2.1.1",
+        "debug": "~4.1.0",
+        "engine.io-parser": "~2.2.0",
         "has-cors": "1.1.0",
         "indexof": "0.0.1",
         "parseqs": "0.0.5",
         "parseuri": "0.0.5",
-        "ws": "~3.3.1",
+        "ws": "~6.1.0",
         "xmlhttprequest-ssl": "~1.5.4",
         "yeast": "0.1.2"
       },
       "dependencies": {
+        "component-emitter": {
+          "version": "1.3.0",
+          "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
+          "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
+          "dev": true
+        },
         "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
-            "ms": "2.0.0"
+            "ms": "^2.1.1"
+          }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        },
+        "ws": {
+          "version": "6.1.4",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-6.1.4.tgz",
+          "integrity": "sha512-eqZfL+NE/YQc1/ZynhojeV8q+H050oR8AZ2uIev7RU10svA9ZnJUddHcOUZTJLinZ9yEfdA2kSATS2qZK5fhJA==",
+          "dev": true,
+          "requires": {
+            "async-limiter": "~1.0.0"
           }
         }
       }
     },
     "engine.io-parser": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
-      "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.0.tgz",
+      "integrity": "sha512-6I3qD9iUxotsC5HEMuuGsKA0cXerGz+4uGcXQEkfBidgKf0amsjrrtwcbwK/nzpZBxclXlV7gGl9dgWvu4LF6w==",
       "dev": true,
       "requires": {
         "after": "0.8.2",
@@ -9248,9 +8882,9 @@
       }
     },
     "eventemitter3": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz",
-      "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==",
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
+      "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
       "dev": true
     },
     "events": {
@@ -9652,15 +9286,32 @@
       }
     },
     "extract-zip": {
-      "version": "1.6.7",
-      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
-      "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz",
+      "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==",
       "dev": true,
       "requires": {
-        "concat-stream": "1.6.2",
-        "debug": "2.6.9",
-        "mkdirp": "0.5.1",
-        "yauzl": "2.4.1"
+        "concat-stream": "^1.6.2",
+        "debug": "^2.6.9",
+        "mkdirp": "^0.5.4",
+        "yauzl": "^2.10.0"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
+        "mkdirp": {
+          "version": "0.5.5",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+          "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.5"
+          }
+        }
       }
     },
     "extsprintf": {
@@ -9682,9 +9333,9 @@
       },
       "dependencies": {
         "acorn": {
-          "version": "5.7.3",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.3.tgz",
-          "integrity": "sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw==",
+          "version": "5.7.4",
+          "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz",
+          "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==",
           "dev": true
         },
         "isarray": {
@@ -9760,9 +9411,9 @@
       }
     },
     "fd-slicer": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
-      "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+      "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=",
       "dev": true,
       "requires": {
         "pend": "~1.2.0"
@@ -9784,19 +9435,19 @@
       }
     },
     "file-loader": {
-      "version": "4.2.0",
-      "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-4.2.0.tgz",
-      "integrity": "sha512-+xZnaK5R8kBJrHK0/6HRlrKNamvVS5rjyuju+rnyxRGuwUJwpAMsVzUl5dz6rK8brkzjV6JpcFNjp6NqV0g1OQ==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz",
+      "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==",
       "dev": true,
       "requires": {
-        "loader-utils": "^1.2.3",
-        "schema-utils": "^2.0.0"
+        "loader-utils": "^2.0.0",
+        "schema-utils": "^2.6.5"
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -9806,18 +9457,19 @@
           }
         },
         "fast-deep-equal": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
-          "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
           "dev": true
         },
         "schema-utils": {
-          "version": "2.6.5",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz",
-          "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==",
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
           "dev": true,
           "requires": {
-            "ajv": "^6.12.0",
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
             "ajv-keywords": "^3.4.1"
           }
         }
@@ -9828,14 +9480,13 @@
       "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.2.tgz",
       "integrity": "sha512-Wz3c3XQ5xroCxd1G8b7yL0Ehkf0TC9oYC6buPFkNnU9EnaPlifeAFCyCh+iewXTyFRcg0a6j3J7FmJsIhlhBdw=="
     },
-    "fileset": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz",
-      "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=",
+    "filelist": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.1.tgz",
+      "integrity": "sha512-8zSK6Nu0DQIC08mUC46sWGXi+q3GGpKydAG36k+JDba6VRpkevvOWUW5a/PhShij4+vHT9M+ghgG7eM+a9JDUQ==",
       "dev": true,
       "requires": {
-        "glob": "^7.0.3",
-        "minimatch": "^3.0.3"
+        "minimatch": "^3.0.4"
       }
     },
     "fill-range": {
@@ -9891,13 +9542,13 @@
       }
     },
     "find-cache-dir": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.0.0.tgz",
-      "integrity": "sha512-t7ulV1fmbxh5G9l/492O1p5+EBbr3uwpt6odhFTMc+nWyhmbloe+ja9BZ8pIBtqFWhOmCWVjx+pTW4zDkFoclw==",
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
+      "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
       "dev": true,
       "requires": {
         "commondir": "^1.0.1",
-        "make-dir": "^3.0.0",
+        "make-dir": "^3.0.2",
         "pkg-dir": "^4.1.0"
       },
       "dependencies": {
@@ -9921,9 +9572,9 @@
           }
         },
         "make-dir": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz",
-          "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==",
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
           "dev": true,
           "requires": {
             "semver": "^6.0.0"
@@ -9977,9 +9628,9 @@
       "dev": true
     },
     "flatted": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.1.tgz",
-      "integrity": "sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
+      "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==",
       "dev": true
     },
     "flush-write-stream": {
@@ -10184,19 +9835,38 @@
       }
     },
     "fs-extra": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
-      "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
+      "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
+      "dev": true,
       "requires": {
+        "at-least-node": "^1.0.0",
         "graceful-fs": "^4.2.0",
-        "jsonfile": "^4.0.0",
-        "universalify": "^0.1.0"
+        "jsonfile": "^6.0.1",
+        "universalify": "^1.0.0"
       },
       "dependencies": {
         "graceful-fs": {
-          "version": "4.2.2",
-          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
-          "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
+        "jsonfile": {
+          "version": "6.0.1",
+          "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
+          "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.1.6",
+            "universalify": "^1.0.0"
+          }
+        },
+        "universalify": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
+          "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
+          "dev": true
         }
       }
     },
@@ -10796,12 +10466,6 @@
       "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==",
       "dev": true
     },
-    "get-caller-file": {
-      "version": "1.0.3",
-      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz",
-      "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==",
-      "dev": true
-    },
     "get-stream": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
@@ -10864,25 +10528,25 @@
       "dev": true
     },
     "global-agent": {
-      "version": "2.1.8",
-      "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.8.tgz",
-      "integrity": "sha512-VpBe/rhY6Rw2VDOTszAMNambg+4Qv8j0yiTNDYEXXXxkUNGWLHp8A3ztK4YDBbFNcWF4rgsec6/5gPyryya/+A==",
+      "version": "2.1.12",
+      "resolved": "https://registry.npmjs.org/global-agent/-/global-agent-2.1.12.tgz",
+      "integrity": "sha512-caAljRMS/qcDo69X9BfkgrihGUgGx44Fb4QQToNQjsiWh+YlQ66uqYVAdA8Olqit+5Ng0nkz09je3ZzANMZcjg==",
       "dev": true,
       "optional": true,
       "requires": {
-        "boolean": "^3.0.0",
-        "core-js": "^3.6.4",
+        "boolean": "^3.0.1",
+        "core-js": "^3.6.5",
         "es6-error": "^4.1.1",
-        "matcher": "^2.1.0",
-        "roarr": "^2.15.2",
-        "semver": "^7.1.2",
-        "serialize-error": "^5.0.0"
+        "matcher": "^3.0.0",
+        "roarr": "^2.15.3",
+        "semver": "^7.3.2",
+        "serialize-error": "^7.0.1"
       },
       "dependencies": {
         "semver": {
-          "version": "7.1.3",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
-          "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
+          "version": "7.3.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
           "dev": true,
           "optional": true
         }
@@ -11004,17 +10668,24 @@
       "dev": true
     },
     "handlebars": {
-      "version": "4.7.3",
-      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.3.tgz",
-      "integrity": "sha512-SRGwSYuNfx8DwHD/6InAPzD6RgeruWLT+B8e8a7gGs8FWgHzlExpTFMEq2IA6QpAfOClpKHy6+8IqTjeBCu6Kg==",
+      "version": "4.7.6",
+      "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz",
+      "integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==",
       "dev": true,
       "requires": {
+        "minimist": "^1.2.5",
         "neo-async": "^2.6.0",
-        "optimist": "^0.6.1",
         "source-map": "^0.6.1",
-        "uglify-js": "^3.1.4"
+        "uglify-js": "^3.1.4",
+        "wordwrap": "^1.0.0"
       },
       "dependencies": {
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -11129,13 +10800,39 @@
       "dev": true
     },
     "hash-base": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
-      "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
+      "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
       "dev": true,
       "requires": {
-        "inherits": "^2.0.1",
-        "safe-buffer": "^5.0.1"
+        "inherits": "^2.0.4",
+        "readable-stream": "^3.6.0",
+        "safe-buffer": "^5.2.0"
+      },
+      "dependencies": {
+        "inherits": {
+          "version": "2.0.4",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+          "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+          "dev": true
+        },
+        "readable-stream": {
+          "version": "3.6.0",
+          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
+          "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+          "dev": true,
+          "requires": {
+            "inherits": "^2.0.3",
+            "string_decoder": "^1.1.1",
+            "util-deprecate": "^1.0.1"
+          }
+        },
+        "safe-buffer": {
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+          "dev": true
+        }
       }
     },
     "hash.js": {
@@ -11213,9 +10910,9 @@
       "dev": true
     },
     "html-escaper": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.0.tgz",
-      "integrity": "sha512-a4u9BeERWGu/S8JiWEAQcdrg9v4QArtP9keViQjGMdff20fBdd8waotXaNmODqBe6uZ3Nafi7K/ho4gCQHV3Ig==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
       "dev": true
     },
     "html-minifier": {
@@ -11302,12 +10999,12 @@
       "dev": true
     },
     "http-proxy": {
-      "version": "1.17.0",
-      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
-      "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
+      "version": "1.18.1",
+      "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
+      "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
       "dev": true,
       "requires": {
-        "eventemitter3": "^3.0.0",
+        "eventemitter3": "^4.0.0",
         "follow-redirects": "^1.0.0",
         "requires-port": "^1.0.0"
       }
@@ -11424,6 +11121,15 @@
         "safer-buffer": ">= 2.1.2 < 3"
       }
     },
+    "icss-utils": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz",
+      "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==",
+      "dev": true,
+      "requires": {
+        "postcss": "^7.0.14"
+      }
+    },
     "ieee754": {
       "version": "1.1.13",
       "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
@@ -11702,12 +11408,6 @@
         "loose-envify": "^1.0.0"
       }
     },
-    "invert-kv": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz",
-      "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==",
-      "dev": true
-    },
     "ip": {
       "version": "1.1.5",
       "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
@@ -11861,6 +11561,12 @@
       "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=",
       "dev": true
     },
+    "is-docker": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz",
+      "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==",
+      "dev": true
+    },
     "is-extendable": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
@@ -12084,316 +11790,105 @@
     },
     "is-yarn-global": {
       "version": "0.3.0",
-      "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
-      "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
-      "dev": true
-    },
-    "isarray": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-      "dev": true
-    },
-    "isbinaryfile": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.4.tgz",
-      "integrity": "sha512-pEutbN134CzcjlLS1myKX/uxNjwU5eBVSprvkpv3+3dqhBHUZLIWJQowC40w5c0Zf19vBY8mrZl88y5J4RAPbQ==",
-      "dev": true
-    },
-    "isexe": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
-      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
-    },
-    "isobject": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
-      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
-      "dev": true
-    },
-    "isstream": {
-      "version": "0.1.2",
-      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
-      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
-      "dev": true
-    },
-    "istanbul-api": {
-      "version": "2.1.6",
-      "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.6.tgz",
-      "integrity": "sha512-x0Eicp6KsShG1k1rMgBAi/1GgY7kFGEBwQpw3PXGEmu+rBcBNhqU8g2DgY9mlepAsLPzrzrbqSgCGANnki4POA==",
-      "dev": true,
-      "requires": {
-        "async": "^2.6.2",
-        "compare-versions": "^3.4.0",
-        "fileset": "^2.0.3",
-        "istanbul-lib-coverage": "^2.0.5",
-        "istanbul-lib-hook": "^2.0.7",
-        "istanbul-lib-instrument": "^3.3.0",
-        "istanbul-lib-report": "^2.0.8",
-        "istanbul-lib-source-maps": "^3.0.6",
-        "istanbul-reports": "^2.2.4",
-        "js-yaml": "^3.13.1",
-        "make-dir": "^2.1.0",
-        "minimatch": "^3.0.4",
-        "once": "^1.4.0"
-      },
-      "dependencies": {
-        "istanbul-lib-coverage": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-          "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
-          "dev": true
-        },
-        "istanbul-lib-instrument": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz",
-          "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==",
-          "dev": true,
-          "requires": {
-            "@babel/generator": "^7.4.0",
-            "@babel/parser": "^7.4.3",
-            "@babel/template": "^7.4.0",
-            "@babel/traverse": "^7.4.3",
-            "@babel/types": "^7.4.0",
-            "istanbul-lib-coverage": "^2.0.5",
-            "semver": "^6.0.0"
-          }
-        },
-        "make-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-          "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
-          "dev": true,
-          "requires": {
-            "pify": "^4.0.1",
-            "semver": "^5.6.0"
-          },
-          "dependencies": {
-            "semver": {
-              "version": "5.7.1",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-              "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-              "dev": true
-            }
-          }
-        },
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-          "dev": true
-        },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
-    },
-    "istanbul-lib-coverage": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
-      "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
-      "dev": true
-    },
-    "istanbul-lib-hook": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz",
-      "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==",
-      "dev": true,
-      "requires": {
-        "append-transform": "^1.0.0"
-      }
-    },
-    "istanbul-lib-instrument": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz",
-      "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==",
-      "dev": true,
-      "requires": {
-        "@babel/core": "^7.7.5",
-        "@babel/parser": "^7.7.5",
-        "@babel/template": "^7.7.4",
-        "@babel/traverse": "^7.7.4",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.0.0",
-        "semver": "^6.3.0"
-      },
-      "dependencies": {
-        "@babel/code-frame": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz",
-          "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==",
-          "dev": true,
-          "requires": {
-            "@babel/highlight": "^7.8.3"
-          }
-        },
-        "@babel/generator": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.8.8.tgz",
-          "integrity": "sha512-HKyUVu69cZoclptr8t8U5b6sx6zoWjh8jiUhnuj3MpZuKT2dJ8zPTuiy31luq32swhI0SpwItCIlU8XW7BZeJg==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.7",
-            "jsesc": "^2.5.1",
-            "lodash": "^4.17.13",
-            "source-map": "^0.5.0"
-          }
-        },
-        "@babel/helper-function-name": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.8.3.tgz",
-          "integrity": "sha512-BCxgX1BC2hD/oBlIFUgOCQDOPV8nSINxCwM3o93xP4P9Fq6aV5sgv2cOOITDMtCfQ+3PvHp3l689XZvAM9QyOA==",
-          "dev": true,
-          "requires": {
-            "@babel/helper-get-function-arity": "^7.8.3",
-            "@babel/template": "^7.8.3",
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-get-function-arity": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz",
-          "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/helper-split-export-declaration": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz",
-          "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.8.3"
-          }
-        },
-        "@babel/highlight": {
-          "version": "7.8.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.8.3.tgz",
-          "integrity": "sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.0.0",
-            "esutils": "^2.0.2",
-            "js-tokens": "^4.0.0"
-          }
-        },
-        "@babel/parser": {
-          "version": "7.8.8",
-          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.8.8.tgz",
-          "integrity": "sha512-mO5GWzBPsPf6865iIbzNE0AvkKF3NE+2S3eRUpE+FE07BOAkXh6G+GW/Pj01hhXjve1WScbaIO4UlY1JKeqCcA==",
-          "dev": true
-        },
-        "@babel/template": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz",
-          "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6"
-          }
-        },
-        "@babel/traverse": {
-          "version": "7.8.6",
-          "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.8.6.tgz",
-          "integrity": "sha512-2B8l0db/DPi8iinITKuo7cbPznLCEk0kCxDoB9/N6gGNg/gxOXiR/IcymAFPiBwk5w6TtQ27w4wpElgp9btR9A==",
-          "dev": true,
-          "requires": {
-            "@babel/code-frame": "^7.8.3",
-            "@babel/generator": "^7.8.6",
-            "@babel/helper-function-name": "^7.8.3",
-            "@babel/helper-split-export-declaration": "^7.8.3",
-            "@babel/parser": "^7.8.6",
-            "@babel/types": "^7.8.6",
-            "debug": "^4.1.0",
-            "globals": "^11.1.0",
-            "lodash": "^4.17.13"
-          }
-        },
-        "@babel/types": {
-          "version": "7.8.7",
-          "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.8.7.tgz",
-          "integrity": "sha512-k2TreEHxFA4CjGkL+GYjRyx35W0Mr7DP5+9q6WMkyKXB+904bYmG40syjMFV0oLlhhFCwWl0vA0DyzTDkwAiJw==",
-          "dev": true,
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        },
+      "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.3.0.tgz",
+      "integrity": "sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==",
+      "dev": true
+    },
+    "isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+      "dev": true
+    },
+    "isbinaryfile": {
+      "version": "4.0.6",
+      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz",
+      "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==",
+      "dev": true
+    },
+    "isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+    },
+    "isobject": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+      "dev": true
+    },
+    "isstream": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+      "dev": true
+    },
+    "istanbul-lib-coverage": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz",
+      "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==",
+      "dev": true
+    },
+    "istanbul-lib-instrument": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz",
+      "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==",
+      "dev": true,
+      "requires": {
+        "@babel/core": "^7.7.5",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-coverage": "^3.0.0",
+        "semver": "^6.3.0"
+      },
+      "dependencies": {
         "semver": {
           "version": "6.3.0",
           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
           "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
           "dev": true
-        },
-        "source-map": {
-          "version": "0.5.7",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-          "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-          "dev": true
         }
       }
     },
     "istanbul-lib-report": {
-      "version": "2.0.8",
-      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz",
-      "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz",
+      "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==",
       "dev": true,
       "requires": {
-        "istanbul-lib-coverage": "^2.0.5",
-        "make-dir": "^2.1.0",
-        "supports-color": "^6.1.0"
+        "istanbul-lib-coverage": "^3.0.0",
+        "make-dir": "^3.0.0",
+        "supports-color": "^7.1.0"
       },
       "dependencies": {
-        "istanbul-lib-coverage": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-          "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==",
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
           "dev": true
         },
         "make-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-          "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
           "dev": true,
           "requires": {
-            "pify": "^4.0.1",
-            "semver": "^5.6.0"
+            "semver": "^6.0.0"
           }
         },
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-          "dev": true
-        },
         "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
           "dev": true
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
         }
       }
     },
@@ -12462,12 +11957,33 @@
       }
     },
     "istanbul-reports": {
-      "version": "2.2.7",
-      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz",
-      "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==",
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz",
+      "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==",
+      "dev": true,
+      "requires": {
+        "html-escaper": "^2.0.0",
+        "istanbul-lib-report": "^3.0.0"
+      }
+    },
+    "jake": {
+      "version": "10.8.2",
+      "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
+      "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
       "dev": true,
       "requires": {
-        "html-escaper": "^2.0.0"
+        "async": "0.9.x",
+        "chalk": "^2.4.2",
+        "filelist": "^1.0.1",
+        "minimatch": "^3.0.4"
+      },
+      "dependencies": {
+        "async": {
+          "version": "0.9.2",
+          "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+          "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+          "dev": true
+        }
       }
     },
     "jalhyd": {
@@ -12515,20 +12031,12 @@
       "dev": true
     },
     "jasmine-spec-reporter": {
-      "version": "4.2.1",
-      "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz",
-      "integrity": "sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg==",
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz",
+      "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==",
       "dev": true,
       "requires": {
-        "colors": "1.1.2"
-      },
-      "dependencies": {
-        "colors": {
-          "version": "1.1.2",
-          "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
-          "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=",
-          "dev": true
-        }
+        "colors": "1.4.0"
       }
     },
     "jasminewd2": {
@@ -12538,21 +12046,32 @@
       "dev": true
     },
     "jest-worker": {
-      "version": "24.9.0",
-      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz",
-      "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==",
+      "version": "25.1.0",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz",
+      "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==",
       "dev": true,
       "requires": {
         "merge-stream": "^2.0.0",
-        "supports-color": "^6.1.0"
+        "supports-color": "^7.0.0"
+      },
+      "dependencies": {
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
+          }
+        }
       }
     },
-    "js-levenshtein": {
-      "version": "1.1.6",
-      "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz",
-      "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==",
-      "dev": true
-    },
     "js-tokens": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -12626,12 +12145,12 @@
       "dev": true
     },
     "json5": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-      "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+      "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
       "dev": true,
       "requires": {
-        "minimist": "^1.2.0"
+        "minimist": "^1.2.5"
       },
       "dependencies": {
         "minimist": {
@@ -12669,9 +12188,9 @@
       }
     },
     "jszip": {
-      "version": "3.2.2",
-      "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.2.2.tgz",
-      "integrity": "sha512-NmKajvAFQpbg3taXQXr/ccS2wcucR1AZ+NtyWp2Nq7HHVsXhcJFR8p0Baf32C2yVvBylFWVeKf+WI2AnvlPhpA==",
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.4.0.tgz",
+      "integrity": "sha512-gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg==",
       "dev": true,
       "requires": {
         "lie": "~3.3.0",
@@ -12681,55 +12200,53 @@
       }
     },
     "karma": {
-      "version": "4.4.1",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz",
-      "integrity": "sha512-L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.9.tgz",
+      "integrity": "sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg==",
       "dev": true,
       "requires": {
-        "bluebird": "^3.3.0",
-        "body-parser": "^1.16.1",
+        "body-parser": "^1.19.0",
         "braces": "^3.0.2",
         "chokidar": "^3.0.0",
-        "colors": "^1.1.0",
-        "connect": "^3.6.0",
+        "colors": "^1.4.0",
+        "connect": "^3.7.0",
         "di": "^0.0.1",
-        "dom-serialize": "^2.2.0",
-        "flatted": "^2.0.0",
-        "glob": "^7.1.1",
-        "graceful-fs": "^4.1.2",
-        "http-proxy": "^1.13.0",
-        "isbinaryfile": "^3.0.0",
-        "lodash": "^4.17.14",
-        "log4js": "^4.0.0",
-        "mime": "^2.3.1",
-        "minimatch": "^3.0.2",
-        "optimist": "^0.6.1",
-        "qjobs": "^1.1.4",
-        "range-parser": "^1.2.0",
-        "rimraf": "^2.6.0",
-        "safe-buffer": "^5.0.1",
-        "socket.io": "2.1.1",
+        "dom-serialize": "^2.2.1",
+        "flatted": "^2.0.2",
+        "glob": "^7.1.6",
+        "graceful-fs": "^4.2.4",
+        "http-proxy": "^1.18.1",
+        "isbinaryfile": "^4.0.6",
+        "lodash": "^4.17.15",
+        "log4js": "^6.2.1",
+        "mime": "^2.4.5",
+        "minimatch": "^3.0.4",
+        "qjobs": "^1.2.0",
+        "range-parser": "^1.2.1",
+        "rimraf": "^3.0.2",
+        "socket.io": "^2.3.0",
         "source-map": "^0.6.1",
-        "tmp": "0.0.33",
-        "useragent": "2.3.0"
+        "tmp": "0.2.1",
+        "ua-parser-js": "0.7.21",
+        "yargs": "^15.3.1"
       },
       "dependencies": {
-        "anymatch": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
-          "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+          "dev": true
+        },
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+          "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
           "dev": true,
           "requires": {
-            "normalize-path": "^3.0.0",
-            "picomatch": "^2.0.4"
+            "@types/color-name": "^1.1.1",
+            "color-convert": "^2.0.1"
           }
         },
-        "binary-extensions": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
-          "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
-          "dev": true
-        },
         "braces": {
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
@@ -12739,22 +12256,44 @@
             "fill-range": "^7.0.1"
           }
         },
-        "chokidar": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
-          "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
+        "cliui": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+          "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
           "dev": true,
           "requires": {
-            "anymatch": "~3.1.1",
-            "braces": "~3.0.2",
-            "fsevents": "~2.1.2",
-            "glob-parent": "~5.1.0",
-            "is-binary-path": "~2.1.0",
-            "is-glob": "~4.0.1",
-            "normalize-path": "~3.0.0",
-            "readdirp": "~3.3.0"
+            "string-width": "^4.2.0",
+            "strip-ansi": "^6.0.0",
+            "wrap-ansi": "^6.2.0"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
           }
         },
+        "connect": {
+          "version": "3.7.0",
+          "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
+          "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==",
+          "dev": true,
+          "requires": {
+            "debug": "2.6.9",
+            "finalhandler": "1.1.2",
+            "parseurl": "~1.3.3",
+            "utils-merge": "1.0.1"
+          }
+        },
+        "eventemitter3": {
+          "version": "4.0.4",
+          "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
+          "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
+          "dev": true
+        },
         "fill-range": {
           "version": "7.0.1",
           "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -12764,74 +12303,120 @@
             "to-regex-range": "^5.0.1"
           }
         },
-        "fsevents": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
-          "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
-          "dev": true,
-          "optional": true
-        },
-        "glob-parent": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
-          "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
           "dev": true,
           "requires": {
-            "is-glob": "^4.0.1"
+            "locate-path": "^5.0.0",
+            "path-exists": "^4.0.0"
           }
         },
-        "is-binary-path": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-          "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+        "get-caller-file": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+          "dev": true
+        },
+        "glob": {
+          "version": "7.1.6",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+          "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
           "dev": true,
           "requires": {
-            "binary-extensions": "^2.0.0"
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
           }
         },
-        "is-glob": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-          "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
+        "http-proxy": {
+          "version": "1.18.1",
+          "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
+          "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
           "dev": true,
           "requires": {
-            "is-extglob": "^2.1.1"
+            "eventemitter3": "^4.0.0",
+            "follow-redirects": "^1.0.0",
+            "requires-port": "^1.0.0"
           }
         },
+        "is-fullwidth-code-point": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+          "dev": true
+        },
         "is-number": {
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
           "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
           "dev": true
         },
-        "isbinaryfile": {
-          "version": "3.0.3",
-          "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
-          "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
+        "locate-path": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
           "dev": true,
           "requires": {
-            "buffer-alloc": "^1.2.0"
+            "p-locate": "^4.1.0"
           }
         },
+        "lodash": {
+          "version": "4.17.15",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+          "dev": true
+        },
         "mime": {
-          "version": "2.4.4",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
-          "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
+          "version": "2.4.6",
+          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz",
+          "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==",
           "dev": true
         },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+          "dev": true,
+          "requires": {
+            "p-limit": "^2.2.0"
+          }
+        },
+        "parseurl": {
+          "version": "1.3.3",
+          "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+          "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
           "dev": true
         },
-        "readdirp": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
-          "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
+        "path-exists": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+          "dev": true
+        },
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+          "dev": true
+        },
+        "rimraf": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
           "dev": true,
           "requires": {
-            "picomatch": "^2.0.7"
+            "glob": "^7.1.3"
           }
         },
         "source-map": {
@@ -12840,6 +12425,35 @@
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
           "dev": true
         },
+        "string-width": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+          "dev": true,
+          "requires": {
+            "emoji-regex": "^8.0.0",
+            "is-fullwidth-code-point": "^3.0.0",
+            "strip-ansi": "^6.0.0"
+          }
+        },
+        "strip-ansi": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^5.0.0"
+          }
+        },
+        "tmp": {
+          "version": "0.2.1",
+          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+          "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+          "dev": true,
+          "requires": {
+            "rimraf": "^3.0.0"
+          }
+        },
         "to-regex-range": {
           "version": "5.0.1",
           "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -12848,6 +12462,46 @@
           "requires": {
             "is-number": "^7.0.0"
           }
+        },
+        "wrap-ansi": {
+          "version": "6.2.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+          "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.0.0",
+            "string-width": "^4.1.0",
+            "strip-ansi": "^6.0.0"
+          }
+        },
+        "yargs": {
+          "version": "15.3.1",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+          "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
+          "dev": true,
+          "requires": {
+            "cliui": "^6.0.0",
+            "decamelize": "^1.2.0",
+            "find-up": "^4.1.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^4.2.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^18.1.1"
+          }
+        },
+        "yargs-parser": {
+          "version": "18.1.3",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
         }
       }
     },
@@ -12881,28 +12535,31 @@
       }
     },
     "karma-coverage-istanbul-reporter": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.1.tgz",
-      "integrity": "sha512-CH8lTi8+kKXGvrhy94+EkEMldLCiUA0xMOiL31vvli9qK0T+qcXJAwWBRVJWnVWxYkTmyWar8lPz63dxX6/z1A==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz",
+      "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==",
       "dev": true,
       "requires": {
-        "istanbul-api": "^2.1.6",
+        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-report": "^3.0.0",
+        "istanbul-lib-source-maps": "^3.0.6",
+        "istanbul-reports": "^3.0.2",
         "minimatch": "^3.0.4"
       }
     },
     "karma-jasmine": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.1.1.tgz",
-      "integrity": "sha512-pxBmv5K7IkBRLsFSTOpgiK/HzicQT3mfFF+oHAC7nxMfYKhaYFgxOa5qjnHW4sL5rUnmdkSajoudOnnOdPyW4Q==",
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.3.1.tgz",
+      "integrity": "sha512-Nxh7eX9mOQMyK0VSsMxdod+bcqrR/ikrmEiWj5M6fwuQ7oI+YEF1FckaDsWfs6TIpULm9f0fTKMjF7XcrvWyqQ==",
       "dev": true,
       "requires": {
         "jasmine-core": "^3.5.0"
       }
     },
     "karma-jasmine-html-reporter": {
-      "version": "1.5.2",
-      "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.2.tgz",
-      "integrity": "sha512-ILBPsXqQ3eomq+oaQsM311/jxsypw5/d0LnZXj26XkfThwq7jZ55A2CFSKJVA5VekbbOGvMyv7d3juZj0SeTxA==",
+      "version": "1.5.4",
+      "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.4.tgz",
+      "integrity": "sha512-PtilRLno5O6wH3lDihRnz0Ba8oSn0YUJqKjjux1peoYGwo0AQqrWRbdWk/RLzcGlb+onTyXAnHl6M+Hu3UxG/Q==",
       "dev": true
     },
     "karma-source-map-support": {
@@ -12958,19 +12615,10 @@
       "integrity": "sha512-u93kb2fPbIrfzBuLjZE+w+fJbUUMhNDXxNmMfaqNgpfQf1CO5ZSe2LfsnBqVAk7i/2NF48OSoRj+Xe2VT+lE8Q==",
       "dev": true
     },
-    "lcid": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz",
-      "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==",
-      "dev": true,
-      "requires": {
-        "invert-kv": "^2.0.0"
-      }
-    },
     "less": {
-      "version": "3.10.3",
-      "resolved": "https://registry.npmjs.org/less/-/less-3.10.3.tgz",
-      "integrity": "sha512-vz32vqfgmoxF1h3K4J+yKCtajH0PWmjkIFgbs5d78E/c/e+UQTnI+lWK+1eQRE95PXM2mC3rJlLSSP9VQHnaow==",
+      "version": "3.11.1",
+      "resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz",
+      "integrity": "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==",
       "dev": true,
       "requires": {
         "clone": "^2.1.2",
@@ -12981,7 +12629,8 @@
         "mkdirp": "^0.5.0",
         "promise": "^7.1.1",
         "request": "^2.83.0",
-        "source-map": "~0.6.0"
+        "source-map": "~0.6.0",
+        "tslib": "^1.10.0"
       },
       "dependencies": {
         "source-map": {
@@ -12990,6 +12639,12 @@
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
           "dev": true,
           "optional": true
+        },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
         }
       }
     },
@@ -13004,6 +12659,32 @@
         "pify": "^4.0.1"
       },
       "dependencies": {
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
         "pify": {
           "version": "4.0.1",
           "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
@@ -13012,6 +12693,21 @@
         }
       }
     },
+    "leven": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+      "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+      "dev": true
+    },
+    "levenary": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz",
+      "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==",
+      "dev": true,
+      "requires": {
+        "leven": "^3.1.0"
+      }
+    },
     "levn": {
       "version": "0.3.0",
       "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
@@ -13023,9 +12719,9 @@
       }
     },
     "license-webpack-plugin": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.3.tgz",
-      "integrity": "sha512-vTSY5r9HOq4sxR2BIxdIXWKI+9n3b+DoQkhKHedB3TdSxTfXUDRxKXdAj5iejR+qNXprXsxvEu9W+zOhgGIkAw==",
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz",
+      "integrity": "sha512-1Xq72fmPbTg5KofXs+yI5L4QqPFjQ6mZxoeI6D7gfiEDOtaEIk6PGrdLaej90bpDqKNHNxlQ/MW4tMAL6xMPJQ==",
       "dev": true,
       "requires": {
         "@types/webpack-sources": "^0.1.5",
@@ -13210,14 +12906,14 @@
       "dev": true
     },
     "loader-utils": {
-      "version": "1.2.3",
-      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
-      "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+      "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
       "dev": true,
       "requires": {
         "big.js": "^5.2.2",
-        "emojis-list": "^2.0.0",
-        "json5": "^1.0.1"
+        "emojis-list": "^3.0.0",
+        "json5": "^2.1.2"
       }
     },
     "locate-path": {
@@ -13269,16 +12965,16 @@
       }
     },
     "log4js": {
-      "version": "4.5.1",
-      "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz",
-      "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==",
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz",
+      "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==",
       "dev": true,
       "requires": {
-        "date-format": "^2.0.0",
+        "date-format": "^3.0.0",
         "debug": "^4.1.1",
-        "flatted": "^2.0.0",
+        "flatted": "^2.0.1",
         "rfdc": "^1.1.4",
-        "streamroller": "^1.0.6"
+        "streamroller": "^2.2.4"
       },
       "dependencies": {
         "debug": {
@@ -13298,12 +12994,6 @@
         }
       }
     },
-    "loglevel": {
-      "version": "1.6.7",
-      "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.7.tgz",
-      "integrity": "sha512-cY2eLFrQSAfVPhCgH1s7JI73tMbg9YC3v3+ZHVW67sBS7UxWzNEk/ZBbSfLykBWHp33dqqtOv82gjhKEi81T/A==",
-      "dev": true
-    },
     "loglevel-plugin-prefix": {
       "version": "0.8.4",
       "resolved": "https://registry.npmjs.org/loglevel-plugin-prefix/-/loglevel-plugin-prefix-0.8.4.tgz",
@@ -13396,9 +13086,9 @@
       },
       "dependencies": {
         "cacache": {
-          "version": "12.0.3",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
-          "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+          "version": "12.0.4",
+          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
+          "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
           "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
@@ -13464,15 +13154,6 @@
       "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
       "dev": true
     },
-    "map-age-cleaner": {
-      "version": "0.1.3",
-      "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz",
-      "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==",
-      "dev": true,
-      "requires": {
-        "p-defer": "^1.0.0"
-      }
-    },
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -13501,19 +13182,19 @@
       "dev": true
     },
     "matcher": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/matcher/-/matcher-2.1.0.tgz",
-      "integrity": "sha512-o+nZr+vtJtgPNklyeUKkkH42OsK8WAfdgaJE2FNxcjLPg+5QbeEoT6vRj8Xq/iv18JlQ9cmKsEu0b94ixWf1YQ==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz",
+      "integrity": "sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==",
       "dev": true,
       "optional": true,
       "requires": {
-        "escape-string-regexp": "^2.0.0"
+        "escape-string-regexp": "^4.0.0"
       },
       "dependencies": {
         "escape-string-regexp": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
-          "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+          "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
           "dev": true,
           "optional": true
         }
@@ -13525,9 +13206,9 @@
       "integrity": "sha1-mnHEh0chjrylHlGmbaaCA4zct78="
     },
     "mathjax": {
-      "version": "2.7.7",
-      "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-2.7.7.tgz",
-      "integrity": "sha512-OOl0B2/0tSJAtAZarXnQuLDBLgTNRqiI9VqHTQzPsxf4okT2iIpDrvaklK9x2QEMD1sDj4yRn11Ygci41DxMAQ=="
+      "version": "2.7.8",
+      "resolved": "https://registry.npmjs.org/mathjax/-/mathjax-2.7.8.tgz",
+      "integrity": "sha512-n4xZJ+cw7o01YOSVhxxjyOmibqBPCi+XTDof4siq78QWMx7Fxjzgb/mxMUEElMzTDodMV7ENIMsjREOSldOQPw=="
     },
     "md5-file": {
       "version": "4.0.0",
@@ -13558,17 +13239,6 @@
       "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
       "dev": true
     },
-    "mem": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz",
-      "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==",
-      "dev": true,
-      "requires": {
-        "map-age-cleaner": "^0.1.1",
-        "mimic-fn": "^2.0.0",
-        "p-is-promise": "^2.0.0"
-      }
-    },
     "memory-fs": {
       "version": "0.4.1",
       "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz",
@@ -13667,6 +13337,14 @@
       "requires": {
         "bn.js": "^4.0.0",
         "brorand": "^1.0.1"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
+          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
       }
     },
     "mime": {
@@ -13703,9 +13381,9 @@
       "dev": true
     },
     "mini-css-extract-plugin": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.0.tgz",
-      "integrity": "sha512-MNpRGbNA52q6U92i0qbVpQNsgk7LExy41MdAlG84FeytfDOtRIf/mCHdEgG8rpTKOaNKiqUnZdlptF469hxqOw==",
+      "version": "0.9.0",
+      "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz",
+      "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==",
       "dev": true,
       "requires": {
         "loader-utils": "^1.1.0",
@@ -13714,6 +13392,32 @@
         "webpack-sources": "^1.1.0"
       },
       "dependencies": {
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
         "normalize-url": {
           "version": "1.9.1",
           "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
@@ -13778,15 +13482,15 @@
       }
     },
     "minimist": {
-      "version": "0.0.8",
-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
-      "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+      "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
       "dev": true
     },
     "minipass": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz",
-      "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==",
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz",
+      "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==",
       "dev": true,
       "requires": {
         "yallist": "^4.0.0"
@@ -13819,9 +13523,9 @@
       }
     },
     "minipass-pipeline": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz",
-      "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==",
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz",
+      "integrity": "sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ==",
       "dev": true,
       "requires": {
         "minipass": "^3.0.0"
@@ -13894,12 +13598,12 @@
       }
     },
     "mkdirp": {
-      "version": "0.5.1",
-      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
-      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+      "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
       "dev": true,
       "requires": {
-        "minimist": "0.0.8"
+        "minimist": "^1.2.5"
       }
     },
     "moment": {
@@ -14034,20 +13738,21 @@
       "integrity": "sha512-MKawthAXawXZ+pcJS6/dGuwGDunM4yuUpjLjmFlRW3pr+BbWoUFVtFNxdcf1490FkYEsLC9sfEcZ4iQkmsI8sg=="
     },
     "ngx-markdown": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-9.0.0.tgz",
-      "integrity": "sha512-wcXMxA4Skgk9SzhfDRjihap/Kjq17jmMQiE/Ccp0bNibGaDgS5DbZiPBlMNLkp669UvjY9wVuxE4NuDtmQHS9w==",
+      "version": "9.1.1",
+      "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-9.1.1.tgz",
+      "integrity": "sha512-dEuR1KBa/Ivb1HT+DvSW1p6wLSx79EZz8/WpgDxiEZfL1PADTQUziNLgmtwAEgBTDjsXFhZ/Af7Zq5J9dQf6KQ==",
       "requires": {
-        "@types/marked": "^0.7.2",
+        "@types/marked": "^0.7.4",
+        "emoji-toolkit": "^5.5.0",
         "katex": "^0.11.0",
-        "marked": "^0.8.0",
-        "prismjs": "^1.16.0"
+        "marked": "^1.1.0",
+        "prismjs": "^1.20.0"
       },
       "dependencies": {
         "marked": {
-          "version": "0.8.0",
-          "resolved": "https://registry.npmjs.org/marked/-/marked-0.8.0.tgz",
-          "integrity": "sha512-MyUe+T/Pw4TZufHkzAfDj6HarCBWia2y27/bhuYkTaiUnfDYFnCP3KUN+9oM7Wi6JA2rymtVYbQu3spE0GCmxQ=="
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/marked/-/marked-1.1.0.tgz",
+          "integrity": "sha512-EkE7RW6KcXfMHy2PA7Jg0YJE1l8UPEZE8k45tylzmZM30/r1M1MUXWQfJlrSbsTeh7m/XTwHbWUENvAJZpp1YA=="
         }
       }
     },
@@ -14067,6 +13772,13 @@
       "integrity": "sha512-t0aO4X8rqesLqypU8ZK2W7xGVbpi/z7u/Xg7qhnLoKVauI29NFzdKxV2oaYZmpkxIpgdbLSsIfklkjgxIM0IFA==",
       "requires": {
         "tslib": "^1.9.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
+        }
       }
     },
     "nice-try": {
@@ -14083,9 +13795,9 @@
       }
     },
     "node-fetch-npm": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.3.tgz",
-      "integrity": "sha512-DgwoKEsqLnFZtk3ap7GWBHcHwnUhsNmQqEDcdjfQ8GofLEFJ081NAd4Uin3R7RFZBWVJCwHISw1oaEqPgSLloA==",
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz",
+      "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==",
       "dev": true,
       "requires": {
         "encoding": "^0.1.11",
@@ -14139,21 +13851,10 @@
       }
     },
     "node-releases": {
-      "version": "1.1.52",
-      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.52.tgz",
-      "integrity": "sha512-snSiT1UypkgGt2wxPqS6ImEUICbNCMb31yaxWrOLXjhlt2z2/IBpaOxzONExqSm4y5oLnAqjjRWu+wsDzK5yNQ==",
-      "dev": true,
-      "requires": {
-        "semver": "^6.3.0"
-      },
-      "dependencies": {
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        }
-      }
+      "version": "1.1.58",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.58.tgz",
+      "integrity": "sha512-NxBudgVKiRh/2aPWMgPR7bPTX0VPmGx5QBwCtdHitnqFE5/O8DeBXuIMH1nwNnw/aMo6AjOrpsHzfY3UbUJ7yg==",
+      "dev": true
     },
     "nopt": {
       "version": "4.0.1",
@@ -14217,6 +13918,23 @@
         "pify": "^3.0.0"
       }
     },
+    "npm-install-checks": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz",
+      "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==",
+      "dev": true,
+      "requires": {
+        "semver": "^7.1.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "7.3.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+          "dev": true
+        }
+      }
+    },
     "npm-normalize-package-bin": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz",
@@ -14247,20 +13965,63 @@
       }
     },
     "npm-pick-manifest": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz",
-      "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.0.0.tgz",
+      "integrity": "sha512-PdJpXMvjqt4nftNEDpCgjBUF8yI3Q3MyuAmVB9nemnnCg32F4BPL/JFBfdj8DubgHCYUFQhtLWmBPvdsFtjWMg==",
       "dev": true,
       "requires": {
-        "figgy-pudding": "^3.5.1",
-        "npm-package-arg": "^6.0.0",
-        "semver": "^5.4.1"
+        "npm-install-checks": "^4.0.0",
+        "npm-package-arg": "^8.0.0",
+        "semver": "^7.0.0"
+      },
+      "dependencies": {
+        "hosted-git-info": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz",
+          "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==",
+          "dev": true,
+          "requires": {
+            "lru-cache": "^5.1.1"
+          }
+        },
+        "lru-cache": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+          "dev": true,
+          "requires": {
+            "yallist": "^3.0.2"
+          }
+        },
+        "npm-package-arg": {
+          "version": "8.0.1",
+          "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz",
+          "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==",
+          "dev": true,
+          "requires": {
+            "hosted-git-info": "^3.0.2",
+            "semver": "^7.0.0",
+            "validate-npm-package-name": "^3.0.0"
+          }
+        },
+        "semver": {
+          "version": "7.3.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
+          "dev": true
+        },
+        "yallist": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
+        }
       }
     },
     "npm-registry-fetch": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.3.tgz",
-      "integrity": "sha512-WGvUx0lkKFhu9MbiGFuT9nG2NpfQ+4dCJwRwwtK2HK5izJEvwDxMeUyqbuMS7N/OkpVCqDorV6rO5E4V9F8lJw==",
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.4.tgz",
+      "integrity": "sha512-6jb34hX/iYNQebqWUHtU8YF6Cjb1H6ouTFPClYsyiW6lpFkljTpdeftm53rRojtja1rKAvKNIIiTS5Sjpw4wsA==",
       "dev": true,
       "requires": {
         "JSONStream": "^1.3.4",
@@ -14282,9 +14043,9 @@
           }
         },
         "safe-buffer": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
-          "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==",
+          "version": "5.2.1",
+          "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+          "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
           "dev": true
         },
         "yallist": {
@@ -14319,12 +14080,6 @@
       "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=",
       "dev": true
     },
-    "number-is-nan": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
-      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
-      "dev": true
-    },
     "oauth-sign": {
       "version": "0.9.0",
       "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
@@ -14503,9 +14258,9 @@
       },
       "dependencies": {
         "es-abstract": {
-          "version": "1.17.4",
-          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
-          "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
+          "version": "1.17.5",
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+          "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
           "dev": true,
           "requires": {
             "es-to-primitive": "^1.2.1",
@@ -14539,18 +14294,18 @@
           "dev": true
         },
         "is-callable": {
-          "version": "1.1.5",
-          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
-          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
+          "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
           "dev": true
         },
         "is-regex": {
-          "version": "1.0.5",
-          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
-          "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
+          "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
           "dev": true,
           "requires": {
-            "has": "^1.0.3"
+            "has-symbols": "^1.0.1"
           }
         },
         "object-inspect": {
@@ -14622,19 +14377,23 @@
       }
     },
     "open": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/open/-/open-7.0.0.tgz",
-      "integrity": "sha512-K6EKzYqnwQzk+/dzJAQSBORub3xlBTxMz+ntpZpH/LyCa1o6KjXhuN+2npAaI9jaSmU3R1Q8NWf4KUWcyytGsQ==",
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz",
+      "integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==",
       "dev": true,
       "requires": {
-        "is-wsl": "^2.1.0"
+        "is-docker": "^2.0.0",
+        "is-wsl": "^2.1.1"
       },
       "dependencies": {
         "is-wsl": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz",
-          "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==",
-          "dev": true
+          "version": "2.2.0",
+          "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+          "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
+          "dev": true,
+          "requires": {
+            "is-docker": "^2.0.0"
+          }
         }
       }
     },
@@ -14653,24 +14412,6 @@
         "is-wsl": "^1.1.0"
       }
     },
-    "optimist": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
-      "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
-      "dev": true,
-      "requires": {
-        "minimist": "~0.0.1",
-        "wordwrap": "~0.0.2"
-      },
-      "dependencies": {
-        "wordwrap": {
-          "version": "0.0.3",
-          "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
-          "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
-          "dev": true
-        }
-      }
-    },
     "optionator": {
       "version": "0.8.3",
       "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
@@ -14686,26 +14427,47 @@
       }
     },
     "ora": {
-      "version": "4.0.2",
-      "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.2.tgz",
-      "integrity": "sha512-YUOZbamht5mfLxPmk4M35CD/5DuOkAacxlEUbStVXpBAt4fyhBf+vZHI/HRkI++QUp3sNoeA2Gw4C+hi4eGSig==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz",
+      "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==",
       "dev": true,
       "requires": {
-        "chalk": "^2.4.2",
+        "chalk": "^3.0.0",
         "cli-cursor": "^3.1.0",
         "cli-spinners": "^2.2.0",
         "is-interactive": "^1.0.0",
         "log-symbols": "^3.0.0",
-        "strip-ansi": "^5.2.0",
+        "mute-stream": "0.0.8",
+        "strip-ansi": "^6.0.0",
         "wcwidth": "^1.0.1"
       },
       "dependencies": {
         "ansi-regex": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
-          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
           "dev": true
         },
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+          "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+          "dev": true,
+          "requires": {
+            "@types/color-name": "^1.1.1",
+            "color-convert": "^2.0.1"
+          }
+        },
+        "chalk": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
         "cli-cursor": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
@@ -14715,6 +14477,27 @@
             "restore-cursor": "^3.1.0"
           }
         },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+          "dev": true
+        },
+        "mute-stream": {
+          "version": "0.0.8",
+          "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+          "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+          "dev": true
+        },
         "onetime": {
           "version": "5.1.0",
           "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
@@ -14735,12 +14518,21 @@
           }
         },
         "strip-ansi": {
-          "version": "5.2.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
-          "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
           "dev": true,
           "requires": {
-            "ansi-regex": "^4.1.0"
+            "ansi-regex": "^5.0.0"
+          }
+        },
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+          "dev": true,
+          "requires": {
+            "has-flag": "^4.0.0"
           }
         }
       }
@@ -14765,17 +14557,6 @@
       "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
       "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
     },
-    "os-locale": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz",
-      "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==",
-      "dev": true,
-      "requires": {
-        "execa": "^1.0.0",
-        "lcid": "^2.0.0",
-        "mem": "^4.0.0"
-      }
-    },
     "os-name": {
       "version": "3.1.0",
       "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
@@ -14806,24 +14587,12 @@
       "integrity": "sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==",
       "dev": true
     },
-    "p-defer": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
-      "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=",
-      "dev": true
-    },
     "p-finally": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
       "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
       "dev": true
     },
-    "p-is-promise": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz",
-      "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==",
-      "dev": true
-    },
     "p-limit": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
@@ -14893,9 +14662,9 @@
       }
     },
     "pacote": {
-      "version": "9.5.8",
-      "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.8.tgz",
-      "integrity": "sha512-0Tl8Oi/K0Lo4MZmH0/6IsT3gpGf9eEAznLXEQPKgPq7FscnbUOyopnVpwXlnQdIbCUaojWy1Wd7VMyqfVsRrIw==",
+      "version": "9.5.12",
+      "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz",
+      "integrity": "sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==",
       "dev": true,
       "requires": {
         "bluebird": "^3.5.3",
@@ -14912,6 +14681,7 @@
         "mississippi": "^3.0.0",
         "mkdirp": "^0.5.1",
         "normalize-package-data": "^2.4.0",
+        "npm-normalize-package-bin": "^1.0.0",
         "npm-package-arg": "^6.1.0",
         "npm-packlist": "^1.1.12",
         "npm-pick-manifest": "^3.0.0",
@@ -14930,9 +14700,9 @@
       },
       "dependencies": {
         "cacache": {
-          "version": "12.0.3",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
-          "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+          "version": "12.0.4",
+          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
+          "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
           "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
@@ -14996,6 +14766,17 @@
             "yallist": "^3.0.0"
           }
         },
+        "npm-pick-manifest": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz",
+          "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==",
+          "dev": true,
+          "requires": {
+            "figgy-pudding": "^3.5.1",
+            "npm-package-arg": "^6.0.0",
+            "semver": "^5.4.1"
+          }
+        },
         "semver": {
           "version": "5.7.1",
           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@@ -15180,9 +14961,9 @@
       }
     },
     "pbkdf2": {
-      "version": "3.0.17",
-      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
-      "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==",
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz",
+      "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==",
       "dev": true,
       "requires": {
         "create-hash": "^1.1.2",
@@ -15345,34 +15126,6 @@
       "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==",
       "dev": true
     },
-    "portfinder": {
-      "version": "1.0.25",
-      "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz",
-      "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==",
-      "dev": true,
-      "requires": {
-        "async": "^2.6.2",
-        "debug": "^3.1.1",
-        "mkdirp": "^0.5.1"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        }
-      }
-    },
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -15380,9 +15133,9 @@
       "dev": true
     },
     "postcss": {
-      "version": "7.0.21",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz",
-      "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==",
+      "version": "7.0.27",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz",
+      "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==",
       "dev": true,
       "requires": {
         "chalk": "^2.4.2",
@@ -15407,25 +15160,6 @@
         "postcss": "^7.0.27",
         "postcss-selector-parser": "^6.0.2",
         "postcss-value-parser": "^4.0.2"
-      },
-      "dependencies": {
-        "postcss": {
-          "version": "7.0.27",
-          "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz",
-          "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==",
-          "dev": true,
-          "requires": {
-            "chalk": "^2.4.2",
-            "source-map": "^0.6.1",
-            "supports-color": "^6.1.0"
-          }
-        },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        }
       }
     },
     "postcss-colormin": {
@@ -15543,6 +15277,34 @@
         "postcss": "^7.0.0",
         "postcss-load-config": "^2.0.0",
         "schema-utils": "^1.0.0"
+      },
+      "dependencies": {
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        }
       }
     },
     "postcss-merge-longhand": {
@@ -15707,6 +15469,47 @@
         }
       }
     },
+    "postcss-modules-extract-imports": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz",
+      "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==",
+      "dev": true,
+      "requires": {
+        "postcss": "^7.0.5"
+      }
+    },
+    "postcss-modules-local-by-default": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz",
+      "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==",
+      "dev": true,
+      "requires": {
+        "icss-utils": "^4.1.1",
+        "postcss": "^7.0.16",
+        "postcss-selector-parser": "^6.0.2",
+        "postcss-value-parser": "^4.0.0"
+      }
+    },
+    "postcss-modules-scope": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz",
+      "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==",
+      "dev": true,
+      "requires": {
+        "postcss": "^7.0.6",
+        "postcss-selector-parser": "^6.0.0"
+      }
+    },
+    "postcss-modules-values": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz",
+      "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==",
+      "dev": true,
+      "requires": {
+        "icss-utils": "^4.0.0",
+        "postcss": "^7.0.6"
+      }
+    },
     "postcss-normalize-charset": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz",
@@ -15936,14 +15739,6 @@
         "cssesc": "^3.0.0",
         "indexes-of": "^1.0.1",
         "uniq": "^1.0.1"
-      },
-      "dependencies": {
-        "cssesc": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
-          "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
-          "dev": true
-        }
       }
     },
     "postcss-svgo": {
@@ -15978,9 +15773,9 @@
       }
     },
     "postcss-value-parser": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz",
-      "integrity": "sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg==",
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz",
+      "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==",
       "dev": true
     },
     "prelude-ls": {
@@ -16001,9 +15796,9 @@
       "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew=="
     },
     "primeng": {
-      "version": "9.0.1",
-      "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.0.1.tgz",
-      "integrity": "sha512-BmIq5F3+xUQ96G4fD4K2uR3azGitWCum++SVCXEgzzHI4zp55Xzyd96H8vHQg/IQxdT8ftlr/OpOHKACAFNgow=="
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.1.0.tgz",
+      "integrity": "sha512-EeW+WA7uT4/7UBJ23Gfb4x8MaTdFpeV9XxAy68K/XIoeTmZ2hNJrdVdfF63y6k7nxwA/mOrkIMshY0eM8nMzoQ=="
     },
     "printj": {
       "version": "1.1.2",
@@ -16011,9 +15806,9 @@
       "integrity": "sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ=="
     },
     "prismjs": {
-      "version": "1.19.0",
-      "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.19.0.tgz",
-      "integrity": "sha512-IVFtbW9mCWm9eOIaEkNyo2Vl4NnEifis2GQ7/MLRG5TQe6t+4Sj9J5QWI9i3v+SS43uZBlCAOn+zYTVYQcPXJw==",
+      "version": "1.20.0",
+      "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.20.0.tgz",
+      "integrity": "sha512-AEDjSrVNkynnw6A+B1DsFkd6AVdTnp+/WoUixFRULlCLZVRZlVQMVWio/16jv7G1FscUxQxOQhWwApgbnxr6kQ==",
       "requires": {
         "clipboard": "^2.0.0"
       }
@@ -16021,7 +15816,8 @@
     "private": {
       "version": "0.1.8",
       "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg=="
+      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
+      "dev": true
     },
     "process": {
       "version": "0.11.10",
@@ -16109,9 +15905,9 @@
       }
     },
     "protractor": {
-      "version": "5.4.3",
-      "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.3.tgz",
-      "integrity": "sha512-7pMAolv8Ah1yJIqaorDTzACtn3gk7BamVKPTeO5lqIGOrfosjPgXFx/z1dqSI+m5EeZc2GMJHPr5DYlodujDNA==",
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz",
+      "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==",
       "dev": true,
       "requires": {
         "@types/q": "^0.0.32",
@@ -16122,32 +15918,69 @@
         "glob": "^7.0.3",
         "jasmine": "2.8.0",
         "jasminewd2": "^2.1.0",
-        "optimist": "~0.6.0",
         "q": "1.4.1",
         "saucelabs": "^1.5.0",
         "selenium-webdriver": "3.6.0",
         "source-map-support": "~0.4.0",
         "webdriver-js-extender": "2.1.0",
-        "webdriver-manager": "^12.0.6"
+        "webdriver-manager": "^12.1.7",
+        "yargs": "^15.3.1"
       },
       "dependencies": {
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+          "dev": true
+        },
         "ansi-styles": {
           "version": "2.2.1",
           "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
           "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
           "dev": true
         },
-        "chalk": {
-          "version": "1.1.3",
-          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
-          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+        "chalk": {
+          "version": "1.1.3",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+          "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^2.2.1",
+            "escape-string-regexp": "^1.0.2",
+            "has-ansi": "^2.0.0",
+            "strip-ansi": "^3.0.0",
+            "supports-color": "^2.0.0"
+          }
+        },
+        "cliui": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+          "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+          "dev": true,
+          "requires": {
+            "string-width": "^4.2.0",
+            "strip-ansi": "^6.0.0",
+            "wrap-ansi": "^6.2.0"
+          },
+          "dependencies": {
+            "strip-ansi": {
+              "version": "6.0.0",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+              "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+              "dev": true,
+              "requires": {
+                "ansi-regex": "^5.0.0"
+              }
+            }
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
           "dev": true,
           "requires": {
-            "ansi-styles": "^2.2.1",
-            "escape-string-regexp": "^1.0.2",
-            "has-ansi": "^2.0.0",
-            "strip-ansi": "^3.0.0",
-            "supports-color": "^2.0.0"
+            "color-name": "~1.1.4"
           }
         },
         "del": {
@@ -16165,6 +15998,22 @@
             "rimraf": "^2.2.8"
           }
         },
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^5.0.0",
+            "path-exists": "^4.0.0"
+          }
+        },
+        "get-caller-file": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+          "dev": true
+        },
         "globby": {
           "version": "5.0.0",
           "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz",
@@ -16179,18 +16028,54 @@
             "pinkie-promise": "^2.0.0"
           }
         },
+        "is-fullwidth-code-point": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+          "dev": true
+        },
+        "locate-path": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+          "dev": true,
+          "requires": {
+            "p-locate": "^4.1.0"
+          }
+        },
         "minimist": {
           "version": "1.2.5",
           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
           "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+          "dev": true,
+          "requires": {
+            "p-limit": "^2.2.0"
+          }
+        },
+        "path-exists": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+          "dev": true
+        },
         "pify": {
           "version": "2.3.0",
           "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
           "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=",
           "dev": true
         },
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+          "dev": true
+        },
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -16206,6 +16091,28 @@
             "source-map": "^0.5.6"
           }
         },
+        "string-width": {
+          "version": "4.2.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+          "dev": true,
+          "requires": {
+            "emoji-regex": "^8.0.0",
+            "is-fullwidth-code-point": "^3.0.0",
+            "strip-ansi": "^6.0.0"
+          },
+          "dependencies": {
+            "strip-ansi": {
+              "version": "6.0.0",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+              "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+              "dev": true,
+              "requires": {
+                "ansi-regex": "^5.0.0"
+              }
+            }
+          }
+        },
         "supports-color": {
           "version": "2.0.0",
           "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
@@ -16230,6 +16137,67 @@
             "semver": "^5.3.0",
             "xml2js": "^0.4.17"
           }
+        },
+        "wrap-ansi": {
+          "version": "6.2.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+          "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^4.0.0",
+            "string-width": "^4.1.0",
+            "strip-ansi": "^6.0.0"
+          },
+          "dependencies": {
+            "ansi-styles": {
+              "version": "4.2.1",
+              "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+              "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+              "dev": true,
+              "requires": {
+                "@types/color-name": "^1.1.1",
+                "color-convert": "^2.0.1"
+              }
+            },
+            "strip-ansi": {
+              "version": "6.0.0",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+              "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+              "dev": true,
+              "requires": {
+                "ansi-regex": "^5.0.0"
+              }
+            }
+          }
+        },
+        "yargs": {
+          "version": "15.3.1",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
+          "integrity": "sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA==",
+          "dev": true,
+          "requires": {
+            "cliui": "^6.0.0",
+            "decamelize": "^1.2.0",
+            "find-up": "^4.1.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^4.2.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^18.1.1"
+          }
+        },
+        "yargs-parser": {
+          "version": "18.1.3",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
         }
       }
     },
@@ -16279,6 +16247,14 @@
         "parse-asn1": "^5.0.0",
         "randombytes": "^2.0.1",
         "safe-buffer": "^5.1.2"
+      },
+      "dependencies": {
+        "bn.js": {
+          "version": "4.11.9",
+          "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz",
+          "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==",
+          "dev": true
+        }
       }
     },
     "pump": {
@@ -16456,19 +16432,19 @@
       }
     },
     "raw-loader": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-3.1.0.tgz",
-      "integrity": "sha512-lzUVMuJ06HF4rYveaz9Tv0WRlUMxJ0Y1hgSkkgg+50iEdaI0TthyEDe08KIHb0XsF6rn8WYTqPCaGTZg3sX+qA==",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.0.tgz",
+      "integrity": "sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==",
       "dev": true,
       "requires": {
-        "loader-utils": "^1.1.0",
-        "schema-utils": "^2.0.1"
+        "loader-utils": "^1.2.3",
+        "schema-utils": "^2.5.0"
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -16478,18 +16454,45 @@
           }
         },
         "fast-deep-equal": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
-          "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
         "schema-utils": {
-          "version": "2.6.5",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz",
-          "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==",
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
           "dev": true,
           "requires": {
-            "ajv": "^6.12.0",
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
             "ajv-keywords": "^3.4.1"
           }
         }
@@ -16560,32 +16563,31 @@
       }
     },
     "read-config-file": {
-      "version": "5.0.2",
-      "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-5.0.2.tgz",
-      "integrity": "sha512-tVt1lsiSjs+FtL/vtfCivqtKR1UNk3BB3uPJQvJqkgtAYDvZjo0xyXFYSVmzaTcO+Jdi5G7O2K2vDV+p1M/oug==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/read-config-file/-/read-config-file-6.0.0.tgz",
+      "integrity": "sha512-PHjROSdpceKUmqS06wqwP92VrM46PZSTubmNIMJ5DrMwg1OgenSTSEHIkCa6TiOJ+y/J0xnG1fFwG3M+Oi1aNA==",
       "dev": true,
       "requires": {
         "dotenv": "^8.2.0",
         "dotenv-expand": "^5.1.0",
-        "fs-extra": "^8.1.0",
         "js-yaml": "^3.13.1",
-        "json5": "^2.1.1",
+        "json5": "^2.1.2",
         "lazy-val": "^1.0.4"
       },
       "dependencies": {
         "json5": {
-          "version": "2.1.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.1.tgz",
-          "integrity": "sha512-l+3HXD0GEI3huGq1njuqtzYK8OYJyXMkOLtQ53pjWh89tvWS2h6l+1zMkYWqlb57+SiQodKZyvMEFb2X+KrFhQ==",
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz",
+          "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==",
           "dev": true,
           "requires": {
-            "minimist": "^1.2.0"
+            "minimist": "^1.2.5"
           }
         },
         "minimist": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.4.tgz",
-          "integrity": "sha512-wTiNDqe4D2rbTJGZk1qcdZgFtY0/r+iuE6GDT7V0/+Gu5MLpIDm4+CssDECR79OJs/OxLPXMzdxy153b5Qy3hg==",
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         }
       }
@@ -16700,14 +16702,17 @@
       }
     },
     "regexpu-core": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-1.0.0.tgz",
-      "integrity": "sha1-hqdj9Y7k18L2sQLkdkBQ3n7ZDGs=",
+      "version": "4.7.0",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
+      "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==",
       "dev": true,
       "requires": {
-        "regenerate": "^1.2.1",
-        "regjsgen": "^0.2.0",
-        "regjsparser": "^0.1.4"
+        "regenerate": "^1.4.0",
+        "regenerate-unicode-properties": "^8.2.0",
+        "regjsgen": "^0.5.1",
+        "regjsparser": "^0.6.4",
+        "unicode-match-property-ecmascript": "^1.0.4",
+        "unicode-match-property-value-ecmascript": "^1.2.0"
       }
     },
     "registry-auth-token": {
@@ -16730,15 +16735,15 @@
       }
     },
     "regjsgen": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz",
-      "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=",
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz",
+      "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==",
       "dev": true
     },
     "regjsparser": {
-      "version": "0.1.5",
-      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
-      "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
+      "version": "0.6.4",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz",
+      "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==",
       "dev": true,
       "requires": {
         "jsesc": "~0.5.0"
@@ -16809,12 +16814,6 @@
       "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
       "dev": true
     },
-    "require-main-filename": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz",
-      "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=",
-      "dev": true
-    },
     "requires-port": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -16937,9 +16936,9 @@
       }
     },
     "roarr": {
-      "version": "2.15.2",
-      "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.2.tgz",
-      "integrity": "sha512-jmaDhK9CO4YbQAV8zzCnq9vjAqeO489MS5ehZ+rXmFiPFFE6B+S9KYO6prjmLJ5A0zY3QxVlQdrIya7E/azz/Q==",
+      "version": "2.15.3",
+      "resolved": "https://registry.npmjs.org/roarr/-/roarr-2.15.3.tgz",
+      "integrity": "sha512-AEjYvmAhlyxOeB9OqPUzQCo3kuAkNfuDk/HqWbZdFsqDFpapkTjiw+p4svNEoRLvuqNTxqfL+s+gtD4eDgZ+CA==",
       "dev": true,
       "optional": true,
       "requires": {
@@ -16966,14 +16965,21 @@
       "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g=="
     },
     "rollup": {
-      "version": "1.25.2",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.25.2.tgz",
-      "integrity": "sha512-+7z6Wab/L45QCPcfpuTZKwKiB0tynj05s/+s2U3F2Bi7rOLPr9UcjUwO7/xpjlPNXA/hwnth6jBExFRGyf3tMg==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.1.0.tgz",
+      "integrity": "sha512-gfE1455AEazVVTJoeQtcOq/U6GSxwoj4XPSWVsuWmgIxj7sBQNLDOSA82PbdMe+cP8ql8fR1jogPFe8Wg8g4SQ==",
       "dev": true,
       "requires": {
-        "@types/estree": "*",
-        "@types/node": "*",
-        "acorn": "^7.1.0"
+        "fsevents": "~2.1.2"
+      },
+      "dependencies": {
+        "fsevents": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+          "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+          "dev": true,
+          "optional": true
+        }
       }
     },
     "run-async": {
@@ -17000,11 +17006,18 @@
       "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
     },
     "rxjs": {
-      "version": "6.5.4",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-      "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+      "version": "6.5.5",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+      "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
       "requires": {
         "tslib": "^1.9.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q=="
+        }
       }
     },
     "safe-buffer": {
@@ -17037,31 +17050,31 @@
       }
     },
     "sass": {
-      "version": "1.23.3",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.23.3.tgz",
-      "integrity": "sha512-1DKRZxJMOh4Bme16AbWTyYeJAjTlrvw2+fWshHHaepeJfGq2soFZTnt0YhWit+bohtDu4LdyPoEj6VFD4APHog==",
+      "version": "1.26.3",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.3.tgz",
+      "integrity": "sha512-5NMHI1+YFYw4sN3yfKjpLuV9B5l7MqQ6FlkTcC4FT+oHbBRUZoSjHrrt/mE0nFXJyY2kQtU9ou9HxvFVjLFuuw==",
       "dev": true,
       "requires": {
         "chokidar": ">=2.0.0 <4.0.0"
       }
     },
     "sass-loader": {
-      "version": "8.0.0",
-      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.0.tgz",
-      "integrity": "sha512-+qeMu563PN7rPdit2+n5uuYVR0SSVwm0JsOUsaJXzgYcClWSlmX0iHDnmeOobPkf5kUglVot3QS6SyLyaQoJ4w==",
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz",
+      "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==",
       "dev": true,
       "requires": {
         "clone-deep": "^4.0.1",
         "loader-utils": "^1.2.3",
         "neo-async": "^2.6.1",
-        "schema-utils": "^2.1.0",
+        "schema-utils": "^2.6.1",
         "semver": "^6.3.0"
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -17071,9 +17084,35 @@
           }
         },
         "fast-deep-equal": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
-          "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
         "neo-async": {
@@ -17083,12 +17122,13 @@
           "dev": true
         },
         "schema-utils": {
-          "version": "2.6.5",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz",
-          "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==",
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
           "dev": true,
           "requires": {
-            "ajv": "^6.12.0",
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
             "ajv-keywords": "^3.4.1"
           }
         },
@@ -17305,13 +17345,13 @@
       }
     },
     "serialize-error": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-5.0.0.tgz",
-      "integrity": "sha512-/VtpuyzYf82mHYTtI4QKtwHa79vAdU5OQpNPAmE/0UDdlGT0ZxHwC+J6gXkw29wwoVI8fMPsfcVHOwXtUQYYQA==",
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz",
+      "integrity": "sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==",
       "dev": true,
       "optional": true,
       "requires": {
-        "type-fest": "^0.8.0"
+        "type-fest": "^0.13.1"
       }
     },
     "serialize-javascript": {
@@ -17599,27 +17639,33 @@
       }
     },
     "socket.io": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
-      "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.3.0.tgz",
+      "integrity": "sha512-2A892lrj0GcgR/9Qk81EaY2gYhCBxurV0PfmmESO6p27QPrUK1J3zdns+5QPqvUYK2q657nSj0guoIil9+7eFg==",
       "dev": true,
       "requires": {
-        "debug": "~3.1.0",
-        "engine.io": "~3.2.0",
+        "debug": "~4.1.0",
+        "engine.io": "~3.4.0",
         "has-binary2": "~1.0.2",
         "socket.io-adapter": "~1.1.0",
-        "socket.io-client": "2.1.1",
-        "socket.io-parser": "~3.2.0"
+        "socket.io-client": "2.3.0",
+        "socket.io-parser": "~3.4.0"
       },
       "dependencies": {
         "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
-            "ms": "2.0.0"
+            "ms": "^2.1.1"
           }
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         }
       }
     },
@@ -17630,56 +17676,96 @@
       "dev": true
     },
     "socket.io-client": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
-      "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.3.0.tgz",
+      "integrity": "sha512-cEQQf24gET3rfhxZ2jJ5xzAOo/xhZwK+mOqtGRg5IowZsMgwvHwnf/mCRapAAkadhM26y+iydgwsXGObBB5ZdA==",
       "dev": true,
       "requires": {
         "backo2": "1.0.2",
         "base64-arraybuffer": "0.1.5",
         "component-bind": "1.0.0",
         "component-emitter": "1.2.1",
-        "debug": "~3.1.0",
-        "engine.io-client": "~3.2.0",
+        "debug": "~4.1.0",
+        "engine.io-client": "~3.4.0",
         "has-binary2": "~1.0.2",
         "has-cors": "1.1.0",
         "indexof": "0.0.1",
         "object-component": "0.0.3",
         "parseqs": "0.0.5",
         "parseuri": "0.0.5",
-        "socket.io-parser": "~3.2.0",
+        "socket.io-parser": "~3.3.0",
         "to-array": "0.1.4"
       },
       "dependencies": {
         "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
+          "dev": true,
+          "requires": {
+            "ms": "^2.1.1"
+          }
+        },
+        "isarray": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+          "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+          "dev": true
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
+        },
+        "socket.io-parser": {
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.0.tgz",
+          "integrity": "sha512-hczmV6bDgdaEbVqhAeVMM/jfUfzuEZHsQg6eOmLgJht6G3mPKMxYm75w2+qhAQZ+4X+1+ATZ+QFKeOZD5riHng==",
           "dev": true,
           "requires": {
-            "ms": "2.0.0"
+            "component-emitter": "1.2.1",
+            "debug": "~3.1.0",
+            "isarray": "2.0.1"
+          },
+          "dependencies": {
+            "debug": {
+              "version": "3.1.0",
+              "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+              "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+              "dev": true,
+              "requires": {
+                "ms": "2.0.0"
+              }
+            },
+            "ms": {
+              "version": "2.0.0",
+              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+              "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+              "dev": true
+            }
           }
         }
       }
     },
     "socket.io-parser": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
-      "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
+      "version": "3.4.1",
+      "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz",
+      "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==",
       "dev": true,
       "requires": {
         "component-emitter": "1.2.1",
-        "debug": "~3.1.0",
+        "debug": "~4.1.0",
         "isarray": "2.0.1"
       },
       "dependencies": {
         "debug": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
-          "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
-            "ms": "2.0.0"
+            "ms": "^2.1.1"
           }
         },
         "isarray": {
@@ -17687,19 +17773,15 @@
           "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
           "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
           "dev": true
+        },
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+          "dev": true
         }
       }
     },
-    "sockjs": {
-      "version": "0.3.19",
-      "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz",
-      "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==",
-      "dev": true,
-      "requires": {
-        "faye-websocket": "^0.10.0",
-        "uuid": "^3.0.1"
-      }
-    },
     "sockjs-client": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
@@ -17800,6 +17882,34 @@
       "requires": {
         "async": "^2.5.0",
         "loader-utils": "^1.1.0"
+      },
+      "dependencies": {
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        }
       }
     },
     "source-map-resolve": {
@@ -17816,9 +17926,9 @@
       }
     },
     "source-map-support": {
-      "version": "0.5.9",
-      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.9.tgz",
-      "integrity": "sha512-gR6Rw4MvUlYy83vP0vxoVNzM6t8MUXqNuRsuBmBHQDu1Fh6X015FrLdgoDKcNdkwGubozq0P4N0Q37UyFVr1EA==",
+      "version": "0.5.19",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+      "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
       "dev": true,
       "requires": {
         "buffer-from": "^1.0.0",
@@ -17877,36 +17987,6 @@
       "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==",
       "dev": true
     },
-    "spdy": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.1.tgz",
-      "integrity": "sha512-HeZS3PBdMA+sZSu0qwpCxl3DeALD5ASx8pAX0jZdKXSpPWbQ6SYGnlg3BBmYLx5LtiZrmkAZfErCm2oECBcioA==",
-      "dev": true,
-      "requires": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      },
-      "dependencies": {
-        "debug": {
-          "version": "4.1.1",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
-          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
-          "dev": true,
-          "requires": {
-            "ms": "^2.1.1"
-          }
-        },
-        "ms": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-          "dev": true
-        }
-      }
-    },
     "spdy-transport": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
@@ -18008,12 +18088,11 @@
       }
     },
     "ssri": {
-      "version": "7.1.0",
-      "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz",
-      "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==",
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz",
+      "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==",
       "dev": true,
       "requires": {
-        "figgy-pudding": "^3.5.1",
         "minipass": "^3.1.1"
       }
     },
@@ -18175,38 +18254,48 @@
       "dev": true
     },
     "streamroller": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz",
-      "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==",
+      "version": "2.2.4",
+      "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz",
+      "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==",
       "dev": true,
       "requires": {
-        "async": "^2.6.2",
-        "date-format": "^2.0.0",
-        "debug": "^3.2.6",
-        "fs-extra": "^7.0.1",
-        "lodash": "^4.17.14"
+        "date-format": "^2.1.0",
+        "debug": "^4.1.1",
+        "fs-extra": "^8.1.0"
       },
       "dependencies": {
+        "date-format": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz",
+          "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==",
+          "dev": true
+        },
         "debug": {
-          "version": "3.2.6",
-          "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-          "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
             "ms": "^2.1.1"
           }
         },
         "fs-extra": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz",
-          "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==",
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+          "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
           "dev": true,
           "requires": {
-            "graceful-fs": "^4.1.2",
+            "graceful-fs": "^4.2.0",
             "jsonfile": "^4.0.0",
             "universalify": "^0.1.0"
           }
         },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        },
         "ms": {
           "version": "2.1.2",
           "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -18221,33 +18310,6 @@
       "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
       "dev": true
     },
-    "string-width": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
-      "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
-      "dev": true,
-      "requires": {
-        "is-fullwidth-code-point": "^2.0.0",
-        "strip-ansi": "^4.0.0"
-      },
-      "dependencies": {
-        "ansi-regex": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
-          "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
-          "dev": true
-        },
-        "strip-ansi": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
-          "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^3.0.0"
-          }
-        }
-      }
-    },
     "string.prototype.codepointat": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
@@ -18327,19 +18389,19 @@
       "dev": true
     },
     "style-loader": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.0.0.tgz",
-      "integrity": "sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw==",
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz",
+      "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==",
       "dev": true,
       "requires": {
         "loader-utils": "^1.2.3",
-        "schema-utils": "^2.0.1"
+        "schema-utils": "^2.6.4"
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -18349,18 +18411,45 @@
           }
         },
         "fast-deep-equal": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
-          "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
           "dev": true
         },
         "schema-utils": {
-          "version": "2.6.5",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz",
-          "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==",
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
           "dev": true,
           "requires": {
-            "ajv": "^6.12.0",
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
             "ajv-keywords": "^3.4.1"
           }
         }
@@ -18447,6 +18536,34 @@
         "loader-utils": "^1.0.2",
         "lodash.clonedeep": "^4.5.0",
         "when": "~3.6.x"
+      },
+      "dependencies": {
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        }
       }
     },
     "sumchecker": {
@@ -18532,9 +18649,9 @@
           }
         },
         "css-what": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz",
-          "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==",
+          "version": "3.3.0",
+          "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.3.0.tgz",
+          "integrity": "sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg==",
           "dev": true
         },
         "domutils": {
@@ -18664,6 +18781,25 @@
       "requires": {
         "async-exit-hook": "^2.0.1",
         "fs-extra": "^8.1.0"
+      },
+      "dependencies": {
+        "fs-extra": {
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+          "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+          "dev": true,
+          "requires": {
+            "graceful-fs": "^4.2.0",
+            "jsonfile": "^4.0.0",
+            "universalify": "^0.1.0"
+          }
+        },
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
+        }
       }
     },
     "term-size": {
@@ -18730,9 +18866,9 @@
       }
     },
     "terser-webpack-plugin": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.3.tgz",
-      "integrity": "sha512-gWHkaGzGYjmDoYxksFZynWTzvXOAjQ5dd7xuTMYlv4zpWlLSb6v0QLSZjELzP5dMs1ox30O1BIPs9dgqlMHuLQ==",
+      "version": "2.3.5",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz",
+      "integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==",
       "dev": true,
       "requires": {
         "cacache": "^13.0.1",
@@ -18747,9 +18883,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -18758,151 +18894,128 @@
             "uri-js": "^4.2.2"
           }
         },
-        "fast-deep-equal": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
-          "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
-          "dev": true
-        },
-        "find-cache-dir": {
-          "version": "3.3.1",
-          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz",
-          "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==",
-          "dev": true,
-          "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^3.0.2",
-            "pkg-dir": "^4.1.0"
-          }
-        },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+        "cacache": {
+          "version": "13.0.1",
+          "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
+          "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==",
           "dev": true,
           "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
+            "chownr": "^1.1.2",
+            "figgy-pudding": "^3.5.1",
+            "fs-minipass": "^2.0.0",
+            "glob": "^7.1.4",
+            "graceful-fs": "^4.2.2",
+            "infer-owner": "^1.0.4",
+            "lru-cache": "^5.1.1",
+            "minipass": "^3.0.0",
+            "minipass-collect": "^1.0.2",
+            "minipass-flush": "^1.0.5",
+            "minipass-pipeline": "^1.2.2",
+            "mkdirp": "^0.5.1",
+            "move-concurrently": "^1.0.1",
+            "p-map": "^3.0.0",
+            "promise-inflight": "^1.0.1",
+            "rimraf": "^2.7.1",
+            "ssri": "^7.0.0",
+            "unique-filename": "^1.1.1"
           }
         },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
           "dev": true
         },
-        "jest-worker": {
-          "version": "25.1.0",
-          "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz",
-          "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==",
+        "glob": {
+          "version": "7.1.6",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+          "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
           "dev": true,
           "requires": {
-            "merge-stream": "^2.0.0",
-            "supports-color": "^7.0.0"
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
           }
         },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-          "dev": true,
-          "requires": {
-            "p-locate": "^4.1.0"
-          }
+        "graceful-fs": {
+          "version": "4.2.4",
+          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+          "dev": true
         },
-        "make-dir": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz",
-          "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==",
+        "lru-cache": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
           "dev": true,
           "requires": {
-            "semver": "^6.0.0"
+            "yallist": "^3.0.2"
           }
         },
         "p-limit": {
-          "version": "2.2.2",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.2.tgz",
-          "integrity": "sha512-WGR+xHecKTr7EbUEhyLSh5Dube9JtdiG78ufaeLxTgpudf/20KqyMioIUZJAezlTIi6evxuoUs9YXc11cU+yzQ==",
-          "dev": true,
-          "requires": {
-            "p-try": "^2.0.0"
-          }
-        },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
           "dev": true,
           "requires": {
-            "p-limit": "^2.2.0"
+            "p-try": "^2.0.0"
           }
         },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
-          "dev": true
-        },
-        "pkg-dir": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
-          "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+        "p-map": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
+          "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
           "dev": true,
           "requires": {
-            "find-up": "^4.0.0"
+            "aggregate-error": "^3.0.0"
           }
         },
         "schema-utils": {
-          "version": "2.6.5",
-          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.5.tgz",
-          "integrity": "sha512-5KXuwKziQrTVHh8j/Uxz+QUbxkaLW9X/86NBlx/gnKgtsZA2GIVMUn17qWhRFwF8jdYb3Dig5hRO/W5mZqy6SQ==",
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
           "dev": true,
           "requires": {
-            "ajv": "^6.12.0",
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
             "ajv-keywords": "^3.4.1"
           }
         },
-        "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-          "dev": true
-        },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
           "dev": true
         },
-        "source-map-support": {
-          "version": "0.5.16",
-          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz",
-          "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==",
-          "dev": true,
-          "requires": {
-            "buffer-from": "^1.0.0",
-            "source-map": "^0.6.0"
-          }
-        },
-        "supports-color": {
+        "ssri": {
           "version": "7.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
-          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+          "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz",
+          "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==",
           "dev": true,
           "requires": {
-            "has-flag": "^4.0.0"
+            "figgy-pudding": "^3.5.1",
+            "minipass": "^3.1.1"
           }
         },
         "terser": {
-          "version": "4.6.7",
-          "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.7.tgz",
-          "integrity": "sha512-fmr7M1f7DBly5cX2+rFDvmGBAaaZyPrHYK4mMdHEDAdNTqXSZgSOfqsfGq2HqPGT/1V0foZZuCZFx8CHKgAk3g==",
+          "version": "4.7.0",
+          "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz",
+          "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==",
           "dev": true,
           "requires": {
             "commander": "^2.20.0",
             "source-map": "~0.6.1",
             "source-map-support": "~0.5.12"
           }
+        },
+        "yallist": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
         }
       }
     },
@@ -19077,12 +19190,6 @@
       "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
       "dev": true
     },
-    "trim-right": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz",
-      "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=",
-      "dev": true
-    },
     "truncate-utf8-bytes": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
@@ -19103,16 +19210,34 @@
       "integrity": "sha512-ikUlS+/BcImLhNYyIgZcEmq4byc31QpC+46/6Jm5ECWkVFhf8SM2Fp/0pMVXPX6vk45SMCwrP4Taxucne8I0VA=="
     },
     "ts-node": {
-      "version": "8.7.0",
-      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.7.0.tgz",
-      "integrity": "sha512-s659CsHrsxaRVDEleuOkGvbsA0rWHtszUNEt1r0CgAFN5ZZTQtDzpsluS7W5pOGJIa1xZE8R/zK4dEs+ldFezg==",
+      "version": "8.10.2",
+      "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.10.2.tgz",
+      "integrity": "sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA==",
       "dev": true,
       "requires": {
         "arg": "^4.1.0",
         "diff": "^4.0.1",
         "make-error": "^1.1.1",
-        "source-map-support": "^0.5.6",
+        "source-map-support": "^0.5.17",
         "yn": "3.1.1"
+      },
+      "dependencies": {
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        },
+        "source-map-support": {
+          "version": "0.5.19",
+          "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
+          "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
+          "dev": true,
+          "requires": {
+            "buffer-from": "^1.0.0",
+            "source-map": "^0.6.0"
+          }
+        }
       }
     },
     "ts-simple-ast": {
@@ -19169,6 +19294,12 @@
             "slash": "^1.0.0"
           }
         },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
+        },
         "typescript": {
           "version": "2.9.1",
           "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.9.1.tgz",
@@ -19178,14 +19309,14 @@
       }
     },
     "tslib": {
-      "version": "1.11.1",
-      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
-      "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA=="
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz",
+      "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g=="
     },
     "tslint": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.0.tgz",
-      "integrity": "sha512-fXjYd/61vU6da04E505OZQGb2VCN2Mq3doeWcOIryuG+eqdmFUXTYVwdhnbEu2k46LNLgUYt9bI5icQze/j0bQ==",
+      "version": "6.1.2",
+      "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.2.tgz",
+      "integrity": "sha512-UyNrLdK3E0fQG/xWNqAFAC5ugtFyPO4JJR1KyyfQAyzR8W0fTRrC91A8Wej4BntFzcvETdCSDa/4PnNYJQLYiA==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.0.0",
@@ -19196,11 +19327,34 @@
         "glob": "^7.1.1",
         "js-yaml": "^3.13.1",
         "minimatch": "^3.0.4",
-        "mkdirp": "^0.5.1",
+        "mkdirp": "^0.5.3",
         "resolve": "^1.3.2",
         "semver": "^5.3.0",
         "tslib": "^1.10.0",
         "tsutils": "^2.29.0"
+      },
+      "dependencies": {
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
+        "mkdirp": {
+          "version": "0.5.5",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
+          "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.5"
+          }
+        },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
+        }
       }
     },
     "tsutils": {
@@ -19210,6 +19364,14 @@
       "dev": true,
       "requires": {
         "tslib": "^1.8.1"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
+        }
       }
     },
     "tty-browserify": {
@@ -19256,10 +19418,11 @@
       }
     },
     "type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz",
-      "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true
+      "version": "0.13.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
+      "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
+      "dev": true,
+      "optional": true
     },
     "type-is": {
       "version": "1.6.18",
@@ -19272,18 +19435,18 @@
       },
       "dependencies": {
         "mime-db": {
-          "version": "1.43.0",
-          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz",
-          "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==",
+          "version": "1.44.0",
+          "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
+          "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
           "dev": true
         },
         "mime-types": {
-          "version": "2.1.26",
-          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz",
-          "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==",
+          "version": "2.1.27",
+          "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
+          "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
           "dev": true,
           "requires": {
-            "mime-db": "1.43.0"
+            "mime-db": "1.44.0"
           }
         }
       }
@@ -19309,6 +19472,12 @@
       "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==",
       "dev": true
     },
+    "ua-parser-js": {
+      "version": "0.7.21",
+      "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz",
+      "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==",
+      "dev": true
+    },
     "uglify-js": {
       "version": "3.5.4",
       "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.5.4.tgz",
@@ -19330,12 +19499,6 @@
         }
       }
     },
-    "ultron": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
-      "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
-      "dev": true
-    },
     "unc-path-regex": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
@@ -19670,9 +19833,9 @@
           "dev": true
         },
         "is-installed-globally": {
-          "version": "0.3.1",
-          "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.1.tgz",
-          "integrity": "sha512-oiEcGoQbGc+3/iijAijrK2qFpkNoNjsHOm/5V5iaeydyrS/hnwaRCEgH5cpW0P3T1lSjV5piB7S5b5lEugNLhg==",
+          "version": "0.3.2",
+          "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.3.2.tgz",
+          "integrity": "sha512-wZ8x1js7Ia0kecP/CHM/3ABkAmujX7WPvQk6uu3Fly/Mk44pySulQpnHG46OMjHGXApINnV4QhY3SWnECO2z5g==",
           "dev": true,
           "requires": {
             "global-dirs": "^2.0.1",
@@ -19692,9 +19855,9 @@
           "dev": true
         },
         "make-dir": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.0.2.tgz",
-          "integrity": "sha512-rYKABKutXa6vXTXhoV18cBE7PaewPXHe/Bdq4v+ZLMhxbWApkFFplT0LcbMW+6BbjnQXzZ/sAvSE/JdguApG5w==",
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
+          "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
           "dev": true,
           "requires": {
             "semver": "^6.0.0"
@@ -19824,16 +19987,6 @@
       "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
       "dev": true
     },
-    "useragent": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
-      "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
-      "dev": true,
-      "requires": {
-        "lru-cache": "4.1.x",
-        "tmp": "0.0.x"
-      }
-    },
     "utf8-byte-length": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
@@ -19877,9 +20030,9 @@
       },
       "dependencies": {
         "es-abstract": {
-          "version": "1.17.4",
-          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
-          "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
+          "version": "1.17.5",
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
+          "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
           "dev": true,
           "requires": {
             "es-to-primitive": "^1.2.1",
@@ -19913,18 +20066,18 @@
           "dev": true
         },
         "is-callable": {
-          "version": "1.1.5",
-          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
-          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
+          "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
           "dev": true
         },
         "is-regex": {
-          "version": "1.0.5",
-          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
-          "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
+          "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
           "dev": true,
           "requires": {
-            "has": "^1.0.3"
+            "has-symbols": "^1.0.1"
           }
         },
         "object-inspect": {
@@ -20001,39 +20154,187 @@
         "extsprintf": "^1.2.0"
       }
     },
-    "viz.js": {
-      "version": "1.8.2",
-      "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-1.8.2.tgz",
-      "integrity": "sha512-W+1+N/hdzLpQZEcvz79n2IgUE9pfx6JLdHh3Kh8RGvLL8P1LdJVQmi2OsDcLdY4QVID4OUy+FPelyerX0nJxIQ==",
-      "dev": true
-    },
-    "vlq": {
-      "version": "0.2.3",
-      "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
-      "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
-      "dev": true
-    },
-    "vm-browserify": {
-      "version": "1.1.2",
-      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
-      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
-      "dev": true
-    },
-    "void-elements": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
-      "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
-      "dev": true
-    },
-    "watchpack": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.0.tgz",
-      "integrity": "sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA==",
+    "viz.js": {
+      "version": "1.8.2",
+      "resolved": "https://registry.npmjs.org/viz.js/-/viz.js-1.8.2.tgz",
+      "integrity": "sha512-W+1+N/hdzLpQZEcvz79n2IgUE9pfx6JLdHh3Kh8RGvLL8P1LdJVQmi2OsDcLdY4QVID4OUy+FPelyerX0nJxIQ==",
+      "dev": true
+    },
+    "vlq": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz",
+      "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==",
+      "dev": true
+    },
+    "vm-browserify": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
+      "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
+      "dev": true
+    },
+    "void-elements": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+      "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+      "dev": true
+    },
+    "watchpack": {
+      "version": "1.7.2",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.2.tgz",
+      "integrity": "sha512-ymVbbQP40MFTp+cNMvpyBpBtygHnPzPkHqoIwRRj/0B8KhqQwV8LaKjtbaxF2lK4vl8zN9wCxS46IFCU5K4W0g==",
+      "dev": true,
+      "requires": {
+        "chokidar": "^3.4.0",
+        "graceful-fs": "^4.1.2",
+        "neo-async": "^2.5.0",
+        "watchpack-chokidar2": "^2.0.0"
+      },
+      "dependencies": {
+        "anymatch": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
+          "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "normalize-path": "^3.0.0",
+            "picomatch": "^2.0.4"
+          }
+        },
+        "binary-extensions": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
+          "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
+          "dev": true,
+          "optional": true
+        },
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "fill-range": "^7.0.1"
+          }
+        },
+        "chokidar": {
+          "version": "3.4.0",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
+          "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "anymatch": "~3.1.1",
+            "braces": "~3.0.2",
+            "fsevents": "~2.1.2",
+            "glob-parent": "~5.1.0",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.4.0"
+          }
+        },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "to-regex-range": "^5.0.1"
+          }
+        },
+        "fsevents": {
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+          "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
+          "dev": true,
+          "optional": true
+        },
+        "glob-parent": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+          "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "is-binary-path": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+          "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "binary-extensions": "^2.0.0"
+          }
+        },
+        "is-glob": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+          "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-extglob": "^2.1.1"
+          }
+        },
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+          "dev": true,
+          "optional": true
+        },
+        "normalize-path": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+          "dev": true,
+          "optional": true
+        },
+        "readdirp": {
+          "version": "3.4.0",
+          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
+          "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "picomatch": "^2.2.1"
+          },
+          "dependencies": {
+            "picomatch": {
+              "version": "2.2.2",
+              "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+              "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+              "dev": true,
+              "optional": true
+            }
+          }
+        },
+        "to-regex-range": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "is-number": "^7.0.0"
+          }
+        }
+      }
+    },
+    "watchpack-chokidar2": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.0.tgz",
+      "integrity": "sha512-9TyfOyN/zLUbA288wZ8IsMZ+6cbzvsNyEzSBp6e/zkifi6xxbl8SmQ/CxQq32k8NNqrdVEVUVSEf56L4rQ/ZxA==",
       "dev": true,
+      "optional": true,
       "requires": {
-        "chokidar": "^2.0.2",
-        "graceful-fs": "^4.1.2",
-        "neo-async": "^2.5.0"
+        "chokidar": "^2.1.8"
       },
       "dependencies": {
         "chokidar": {
@@ -20041,6 +20342,7 @@
           "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
           "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
           "dev": true,
+          "optional": true,
           "requires": {
             "anymatch": "^2.0.0",
             "async-each": "^1.0.1",
@@ -20060,7 +20362,8 @@
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
           "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-          "dev": true
+          "dev": true,
+          "optional": true
         }
       }
     },
@@ -20093,9 +20396,9 @@
       }
     },
     "webpack": {
-      "version": "4.41.2",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.41.2.tgz",
-      "integrity": "sha512-Zhw69edTGfbz9/8JJoyRQ/pq8FYUoY0diOXqW0T6yhgdhCv6wr0hra5DwwWexNRns2Z2+gsnrNcbe9hbGBgk/A==",
+      "version": "4.42.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz",
+      "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==",
       "dev": true,
       "requires": {
         "@webassemblyjs/ast": "1.8.5",
@@ -20118,21 +20421,15 @@
         "node-libs-browser": "^2.2.1",
         "schema-utils": "^1.0.0",
         "tapable": "^1.1.3",
-        "terser-webpack-plugin": "^1.4.1",
+        "terser-webpack-plugin": "^1.4.3",
         "watchpack": "^1.6.0",
         "webpack-sources": "^1.4.1"
       },
       "dependencies": {
-        "acorn": {
-          "version": "6.4.1",
-          "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz",
-          "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==",
-          "dev": true
-        },
         "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -20142,9 +20439,9 @@
           }
         },
         "cacache": {
-          "version": "12.0.3",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.3.tgz",
-          "integrity": "sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw==",
+          "version": "12.0.4",
+          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
+          "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
           "dev": true,
           "requires": {
             "bluebird": "^3.5.5",
@@ -20165,9 +20462,9 @@
           }
         },
         "fast-deep-equal": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
-          "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
           "dev": true
         },
         "find-cache-dir": {
@@ -20195,6 +20492,26 @@
             "path-is-absolute": "^1.0.0"
           }
         },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
+          }
+        },
         "lru-cache": {
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -20214,6 +20531,12 @@
             "semver": "^5.6.0"
           }
         },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
+        },
         "neo-async": {
           "version": "2.6.1",
           "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
@@ -20232,6 +20555,15 @@
           "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
           "dev": true
         },
+        "serialize-javascript": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
+          "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
+          "dev": true,
+          "requires": {
+            "randombytes": "^2.1.0"
+          }
+        },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -20248,16 +20580,16 @@
           }
         },
         "terser-webpack-plugin": {
-          "version": "1.4.3",
-          "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz",
-          "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==",
+          "version": "1.4.4",
+          "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz",
+          "integrity": "sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA==",
           "dev": true,
           "requires": {
             "cacache": "^12.0.2",
             "find-cache-dir": "^2.1.0",
             "is-wsl": "^1.1.0",
             "schema-utils": "^1.0.0",
-            "serialize-javascript": "^2.1.2",
+            "serialize-javascript": "^3.1.0",
             "source-map": "^0.6.1",
             "terser": "^4.1.2",
             "webpack-sources": "^1.4.0",
@@ -20294,9 +20626,9 @@
       }
     },
     "webpack-dev-server": {
-      "version": "3.10.3",
-      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz",
-      "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==",
+      "version": "3.11.0",
+      "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz",
+      "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==",
       "dev": true,
       "requires": {
         "ansi-html": "0.0.7",
@@ -20307,33 +20639,39 @@
         "debug": "^4.1.1",
         "del": "^4.1.1",
         "express": "^4.17.1",
-        "html-entities": "^1.2.1",
+        "html-entities": "^1.3.1",
         "http-proxy-middleware": "0.19.1",
         "import-local": "^2.0.0",
         "internal-ip": "^4.3.0",
         "ip": "^1.1.5",
         "is-absolute-url": "^3.0.3",
         "killable": "^1.0.1",
-        "loglevel": "^1.6.6",
+        "loglevel": "^1.6.8",
         "opn": "^5.5.0",
         "p-retry": "^3.0.1",
-        "portfinder": "^1.0.25",
+        "portfinder": "^1.0.26",
         "schema-utils": "^1.0.0",
         "selfsigned": "^1.10.7",
         "semver": "^6.3.0",
         "serve-index": "^1.9.1",
-        "sockjs": "0.3.19",
+        "sockjs": "0.3.20",
         "sockjs-client": "1.4.0",
-        "spdy": "^4.0.1",
+        "spdy": "^4.0.2",
         "strip-ansi": "^3.0.1",
         "supports-color": "^6.1.0",
         "url": "^0.11.0",
         "webpack-dev-middleware": "^3.7.2",
         "webpack-log": "^2.0.0",
         "ws": "^6.2.1",
-        "yargs": "12.0.5"
+        "yargs": "^13.3.2"
       },
       "dependencies": {
+        "ansi-regex": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
+          "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
+          "dev": true
+        },
         "chokidar": {
           "version": "2.1.8",
           "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
@@ -20354,6 +20692,28 @@
             "upath": "^1.1.1"
           }
         },
+        "cliui": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz",
+          "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==",
+          "dev": true,
+          "requires": {
+            "string-width": "^3.1.0",
+            "strip-ansi": "^5.2.0",
+            "wrap-ansi": "^5.1.0"
+          },
+          "dependencies": {
+            "strip-ansi": {
+              "version": "5.2.0",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+              "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+              "dev": true,
+              "requires": {
+                "ansi-regex": "^4.1.0"
+              }
+            }
+          }
+        },
         "debug": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
@@ -20363,25 +20723,28 @@
             "ms": "^2.1.1"
           }
         },
-        "faye-websocket": {
-          "version": "0.11.3",
-          "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz",
-          "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==",
-          "dev": true,
-          "requires": {
-            "websocket-driver": ">=0.5.1"
-          }
+        "emoji-regex": {
+          "version": "7.0.3",
+          "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz",
+          "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==",
+          "dev": true
         },
-        "loglevel": {
-          "version": "1.6.6",
-          "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.6.tgz",
-          "integrity": "sha512-Sgr5lbboAUBo3eXCSPL4/KoVz3ROKquOjcctxmHIt+vol2DrqTQe3SwkKKuYhEiWB5kYa13YyopJ69deJ1irzQ==",
+        "get-caller-file": {
+          "version": "2.0.5",
+          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
           "dev": true
         },
-        "mime": {
-          "version": "2.4.4",
-          "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.4.tgz",
-          "integrity": "sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA==",
+        "html-entities": {
+          "version": "1.3.1",
+          "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz",
+          "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==",
+          "dev": true
+        },
+        "loglevel": {
+          "version": "1.6.8",
+          "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz",
+          "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==",
           "dev": true
         },
         "ms": {
@@ -20390,12 +20753,6 @@
           "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
           "dev": true
         },
-        "node-forge": {
-          "version": "0.9.0",
-          "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz",
-          "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==",
-          "dev": true
-        },
         "normalize-path": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -20403,9 +20760,9 @@
           "dev": true
         },
         "portfinder": {
-          "version": "1.0.25",
-          "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.25.tgz",
-          "integrity": "sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg==",
+          "version": "1.0.26",
+          "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz",
+          "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==",
           "dev": true,
           "requires": {
             "async": "^2.6.2",
@@ -20424,14 +20781,11 @@
             }
           }
         },
-        "selfsigned": {
-          "version": "1.10.7",
-          "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz",
-          "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==",
-          "dev": true,
-          "requires": {
-            "node-forge": "0.9.0"
-          }
+        "require-main-filename": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+          "dev": true
         },
         "semver": {
           "version": "6.3.0",
@@ -20439,48 +20793,87 @@
           "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
           "dev": true
         },
-        "sockjs-client": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz",
-          "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==",
+        "sockjs": {
+          "version": "0.3.20",
+          "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz",
+          "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==",
           "dev": true,
           "requires": {
-            "debug": "^3.2.5",
-            "eventsource": "^1.0.7",
-            "faye-websocket": "~0.11.1",
-            "inherits": "^2.0.3",
-            "json3": "^3.3.2",
-            "url-parse": "^1.4.3"
+            "faye-websocket": "^0.10.0",
+            "uuid": "^3.4.0",
+            "websocket-driver": "0.6.5"
+          }
+        },
+        "spdy": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
+          "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+          "dev": true,
+          "requires": {
+            "debug": "^4.1.0",
+            "handle-thing": "^2.0.0",
+            "http-deceiver": "^1.2.7",
+            "select-hose": "^2.0.0",
+            "spdy-transport": "^3.0.0"
+          }
+        },
+        "string-width": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+          "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
+          "dev": true,
+          "requires": {
+            "emoji-regex": "^7.0.1",
+            "is-fullwidth-code-point": "^2.0.0",
+            "strip-ansi": "^5.1.0"
           },
           "dependencies": {
-            "debug": {
-              "version": "3.2.6",
-              "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
-              "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+            "strip-ansi": {
+              "version": "5.2.0",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+              "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
               "dev": true,
               "requires": {
-                "ms": "^2.1.1"
+                "ansi-regex": "^4.1.0"
               }
             }
           }
         },
-        "upath": {
-          "version": "1.2.0",
-          "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz",
-          "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==",
+        "uuid": {
+          "version": "3.4.0",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz",
+          "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
           "dev": true
         },
-        "webpack-dev-middleware": {
-          "version": "3.7.2",
-          "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz",
-          "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==",
+        "websocket-driver": {
+          "version": "0.6.5",
+          "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz",
+          "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=",
           "dev": true,
           "requires": {
-            "memory-fs": "^0.4.1",
-            "mime": "^2.4.4",
-            "mkdirp": "^0.5.1",
-            "range-parser": "^1.2.1",
-            "webpack-log": "^2.0.0"
+            "websocket-extensions": ">=0.1.1"
+          }
+        },
+        "wrap-ansi": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz",
+          "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==",
+          "dev": true,
+          "requires": {
+            "ansi-styles": "^3.2.0",
+            "string-width": "^3.0.0",
+            "strip-ansi": "^5.0.0"
+          },
+          "dependencies": {
+            "strip-ansi": {
+              "version": "5.2.0",
+              "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
+              "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
+              "dev": true,
+              "requires": {
+                "ansi-regex": "^4.1.0"
+              }
+            }
           }
         },
         "ws": {
@@ -20491,6 +20884,34 @@
           "requires": {
             "async-limiter": "~1.0.0"
           }
+        },
+        "yargs": {
+          "version": "13.3.2",
+          "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz",
+          "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==",
+          "dev": true,
+          "requires": {
+            "cliui": "^5.0.0",
+            "find-up": "^3.0.0",
+            "get-caller-file": "^2.0.1",
+            "require-directory": "^2.1.1",
+            "require-main-filename": "^2.0.0",
+            "set-blocking": "^2.0.0",
+            "string-width": "^3.0.0",
+            "which-module": "^2.0.0",
+            "y18n": "^4.0.0",
+            "yargs-parser": "^13.1.2"
+          }
+        },
+        "yargs-parser": {
+          "version": "13.1.2",
+          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz",
+          "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==",
+          "dev": true,
+          "requires": {
+            "camelcase": "^5.0.0",
+            "decamelize": "^1.2.0"
+          }
         }
       }
     },
@@ -20540,9 +20961,9 @@
       }
     },
     "webpack-subresource-integrity": {
-      "version": "1.3.4",
-      "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.3.4.tgz",
-      "integrity": "sha512-6XbGYzjh30cGQT/NsC+9IAkJP8IL7/t47sbwR5DLSsamiD56Rwv4/+hsgEHsviPvrEFZ0JRAQtCRN3UsR2Pw9g==",
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.0.tgz",
+      "integrity": "sha512-GB1kB/LwAWC3CxwcedGhMkxGpNZxSheCe1q+KJP1bakuieAdX/rGHEcf5zsEzhKXpqsGqokgsDoD9dIkr61VDQ==",
       "dev": true,
       "requires": {
         "webpack-sources": "^1.3.0"
@@ -20715,6 +21136,12 @@
       "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
       "dev": true
     },
+    "wordwrap": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+      "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+      "dev": true
+    },
     "worker-farm": {
       "version": "1.7.0",
       "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
@@ -20725,43 +21152,39 @@
       }
     },
     "worker-plugin": {
-      "version": "3.2.0",
-      "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-3.2.0.tgz",
-      "integrity": "sha512-W5nRkw7+HlbsEt3qRP6MczwDDISjiRj2GYt9+bpe8A2La00TmJdwzG5bpdMXhRt1qcWmwAvl1TiKaHRa+XDS9Q==",
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-4.0.3.tgz",
+      "integrity": "sha512-7hFDYWiKcE3yHZvemsoM9lZis/PzurHAEX1ej8PLCu818Rt6QqUAiDdxHPCKZctzmhqzPpcFSgvMCiPbtooqAg==",
       "dev": true,
       "requires": {
         "loader-utils": "^1.1.0"
-      }
-    },
-    "wrap-ansi": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz",
-      "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=",
-      "dev": true,
-      "requires": {
-        "string-width": "^1.0.1",
-        "strip-ansi": "^3.0.1"
       },
       "dependencies": {
-        "is-fullwidth-code-point": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
-          "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=",
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
           "dev": true,
           "requires": {
-            "number-is-nan": "^1.0.0"
+            "minimist": "^1.2.0"
           }
         },
-        "string-width": {
-          "version": "1.0.2",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
-          "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
+        "loader-utils": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
+          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
           "dev": true,
           "requires": {
-            "code-point-at": "^1.0.0",
-            "is-fullwidth-code-point": "^1.0.0",
-            "strip-ansi": "^3.0.0"
+            "big.js": "^5.2.2",
+            "emojis-list": "^3.0.0",
+            "json5": "^1.0.1"
           }
+        },
+        "minimist": {
+          "version": "1.2.5",
+          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
         }
       }
     },
@@ -20782,15 +21205,10 @@
       }
     },
     "ws": {
-      "version": "3.3.3",
-      "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
-      "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
-      "dev": true,
-      "requires": {
-        "async-limiter": "~1.0.0",
-        "safe-buffer": "~5.1.0",
-        "ultron": "~1.1.0"
-      }
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.0.tgz",
+      "integrity": "sha512-iFtXzngZVXPGgpTlP1rBqsUK82p9tKqsWRPg5L56egiljujJT3vGAYnHANvFxBieXrTFavhzhxW52jnaWV+w2w==",
+      "dev": true
     },
     "xdg-basedir": {
       "version": "3.0.0",
@@ -20799,9 +21217,9 @@
       "dev": true
     },
     "xlsx": {
-      "version": "0.15.6",
-      "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.15.6.tgz",
-      "integrity": "sha512-7vD9eutyLs65iDjNFimVN+gk/oDkfkCgpQUjdE82QgzJCrBHC4bGPH7fzKVyy0UPp3gyFVQTQEFJaWaAvZCShQ==",
+      "version": "0.16.2",
+      "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.16.2.tgz",
+      "integrity": "sha512-XTqOy7YpCUtGbvCYaCh1t1RsZ/y8cSCbZCOYtqqZ4/EmHkyv+/ghxmCvvR8yc4Tn5fhny+3j7voKwJaRlffNKA==",
       "requires": {
         "adler-32": "~1.2.0",
         "cfb": "^1.1.4",
@@ -20830,12 +21248,6 @@
         "xmlbuilder": "~11.0.0"
       },
       "dependencies": {
-        "sax": {
-          "version": "1.2.4",
-          "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
-          "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
-          "dev": true
-        },
         "xmlbuilder": {
           "version": "11.0.1",
           "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
@@ -20878,43 +21290,14 @@
       "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
       "dev": true
     },
-    "yargs": {
-      "version": "12.0.5",
-      "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz",
-      "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==",
-      "dev": true,
-      "requires": {
-        "cliui": "^4.0.0",
-        "decamelize": "^1.2.0",
-        "find-up": "^3.0.0",
-        "get-caller-file": "^1.0.1",
-        "os-locale": "^3.0.0",
-        "require-directory": "^2.1.1",
-        "require-main-filename": "^1.0.1",
-        "set-blocking": "^2.0.0",
-        "string-width": "^2.0.0",
-        "which-module": "^2.0.0",
-        "y18n": "^3.2.1 || ^4.0.0",
-        "yargs-parser": "^11.1.1"
-      }
-    },
-    "yargs-parser": {
-      "version": "11.1.1",
-      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz",
-      "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==",
-      "dev": true,
-      "requires": {
-        "camelcase": "^5.0.0",
-        "decamelize": "^1.2.0"
-      }
-    },
     "yauzl": {
-      "version": "2.4.1",
-      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
-      "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+      "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=",
       "dev": true,
       "requires": {
-        "fd-slicer": "~1.0.1"
+        "buffer-crc32": "~0.2.3",
+        "fd-slicer": "~1.1.0"
       }
     },
     "yeast": {
diff --git a/package.json b/package.json
index 04805cfd7..349081643 100644
--- a/package.json
+++ b/package.json
@@ -35,81 +35,81 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/animations": "^9.0.7",
-    "@angular/cdk": "^9.1.3",
-    "@angular/common": "^9.0.7",
-    "@angular/compiler": "^9.0.7",
-    "@angular/core": "^9.0.7",
-    "@angular/flex-layout": "^9.0.0-beta.29",
-    "@angular/forms": "^9.0.7",
-    "@angular/material": "^9.1.3",
-    "@angular/platform-browser": "^9.0.7",
-    "@angular/platform-browser-dynamic": "^9.0.7",
-    "@angular/router": "^9.0.7",
+    "@angular/animations": "^9.1.9",
+    "@angular/cdk": "^9.2.4",
+    "@angular/common": "^9.1.9",
+    "@angular/compiler": "^9.1.9",
+    "@angular/core": "^9.1.9",
+    "@angular/flex-layout": "^9.0.0-beta.31",
+    "@angular/forms": "^9.1.9",
+    "@angular/material": "^9.2.4",
+    "@angular/platform-browser": "^9.1.9",
+    "@angular/platform-browser-dynamic": "^9.1.9",
+    "@angular/router": "^9.1.9",
     "@types/pako": "^1.0.1",
     "@types/sprintf-js": "^1.1.2",
     "angular2-chartjs": "^0.5.1",
     "angular2-hotkeys": "^2.2.0",
-    "chartjs-plugin-zoom": "^0.7.5",
+    "chartjs-plugin-zoom": "^0.7.7",
     "cordova-android": "^8.1.0",
-    "cordova-plugin-advanced-http": "^2.4.1",
+    "cordova-plugin-advanced-http": "^2.5.1",
     "cordova-plugin-app-version": "^0.1.9",
     "cordova-plugin-badge": "^0.8.8",
     "cordova-plugin-device": "^2.0.3",
     "cordova-plugin-file": "^6.0.2",
-    "cordova-plugin-file-opener2": "^3.0.0",
+    "cordova-plugin-file-opener2": "^3.0.2",
     "cordova-plugin-local-notification": "^0.9.0-beta.2",
     "cordova-plugin-whitelist": "^1.3.4",
-    "core-js": "^3.6.4",
+    "core-js": "^3.6.5",
     "file-saver": "^2.0.2",
     "he": "^1.2.0",
     "jalhyd": "file:../jalhyd",
     "material-design-icons": "^3.0.1",
-    "mathjax": "^2.7.7",
+    "mathjax": "^2.7.8",
     "mermaid": "~8.3.1",
     "ngx-konami": "^1.7.1",
-    "ngx-markdown": "^9.0.0",
+    "ngx-markdown": "^9.1.1",
     "ngx-material-file-input": "^2.1.1",
     "ngx-matomo": "^0.1.4",
     "ngx-webstorage-service": "^4.1.0",
     "pako": "^1.0.11",
-    "primeng": "^9.0.1",
+    "primeng": "^9.1.0",
     "roboto-fontface": "^0.10.0",
-    "rxjs": "^6.5.4",
+    "rxjs": "^6.5.5",
     "screenfull": "^5.0.2",
     "svg-pan-zoom": "^3.6.1",
-    "tslib": "^1.11.1",
-    "xlsx": "^0.15.6",
+    "tslib": "^2.0.0",
+    "xlsx": "^0.16.2",
     "zone.js": "^0.10.3"
   },
   "devDependencies": {
-    "@angular-devkit/build-angular": "^0.900.7",
-    "@angular/cli": "^9.0.7",
-    "@angular/compiler-cli": "^9.0.7",
-    "@angular/language-service": "^9.0.7",
+    "@angular-devkit/build-angular": "^0.901.7",
+    "@angular/cli": "^9.1.7",
+    "@angular/compiler-cli": "^9.1.9",
+    "@angular/language-service": "^9.1.9",
     "@compodoc/compodoc": "^1.1.11",
     "@types/file-saver": "^2.0.1",
-    "@types/jasmine": "^3.5.9",
+    "@types/jasmine": "^3.5.10",
     "@types/jasminewd2": "^2.0.8",
-    "@types/node": "^13.9.2",
-    "codelyzer": "^5.1.2",
+    "@types/node": "^14.0.12",
+    "codelyzer": "^5.2.2",
     "cordova": "^9.0.0",
-    "electron": "^8.1.1",
-    "electron-builder": "^22.4.1",
-    "fs-extra": "^8.1.0",
+    "electron": "^9.0.3",
+    "electron-builder": "^22.7.0",
+    "fs-extra": "^9.0.1",
     "jasmine-core": "^3.5.0",
-    "jasmine-spec-reporter": "~4.2.1",
-    "karma": "^4.4.1",
+    "jasmine-spec-reporter": "^5.0.2",
+    "karma": "^5.0.9",
     "karma-chrome-launcher": "^3.1.0",
     "karma-cli": "~2.0.0",
-    "karma-coverage-istanbul-reporter": "^2.1.1",
-    "karma-jasmine": "^3.1.1",
-    "karma-jasmine-html-reporter": "^1.5.2",
-    "protractor": "^5.4.3",
-    "ts-node": "^8.7.0",
-    "tslint": "^6.1.0",
+    "karma-coverage-istanbul-reporter": "^3.0.3",
+    "karma-jasmine": "^3.3.1",
+    "karma-jasmine-html-reporter": "^1.5.4",
+    "protractor": "^7.0.0",
+    "ts-node": "^8.10.2",
+    "tslint": "^6.1.2",
     "typescript": "~3.7.5",
-    "webpack-dev-server": "^3.10.3"
+    "webpack-dev-server": "^3.11.0"
   },
   "cordova": {
     "plugins": {
@@ -127,4 +127,4 @@
       "android"
     ]
   }
-}
\ No newline at end of file
+}
-- 
GitLab


From 02b6bb481078b2cda8cce9231016a4917ba5518c Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 9 Jun 2020 12:25:47 +0200
Subject: [PATCH 058/117] PreBarrage: change form on graph click, edit walls

---
 src/app/calculators/pbbassin/en.json          |   6 +
 src/app/calculators/pbbassin/fr.json          |   6 +
 src/app/calculators/pbcloison/en.json         |   6 +
 src/app/calculators/pbcloison/fr.json         |   6 +
 src/app/calculators/prebarrage/config.json    |  41 ++----
 src/app/calculators/prebarrage/fr.json        |  13 +-
 .../dialog-new-pb-cloison.component.ts        |   2 -
 .../calculator.component.ts                   |   8 +-
 .../pb-schema/pb-schema.component.ts          | 135 +++++++++++++++---
 .../formulaire/definition/form-definition.ts  |   1 +
 .../definition/form-parallel-structures.ts    |   2 +-
 .../formulaire/definition/form-pb-cloison.ts  |  74 ++++++++++
 .../formulaire/definition/form-prebarrage.ts  | 115 +++++++++------
 .../formulaire/elements/formulaire-node.ts    |   2 +-
 src/app/formulaire/elements/pb-schema.ts      |   5 +
 .../formulaire/elements/select-field-nub.ts   |  52 ++++++-
 16 files changed, 366 insertions(+), 108 deletions(-)
 create mode 100644 src/app/calculators/pbbassin/en.json
 create mode 100644 src/app/calculators/pbbassin/fr.json
 create mode 100644 src/app/calculators/pbcloison/en.json
 create mode 100644 src/app/calculators/pbcloison/fr.json
 create mode 100644 src/app/formulaire/definition/form-pb-cloison.ts

diff --git a/src/app/calculators/pbbassin/en.json b/src/app/calculators/pbbassin/en.json
new file mode 100644
index 000000000..6566e3fd8
--- /dev/null
+++ b/src/app/calculators/pbbassin/en.json
@@ -0,0 +1,6 @@
+{
+    "fs_basin_params": "Basin parameters",
+
+    "S": "Surface",
+    "ZF": "Bottom elevation"
+}
diff --git a/src/app/calculators/pbbassin/fr.json b/src/app/calculators/pbbassin/fr.json
new file mode 100644
index 000000000..71d54fd77
--- /dev/null
+++ b/src/app/calculators/pbbassin/fr.json
@@ -0,0 +1,6 @@
+{
+    "fs_basin_params": "Paramètres du bassin",
+
+    "S": "Surface",
+    "ZF": "Cote de fond"
+}
diff --git a/src/app/calculators/pbcloison/en.json b/src/app/calculators/pbcloison/en.json
new file mode 100644
index 000000000..bcd280c3a
--- /dev/null
+++ b/src/app/calculators/pbcloison/en.json
@@ -0,0 +1,6 @@
+{
+    "fs_wall_params": "Wall parameters",
+
+    "select_upstream_basin": "Upstream basin",
+    "select_downstream_basin": "Downstream basin"
+}
diff --git a/src/app/calculators/pbcloison/fr.json b/src/app/calculators/pbcloison/fr.json
new file mode 100644
index 000000000..4480513b3
--- /dev/null
+++ b/src/app/calculators/pbcloison/fr.json
@@ -0,0 +1,6 @@
+{
+    "fs_wall_params": "Paramètres de la cloison",
+
+    "select_upstream_basin": "Bassin amont",
+    "select_downstream_basin": "Bassin aval"
+}
diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json
index 6c72eac2d..547346740 100644
--- a/src/app/calculators/prebarrage/config.json
+++ b/src/app/calculators/prebarrage/config.json
@@ -30,21 +30,8 @@
                 "id": "fs_basin_params",
                 "type": "fieldset",
                 "fields": [
-                    {
-                        "id": "select_upstream",
-                        "type": "select_reference",
-                        "reference": "nub",
-                        "source": "upstream_stuff"
-                    },
-                    {
-                        "id": "select_downstream",
-                        "type": "select_reference",
-                        "reference": "nub",
-                        "source": "downstream_stuff"
-                    },
-                    "Q",
-                    "Z1",
-                    "Z2"
+                    "S",
+                    "ZF"
                 ]
             },
             {
@@ -101,28 +88,30 @@
                 "type": "fieldset",
                 "fields": [
                     {
-                        "id": "select_upstream",
+                        "id": "select_upstream_basin",
                         "type": "select_reference",
                         "reference": "nub",
-                        "source": "upstream_stuff"
+                        "source": "upstream_basin"
                     },
                     {
-                        "id": "select_downstream",
+                        "id": "select_downstream_basin",
                         "type": "select_reference",
                         "reference": "nub",
-                        "source": "downstream_stuff"
-                    },
-                    {
-                        "id": "devices_container",
-                        "type": "template_container",
-                        "templates": [
-                            "fs_wall_device"
-                        ]
+                        "source": "downstream_basin"
                     }
                 ]
             },
+            {
+                "id": "struct_container",
+                "type": "template_container",
+                "templates": [
+                    "fs_wall_device"
+                ]
+            },
             {
                 "type": "options",
+                "upstreamBasinSelectId": "select_upstream_basin",
+                "downstreamBasinSelectId": "select_downstream_basin",
                 "selectIds": [ ]
             }
         ]
diff --git a/src/app/calculators/prebarrage/fr.json b/src/app/calculators/prebarrage/fr.json
index b770ea7b8..287b79352 100644
--- a/src/app/calculators/prebarrage/fr.json
+++ b/src/app/calculators/prebarrage/fr.json
@@ -1,10 +1,7 @@
 {
-    "fs_params": "Édition du bassin / de la cloison",
+    "fs_river_params": "Paramètres de la rivière",
 
-    "Ytarget": "Valeur du paramètre cible",
-    "Xinit": "Valeur initiale du paramètre recherché",
-    "X": "Valeur du paramètre recherché",
-
-    "select_upstream": "Bassin amont",
-    "select_downstream": "Bassin aval"
-}
\ No newline at end of file
+    "Q": "Débit",
+    "Z1": "Cote de l'eau amont",
+    "Z2": "Cote de l'eau aval"
+}
diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
index d562f03d3..7798238d6 100644
--- a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
+++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
@@ -57,13 +57,11 @@ export class DialogNewPbCloisonComponent implements OnInit {
      * @param downstream if true, inverts the test
      */
     public basinIsSelectable(index: number, downstream: boolean = false): boolean {
-        let ok = true;
         if (downstream) {
             return (this.upstreamIndex === 0 || index > this.upstreamIndex)
         } else {
             return (this.downstreamIndex === 0 || index < this.downstreamIndex)
         }
-        return ok;
     }
 
     public basinDescription(i: number, fallback: string): string {
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index f98742720..ca655a3e5 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -46,6 +46,7 @@ import { MultiDimensionResults } from "../../results/multidimension-results";
 import { NgParameter } from "../../formulaire/elements/ngparam";
 import { PbSchema } from "../../formulaire/elements/pb-schema";
 import { PbSchemaComponent } from "../pb-schema/pb-schema.component";
+import { FormulairePrebarrage } from "../../formulaire/definition/form-prebarrage";
 
 import { HotkeysService, Hotkey } from "angular2-hotkeys";
 
@@ -356,6 +357,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         this._formulaire.resetResults([]);
         this.appComponent.showProgressBar = true;
         this._computeClicked = true;
+        this.showPBInputData = false;
         // send resetForm to clear log
         this._formulaire.notifyObservers({
             "action": "resetForm",
@@ -569,9 +571,9 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
 
     /** réception d'un événement de clic sur un nœud du schéma de PréBarrage */
     public onPBNodeSelected(event: any) {
-        console.log("node selected", event.node ? event.node.constructor.name : "zubi");
-        this.showPBInputData = true;
-        // show proper form depending on what was clicked
+        this.showPBInputData = true; // @TODO pas forcément ! (résultats de l'élément cliqué)
+        // show proper form (actually subform elements) depending on what was clicked
+        (this._formulaire as FormulairePrebarrage).nodeSelected(event.node);
     }
 
     public openHelp() {
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 6728c7829..7249b6929 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -1,18 +1,16 @@
-import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild, Inject, forwardRef } from "@angular/core";
-import { MatDialog } from '@angular/material/dialog';
+import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChild, Inject, forwardRef, AfterContentInit } from "@angular/core";
+import { MatDialog } from "@angular/material/dialog";
 
 import {
-    PreBarrage, PbBassin, PbBassinParams, PbCloison
+    PreBarrage, PbBassin, PbBassinParams, PbCloison, CreateStructure, LoiDebit, Structure, Observer, IObservable
  } from "jalhyd";
 
 import * as mermaid from "mermaid";
 
 import { I18nService } from "../../services/internationalisation.service";
-import { ApplicationSetupService } from "../../services/app-setup.service";
-import { NotificationsService } from "../../services/notifications.service";
 import { PbSchema } from "../../formulaire/elements/pb-schema";
 import { DialogNewPbCloisonComponent } from "../dialog-new-pb-cloison/dialog-new-pb-cloison.component";
-import { GenericCalculatorComponent } from '../generic-calculator/calculator.component';
+import { GenericCalculatorComponent } from "../generic-calculator/calculator.component";
 
 /**
  * The interactive schema for calculator type "PreBarrage" (component)
@@ -24,7 +22,7 @@ import { GenericCalculatorComponent } from '../generic-calculator/calculator.com
         "./pb-schema.component.scss"
     ]
 })
-export class PbSchemaComponent implements AfterViewInit, OnInit {
+export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnInit, Observer {
 
     @Input()
     private pbSchema: PbSchema;
@@ -65,9 +63,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     public constructor(
         @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent,
         private i18nService: I18nService,
-        private newPbCloisonDialog: MatDialog,
-        private appSetupService: ApplicationSetupService,
-        private notifService: NotificationsService
+        private newPbCloisonDialog: MatDialog
     ) { }
 
     public get selectedItem(): any {
@@ -110,6 +106,8 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     public ngAfterViewInit(): void {
         this.refreshEventListeners();
         this.updateValidity();
+        // subscribe to "refresh" event passed indirectly by FormulairePbCloison (change upstream/downstream basin)
+        this.pbSchema.addObserver(this);
     }
 
     /** Add click listener on every node and link in the graph */
@@ -122,6 +120,19 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         });
     }
 
+    // debug
+    private createStructure(l: LoiDebit, v: number[]): Structure {
+        const s: Structure = CreateStructure(l);
+        s.prms.Q.singleValue = v[0];
+        s.prms.ZDV.singleValue = v[1];
+        s.prms.Z1.singleValue = v[2];
+        s.prms.Z2.singleValue = v[3];
+        s.getParameter("L").singleValue = v[4];
+        s.getParameter("CdGR").singleValue = v[5];
+        s.prms.W.singleValue = v[6];
+        return s;
+    }
+
     /**
      * Builds a Mermaid graph text definition, using Nodes
      * to represent basins as well as walls; sorts connexions
@@ -161,17 +172,89 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
             this.model.addChild(new PbBassin(new PbBassinParams(32.10, 94.25)));
             this.model.addChild(new PbBassin(new PbBassinParams(35.00, 94.10)));
             this.model.addChild(new PbCloison(undefined, this.model.children[0] as PbBassin));
+            // Session.getInstance().createNub(p, this.currentNub as ParallelStructure) as Structure
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.30, 0, 0, 0.4, 1.04 ])
+            );
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 4.40, 1.04 ])
+            );
+            //  Wall between upstream and basin 2
             this.model.addChild(new PbCloison(undefined, this.model.children[1] as PbBassin));
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.00, 0, 0, 1.00, 1.04 ])
+            );
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.00, 0.91 ])
+            );
+            // Wall between upstream and basin 5
             this.model.addChild(new PbCloison(undefined, this.model.children[4] as PbBassin));
+             this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.50, 0.99 ])
+            );
+            // Wall between upstream and basin 6
             this.model.addChild(new PbCloison(undefined, this.model.children[5] as PbBassin));
+             this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.60, 0.99 ])
+            );
+            // Wall between basin 1 & 3
             this.model.addChild(new PbCloison(this.model.children[0] as PbBassin, this.model.children[2] as PbBassin));
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.00, 0, 0, 0.40, 1.04 ])
+            );
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.20, 0.99 ])
+            );
+            // Wall between basin 2 & 3
             this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[2] as PbBassin));
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 4.38, 0.91 ])
+            );
+            // Wall between basin 2 & 4
             this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[3] as PbBassin));
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 3.00, 0.99 ])
+            );
+            // Wall between basin 2 & 5
             this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[4] as PbBassin));
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.50, 0, 0, 1.00, 1.04 ])
+            );
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.75, 0, 0, 3.00, 0.99 ])
+            );
+            // Wall between basin 3 & 4
             this.model.addChild(new PbCloison(this.model.children[2] as PbBassin, this.model.children[3] as PbBassin));
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.70, 0, 0, 0.40, 1.04 ])
+            );
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.65, 0, 0, 5.74, 0.99 ])
+            );
+            // Wall between basin 4 & 5
             this.model.addChild(new PbCloison(this.model.children[3] as PbBassin, this.model.children[4] as PbBassin));
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.40, 0, 0, 0.40, 1.04 ])
+            );
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.35, 0, 0, 6.00, 0.99 ])
+            );
+            // Wall between basin 5 & 6
             this.model.addChild(new PbCloison(this.model.children[4] as PbBassin, this.model.children[5] as PbBassin));
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.25, 0, 0, 0.70, 1.04 ])
+            );
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.05, 0, 0, 9.50, 0.99 ])
+            );
+            // Wall between basin 6 & downstream
             this.model.addChild(new PbCloison(this.model.children[5] as PbBassin, undefined));
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.10, 0, 0, 0.95, 1.04 ])
+            );
+            this.model.children[this.model.children.length - 1].addChild(
+                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.75, 0, 0, 10.20, 0.99 ])
+            );
         }
 
         const sortedWalls: PbCloison[] = [];
@@ -239,7 +322,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         const sommeA = a.bassinAmont.findPositionInParent() + a.bassinAval.findPositionInParent();
         const sommeB = b.bassinAmont.findPositionInParent() + b.bassinAval.findPositionInParent();
         return (sommeA <= sommeB ? -1 : 1);
-    };
+    }
 
     private selectNode(item: any) {
         // highlight clicked element
@@ -249,13 +332,9 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
         if ([ this.upstreamId, this.downstreamId ].includes(item.id)) {
             this._selectedItem = undefined;
         } else {
-            for (const b of this.model.children) {
-                if (b.uid === item.id) {
-                    this._selectedItem = b;
-                }
-            }
+            this._selectedItem = this.model.findChild(item.id);
         }
-        // show proper form, hide results
+        // show proper form and hide results
         this.nodeSelected.emit({
             node: this._selectedItem
         });
@@ -315,7 +394,9 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     private findBasinPosition(basin: PbBassin): number {
         let i = 0;
         for (const b of this.model.bassins) {
-            if (b === basin) break;
+            if (b === basin) {
+                break;
+            }
             i++;
         }
         return i;
@@ -347,10 +428,10 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
 
     /** Copies a wall */
     public onCopyClick() {
-        const wall = this._selectedItem as PbCloison
+        const wall = this._selectedItem as PbCloison;
         const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval);
         this.model.addChild(wallCopy);
-        this.unselect();
+        this.unselect(); // @TODO select new wall ?
         this.refresh();
     }
 
@@ -361,7 +442,7 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     /** Adds a new lone basin */
     public onAddBasinClick() {
         this.model.addChild(new PbBassin(new PbBassinParams(20, 99)));
-        this.unselect();
+        this.unselect(); // @TODO select new basin ?
         this.refresh();
     }
 
@@ -424,6 +505,18 @@ export class PbSchemaComponent implements AfterViewInit, OnInit {
     private unselect() {
         this._selectedItem = undefined;
         this.clearHighlightedItems();
+        this.nodeSelected.emit({}); // nothing selected
+    }
+
+    // interface Observer
+
+    public update(sender: IObservable, data: any) {
+        if (sender instanceof PbSchema) {
+            if (data.action === "refresh") {
+                this.unselect();
+                this.refresh();
+            }
+        }
     }
 
 }
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index dd6797765..cf5fa11d2 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -272,6 +272,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     break;
 
                 case "template_container":
+                    console.log("parsing template container !", conf);
                     this.parse_template_container(conf, templates);
                     break;
 
diff --git a/src/app/formulaire/definition/form-parallel-structures.ts b/src/app/formulaire/definition/form-parallel-structures.ts
index 6e238dd76..c985f288b 100644
--- a/src/app/formulaire/definition/form-parallel-structures.ts
+++ b/src/app/formulaire/definition/form-parallel-structures.ts
@@ -98,7 +98,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset {
     }
 
     protected get fieldsetContainer(): FieldsetContainer {
-        const n = this.getFormulaireNodeById("struct_container");
+        const n = this.getFormulaireNodeById("struct_container"); // @TODO make it generic, do not force ID !
         if (n === undefined || !(n instanceof FieldsetContainer)) {
             throw new Error("l'élément 'struct_container' n'est pas du type FieldsetContainer");
         }
diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts
new file mode 100644
index 000000000..5ea0bc823
--- /dev/null
+++ b/src/app/formulaire/definition/form-pb-cloison.ts
@@ -0,0 +1,74 @@
+import { FormulaireParallelStructure } from "./form-parallel-structures";
+import { SelectFieldNub } from "../elements/select-field-nub";
+
+import { IObservable, Nub, PbCloison, PbBassin } from "jalhyd";
+
+export class FormulairePbCloison extends FormulaireParallelStructure {
+
+    /** id of select configuring upstream basin Nub */
+    private _upstreamBasinSelectId: string;
+
+    /** id of select configuring downstream basin Nub */
+    private _downstreamBasinSelectId: string;
+
+    protected parseOptions(json: {}) {
+        super.parseOptions(json);
+        this._upstreamBasinSelectId = this.getOption(json, "upstreamBasinSelectId");
+        this._downstreamBasinSelectId = this.getOption(json, "downstreamBasinSelectId");
+    }
+
+    protected completeParse(json: {}, firstNotif: boolean = true) {
+        super.completeParse(json);
+        if (this._upstreamBasinSelectId) {
+            const sel = this.getFormulaireNodeById(this._upstreamBasinSelectId);
+            if (sel) {
+                sel.addObserver(this);
+                if (firstNotif) {
+                    // force 1st observation
+                    (sel as SelectFieldNub).notifySelectValueChanged();
+                }
+            }
+        }
+        if (this._downstreamBasinSelectId) {
+            const sel = this.getFormulaireNodeById(this._downstreamBasinSelectId);
+            if (sel) {
+                sel.addObserver(this);
+                if (firstNotif) {
+                    // force 1st observation
+                    (sel as SelectFieldNub).notifySelectValueChanged();
+                }
+            }
+        }
+    }
+
+    // interface Observer
+
+    public update(sender: IObservable, data: any) {
+        // copied from FormDefinition, to avoid calling super.update()
+        if (sender instanceof Nub) {
+            switch (data.action) {
+                case "resultUpdated":
+                    // forward Nub results update notification to FormCompute objects
+                    this.reaffectResultComponents();
+                    break;
+            }
+        }
+        // copied from FormFixedVar, to avoid calling super.update()
+        if (data.action === "propertyChange") {
+            this.reset();
+        }
+
+        if (sender instanceof SelectFieldNub) {
+            const nub = this._currentNub as PbCloison;
+            const pb = nub.parent;
+            // empty "" data.value.value should return undefined, which is good for amont/aval
+            const newBasin = pb.findChild(data.value.value) as PbBassin;
+            if (sender.id === this._upstreamBasinSelectId) {
+                nub.bassinAmont = newBasin;
+            } else if (sender.id === this._downstreamBasinSelectId) {
+                nub.bassinAval = newBasin;
+            }
+            this.notifyObservers({ action: "updateBasin" }, this);
+        }
+    }
+}
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index d15c13b37..95d4ee703 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -1,8 +1,10 @@
-import { CalculatorType } from "jalhyd";
+import { CalculatorType, PbBassin, PbCloison, IObservable } from "jalhyd";
 
 import { FormulaireFixedVar } from "./form-fixedvar";
-import { FormulaireParallelStructure } from "./form-parallel-structures";
 import { PbSchema } from "../elements/pb-schema";
+import { FormulaireDefinition } from "./form-definition";
+import { ServiceFactory } from "../../services/service-factory";
+import { FormulairePbCloison } from "./form-pb-cloison";
 
 /**
  * Formulaire pour les PréBarrage
@@ -15,27 +17,16 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     /** child form for basins dimensions */
     private basinForm: FormulaireFixedVar;
 
+    /** configuration for re-creating basin form every time needed */
+    private basinFormConfig: string;
+
     /** child form for walls (repeatable devices) */
-    private wallForm: FormulaireParallelStructure;
-
-    public constructor() {
-        super();
-        console.log("Construction du FormPreBarrage !!");
-        this.riverForm = new FormulaireFixedVar();
-        this.riverForm.defaultProperties["calcType"] = CalculatorType.PreBarrage;
-        this.basinForm = new FormulaireFixedVar();
-        this.basinForm.defaultProperties["calcType"] = CalculatorType.PbBassin;
-        this.wallForm = new FormulaireParallelStructure();
-        this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison;
-    }
+    private wallForm: FormulairePbCloison;
 
-    protected parseOptions(json: {}) {
-        // super.parseOptions(json);
-        // @TODO parse children forms configs
-    }
+    /** configuration for re-creating wall form every time needed */
+    private wallFormConfig: string;
 
     public parseConfig(json?: {}) {
-        console.log("> parse confaïgue");
         if (json !== undefined) {
             this._jsonConfig = json;
         }
@@ -64,25 +55,28 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     }
 
     private parse_subform(json: {}) {
-        console.log("parse sf", json);
         switch (json["id"]) {
             case "subform_river":
+                // parse it and build it once then keep it (it always has the same Nub: PreBarrage)
+                this.riverForm = new FormulaireFixedVar();
+                this.riverForm.defaultProperties["calcType"] = CalculatorType.PreBarrage;
                 this.riverForm.currentNub = this.currentNub;
+                this.riverForm.preparseConfig(json["config"]);
                 this.riverForm.parseConfig(json["config"]);
+                this.kids.push(this.riverForm);
+                // show default form
+                this.showFormElements(this.riverForm);
                 break;
             case "subform_basin":
-                // this.basinForm.currentNub = this.currentNub;
-                this.basinForm.parseConfig(json["config"]);
+                // only store config to create it multiple times on demand
+                this.basinFormConfig = json["config"];
                 break;
             case "subform_wall":
-                // this.wallForm.currentNub = this.currentNub;
-                this.wallForm.parseConfig(json["config"]);
+                // same as above
+                console.log("===> storing wall form config", json["config"]);
+                this.wallFormConfig = json["config"];
                 break;
         }
-        // console.log(">> triggering parsing of new subform", subform.constructor.name, subform.uid);
-        // subform.parseConfig(json);
-        // this.kids.push(subform);
-        // f.defaultProperties["calcType"] = ct;
     }
 
     private parse_pb_schema(json: {}) {
@@ -91,26 +85,59 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
         this.kids.push(sch);
     }
 
-    protected completeParse(json: {}, firstNotif: boolean = true) {
-        // super.completeParse(json);
-        // @TODO parse children forms configs
+    public nodeSelected(node: PbBassin | PbCloison) {
+        // show only the relevant form
+        if (node === undefined) {
+            this.showFormElements(this.riverForm);
+
+        } else if (node instanceof PbBassin) {
+            this.basinForm = new FormulaireFixedVar();
+            this.basinForm.defaultProperties["calcType"] = CalculatorType.PbBassin;
+            this.basinForm.currentNub = node;
+            this.basinForm.preparseConfig(this.basinFormConfig);
+            this.basinForm.parseConfig(this.basinFormConfig);
+            ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.basinForm);
+            this.showFormElements(this.basinForm);
+
+        } else if (node instanceof PbCloison) {
+            this.wallForm = new FormulairePbCloison();
+            this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison;
+            this.wallForm.currentNub = node;
+            this.wallForm.preparseConfig(this.wallFormConfig);
+            this.wallForm.parseConfig(this.wallFormConfig);
+            this.wallForm.addObserver(this); // subscribe to upstream/downstream basin change
+            ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.wallForm);
+            this.showFormElements(this.wallForm);
+        }
+    }
+
+    /**
+     * Adds all elements of given Formulaire f to the current form, right
+     * after the PbSchema, replacing any other element already present
+     * @param f Formulaire to display
+     */
+    private showFormElements(f: FormulaireDefinition) {
+        // clear all kids except PbSchema
+        this._kids = [ this.kids[0] ];
+        for (const e of f.kids) {
+            this.kids.push(e);
+        }
+    }
+
+    private refreshSchema() {
+        const pbs = this.kids[0] as PbSchema;
+        pbs.refresh();
     }
 
     // interface Observer
 
-    /* public update(sender: IObservable, data: any) {
-        // copied from FormDefinition, to avoid calling super.update()
-        if (sender instanceof Nub) {
-            switch (data.action) {
-                case "resultUpdated":
-                    // forward Nub results update notification to FormCompute objects
-                    this.reaffectResultComponents();
-                    break;
+    public update(sender: IObservable, data: any) {
+        super.update(sender, data);
+        if (sender instanceof FormulairePbCloison) {
+            // console.log("HOH PUTAIN CE BIG QUATTRO HOYOYOYOYOY", this.kids[0].constructor.name);
+            if (data.action === "updateBasin") {
+                this.refreshSchema();
             }
         }
-        // copied from FormFixedVar, to avoid calling super.update()
-        if (data.action === "propertyChange") {
-            this.reset();
-        }
-    } */
+    }
 }
diff --git a/src/app/formulaire/elements/formulaire-node.ts b/src/app/formulaire/elements/formulaire-node.ts
index cffa97d86..c8085eccb 100644
--- a/src/app/formulaire/elements/formulaire-node.ts
+++ b/src/app/formulaire/elements/formulaire-node.ts
@@ -22,7 +22,7 @@ export abstract class FormulaireNode implements IObservable {
     private _parentNode: FormulaireNode;
 
     /** enfants (utilisé entre autres pour FormulaireDefinition, FieldSet et FieldsetContainer) */
-    private _kids: FormulaireNode[];
+    protected _kids: FormulaireNode[];
 
     /** implémentation par délégation de IObservable */
     private _observable: Observable;
diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts
index 5be43f62f..94a7d452a 100644
--- a/src/app/formulaire/elements/pb-schema.ts
+++ b/src/app/formulaire/elements/pb-schema.ts
@@ -22,4 +22,9 @@ export class PbSchema extends FormulaireElement {
             return this.parentForm.currentNub as PreBarrage;
         }
     }
+
+    /** Asks PbSchemaComponent to redraw the schema */
+    public refresh() {
+        this.notifyObservers({ action: "refresh" }, this);
+    }
 }
diff --git a/src/app/formulaire/elements/select-field-nub.ts b/src/app/formulaire/elements/select-field-nub.ts
index 3cbcf0720..d4975c714 100644
--- a/src/app/formulaire/elements/select-field-nub.ts
+++ b/src/app/formulaire/elements/select-field-nub.ts
@@ -3,7 +3,7 @@ import { SelectEntry } from "./select-entry";
 import { ServiceFactory } from "../../services/service-factory";
 import { decodeHtml } from "../../util";
 
-import { Session, Solveur } from "jalhyd";
+import { Session, Solveur, PbCloison, PreBarrage } from "jalhyd";
 
 /**
  * A select field that populates itself with references to Nubs
@@ -12,12 +12,32 @@ export class SelectFieldNub extends SelectFieldReference {
 
     protected initSelectedValue() {
         const nub = this.parentForm.currentNub;
-        if (nub instanceof Solveur) {
+        if (nub instanceof Solveur) { // Solveur, module cible (à calculer)
             const ntc = nub.nubToCalculate;
             if (ntc !== undefined) {
                 this.setValueFromId(this._entriesBaseId + ntc.uid);
             }
         }
+        if (nub instanceof PbCloison) { // PreBarrage, PbCloison
+            switch (this._source) {
+                case "upstream_basin":
+                    const ub = nub.bassinAmont;
+                    let idUb = "";
+                    if (ub !== undefined) {
+                        idUb = ub.uid;
+                    }
+                    this.setValueFromId(this._entriesBaseId + idUb);
+                    break;
+                case "downstream_basin":
+                    const db = nub.bassinAval;
+                    let idDb = "";
+                    if (db !== undefined) {
+                        idDb = db.uid;
+                    }
+                    this.setValueFromId(this._entriesBaseId + idDb);
+                    break;
+            }
+        }
     }
 
     /**
@@ -50,6 +70,34 @@ export class SelectFieldNub extends SelectFieldReference {
                     }
                 }
                 break;
+
+            case "upstream_basin": // PreBarrage, PbCloison, bassin amont
+                const ubNub = this.parentForm.currentNub as PbCloison;
+                const upPb: PreBarrage = ubNub.parent;
+                // add river upstream
+                this.addEntry(new SelectEntry(this._entriesBaseId, "", "Amont"));
+                // add all basins up the current downstream_basin
+                const dbPos = (ubNub.bassinAval === undefined ? upPb.bassins.length : ubNub.bassinAval.findPositionInParent());
+                for (let i = 0; i < dbPos; i++) {
+                    const label = "Bassin n°" + (i + 1);
+                    const b = upPb.bassins[i];
+                    this.addEntry(new SelectEntry(this._entriesBaseId + b.uid, b.uid, decodeHtml(label)));
+                }
+                break;
+
+            case "downstream_basin": // PreBarrage, PbCloison, bassin aval
+                const dbNub = this.parentForm.currentNub as PbCloison;
+                const dbPb: PreBarrage = dbNub.parent;
+                // find all basins down the current upstream_basin
+                const ubPos = (dbNub.bassinAmont === undefined ? -1 : dbNub.bassinAmont.findPositionInParent());
+                for (let i = ubPos + 1; i < dbPb.bassins.length; i++) {
+                    const label = "Bassin n°" + (i + 1);
+                    const b = dbPb.bassins[i];
+                    this.addEntry(new SelectEntry(this._entriesBaseId + b.uid, b.uid, decodeHtml(label)));
+                }
+                // add river downstream
+                this.addEntry(new SelectEntry(this._entriesBaseId, "", "Aval"));
+                break;
         }
     }
 
-- 
GitLab


From 5b63377c8b0e93b98d1f873a7d10713c3b9ad43a Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 11 Jun 2020 14:42:27 +0200
Subject: [PATCH 059/117] PreBarrage: move "standalone" basins

---
 .../pb-schema/pb-schema.component.html        | 13 ++++-
 .../pb-schema/pb-schema.component.ts          | 55 ++++++++++++++++++-
 src/locale/messages.en.json                   |  2 +
 src/locale/messages.fr.json                   |  2 +
 4 files changed, 68 insertions(+), 4 deletions(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
index f8bb9bbc0..b9314c653 100644
--- a/src/app/components/pb-schema/pb-schema.component.html
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -21,13 +21,20 @@
                 {{ prefixedItemDescription }}
             </span>
             <button type="button" mat-icon-button color="primary" [disabled]="! enableCopyButton" (click)="onCopyClick()"
-            [title]="uitextCopy">
-              <mat-icon>content_copy</mat-icon>
-          </button>
+              [title]="uitextCopy">
+                <mat-icon>content_copy</mat-icon>
+            </button>
+          |
             <button type="button" mat-icon-button color="primary" [disabled]="! enableRemoveButton" (click)="onRemoveClick()"
               [title]="uitextRemove">
                 <mat-icon>delete</mat-icon>
             </button>
+            <button type="button" mat-icon-button [disabled]="! enableUpButton" (click)="onMoveBasinUpClick()" [title]="uitextMoveBasinUp">
+                <mat-icon>arrow_upward</mat-icon>
+            </button>
+            <button type="button" mat-icon-button [disabled]="! enableDownButton" (click)="onMoveBasinDownClick()" [title]="uitextMoveBasinDown">
+                <mat-icon>arrow_downward</mat-icon>
+            </button>
             <!-- 
             |
             <button type="button" mat-icon-button color="primary" (click)="exportAsSpreadsheet()"
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 7249b6929..695243eab 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -480,11 +480,64 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         });
     }
 
-
     public get uitextAddWall() {
         return this.i18nService.localizeText("INFO_PB_ADD_WALL");
     }
 
+    public get enableUpButton() {
+        return (
+            this._selectedItem instanceof PbBassin
+            && this.findBasinPosition(this._selectedItem) !== 0
+            && this.isStandaloneBasin(this._selectedItem)
+        );
+    }
+
+    public onMoveBasinUpClick() {
+        if (this._selectedItem instanceof PbBassin) {
+            this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) - 1);
+        }
+        this.refresh();
+    }
+
+    public get uitextMoveBasinUp() {
+        return this.i18nService.localizeText("INFO_PB_MOVE_BASIN_UP");
+    }
+
+    public get enableDownButton() {
+        return (
+            this._selectedItem instanceof PbBassin
+            && this.findBasinPosition(this._selectedItem) !== this.model.bassins.length - 1
+            && this.isStandaloneBasin(this._selectedItem)
+        );
+    }
+
+    public onMoveBasinDownClick() {
+        if (this._selectedItem instanceof PbBassin) {
+            this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) + 1);
+        }
+        this.refresh();
+    }
+
+    public get uitextMoveBasinDown() {
+        return this.i18nService.localizeText("INFO_PB_MOVE_BASIN_DOWN");
+    }
+
+    /**
+     * Returns true if given basin is either connected to nothing, or only to
+     * river upstream or downstream
+     */
+    private isStandaloneBasin(basin: PbBassin) {
+        return (
+            (
+                basin.cloisonsAmont.length === 0
+                || basin.cloisonsAmont.map(c => c.bassinAmont).every(e => e === undefined)
+            ) && (
+                basin.cloisonsAval.length === 0
+                || basin.cloisonsAval.map(c => c.bassinAval).every(e => e === undefined)
+            )
+        );
+    }
+
     /**
      * Computes the global Pab validity : validity of every cell of every row
      */
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index cd129d423..4b536c864 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -438,6 +438,8 @@
     "INFO_PB_ADD_WALL": "Add new wall",
     "INFO_PB_BASSIN_N": "Basin #",
     "INFO_PB_CLOISON": "Wall",
+    "INFO_PB_MOVE_BASIN_UP": "Move basin up",
+    "INFO_PB_MOVE_BASIN_DOWN": "Move basin down",
     "INFO_PB_NEW_WALL_SELECT_BASINS": "Select basins to connect",
     "INFO_PB_NEW_WALL_UP_BASIN": "upstream basin",
     "INFO_PB_NEW_WALL_DOWN_BASIN": "Downstream basin",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index eb375924f..3a4f04769 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -438,6 +438,8 @@
     "INFO_PB_ADD_WALL": "Ajouter une cloison",
     "INFO_PB_BASSIN_N": "Bassin n°",
     "INFO_PB_CLOISON": "Cloison",
+    "INFO_PB_MOVE_BASIN_UP": "Déplacer le bassin vers le haut",
+    "INFO_PB_MOVE_BASIN_DOWN": "Déplacer le bassin vers le bas",
     "INFO_PB_NEW_WALL_SELECT_BASINS": "Choisir les bassins à connecter",
     "INFO_PB_NEW_WALL_UP_BASIN": "Bassin amont",
     "INFO_PB_NEW_WALL_DOWN_BASIN": "Bassin aval",
-- 
GitLab


From 696e0c119716f999b70660d2e330508afeaaa107 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 11 Jun 2020 15:01:00 +0200
Subject: [PATCH 060/117] PreBarrage: enhance node selection on schema

---
 .../pb-schema/pb-schema.component.ts          | 31 +++++++++++++++++--
 .../formulaire/definition/form-pb-cloison.ts  |  5 ++-
 .../formulaire/definition/form-prebarrage.ts  |  6 ++--
 src/app/formulaire/elements/pb-schema.ts      |  7 +++--
 4 files changed, 40 insertions(+), 9 deletions(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 695243eab..25cee4728 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -391,6 +391,17 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         return desc;
     }
 
+    /**
+     * Selects and highlights on the schema the given wall or basin
+     */
+    private selectNodeOnSchema(element: PbBassin | PbCloison) {
+        this.nativeElement.querySelectorAll("g.node").forEach(item => {
+            if (item.id === element.uid) {
+                this.selectNode(item);
+            }
+        });
+    }
+
     private findBasinPosition(basin: PbBassin): number {
         let i = 0;
         for (const b of this.model.bassins) {
@@ -431,8 +442,9 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         const wall = this._selectedItem as PbCloison;
         const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval);
         this.model.addChild(wallCopy);
-        this.unselect(); // @TODO select new wall ?
+        this.unselect();
         this.refresh();
+        this.selectNodeOnSchema(wallCopy);
     }
 
     public get uitextCopy() {
@@ -441,9 +453,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
 
     /** Adds a new lone basin */
     public onAddBasinClick() {
-        this.model.addChild(new PbBassin(new PbBassinParams(20, 99)));
-        this.unselect(); // @TODO select new basin ?
+        const newBasin = new PbBassin(new PbBassinParams(20, 99));
+        this.model.addChild(newBasin);
+        this.unselect();
         this.refresh();
+        this.selectNodeOnSchema(newBasin);
     }
 
     public get uitextAddBasin() {
@@ -476,6 +490,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
                 this.model.addChild(wall);
                 this.unselect();
                 this.refresh();
+                this.selectNodeOnSchema(wall);
             }
         });
     }
@@ -496,7 +511,10 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         if (this._selectedItem instanceof PbBassin) {
             this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) - 1);
         }
+        const basin = this._selectedItem;
+        this.unselect();
         this.refresh();
+        this.selectNodeOnSchema(basin);
     }
 
     public get uitextMoveBasinUp() {
@@ -515,7 +533,10 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         if (this._selectedItem instanceof PbBassin) {
             this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) + 1);
         }
+        const basin = this._selectedItem;
+        this.unselect();
         this.refresh();
+        this.selectNodeOnSchema(basin);
     }
 
     public get uitextMoveBasinDown() {
@@ -568,6 +589,10 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
             if (data.action === "refresh") {
                 this.unselect();
                 this.refresh();
+                // select a node on the schema ?
+                if (data.value !== undefined) {
+                    this.selectNodeOnSchema(this.model.findChild(data.value));
+                }
             }
         }
     }
diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts
index 5ea0bc823..d448f6a99 100644
--- a/src/app/formulaire/definition/form-pb-cloison.ts
+++ b/src/app/formulaire/definition/form-pb-cloison.ts
@@ -68,7 +68,10 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
             } else if (sender.id === this._downstreamBasinSelectId) {
                 nub.bassinAval = newBasin;
             }
-            this.notifyObservers({ action: "updateBasin" }, this);
+            this.notifyObservers({
+                action: "updateBasin",
+                value: nub.uid // node to select on the schema
+            }, this);
         }
     }
 }
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index 95d4ee703..dd175247a 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -124,9 +124,9 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
         }
     }
 
-    private refreshSchema() {
+    private refreshSchema(nodeUidToSelect: string) {
         const pbs = this.kids[0] as PbSchema;
-        pbs.refresh();
+        pbs.refresh(nodeUidToSelect);
     }
 
     // interface Observer
@@ -136,7 +136,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
         if (sender instanceof FormulairePbCloison) {
             // console.log("HOH PUTAIN CE BIG QUATTRO HOYOYOYOYOY", this.kids[0].constructor.name);
             if (data.action === "updateBasin") {
-                this.refreshSchema();
+                this.refreshSchema(data.value);
             }
         }
     }
diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts
index 94a7d452a..07e108890 100644
--- a/src/app/formulaire/elements/pb-schema.ts
+++ b/src/app/formulaire/elements/pb-schema.ts
@@ -24,7 +24,10 @@ export class PbSchema extends FormulaireElement {
     }
 
     /** Asks PbSchemaComponent to redraw the schema */
-    public refresh() {
-        this.notifyObservers({ action: "refresh" }, this);
+    public refresh(nodeUidToSelect: string) {
+        this.notifyObservers({
+            action: "refresh",
+            value: nodeUidToSelect
+        }, this);
     }
 }
-- 
GitLab


From 43ac184ad8b45a3e3d0b8af1b2ac6f58a0181c08 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 22 Jun 2020 16:46:47 +0200
Subject: [PATCH 061/117] PreBarrage: move walls

---
 .../select-model-field-line.component.ts      |  2 +-
 .../formulaire/definition/form-definition.ts  |  1 -
 .../formulaire/definition/form-pb-cloison.ts  | 26 ++++++++++---------
 3 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/app/components/select-model-field-line/select-model-field-line.component.ts b/src/app/components/select-model-field-line/select-model-field-line.component.ts
index f88877835..fdf8af949 100644
--- a/src/app/components/select-model-field-line/select-model-field-line.component.ts
+++ b/src/app/components/select-model-field-line/select-model-field-line.component.ts
@@ -80,7 +80,7 @@ export class SelectModelFieldLineComponent implements OnInit {
     public async createModel() {
         const f = await this._formService.createFormulaire(this._select.calcType);
         this.router.navigate(["/calculator", f.uid]);
-        // on ajoute un ouvrage aux modulex de type "parallèle"
+        // on ajoute un ouvrage aux modules de type "parallèle"
         for (const e of f.allFormElements) {
             if (e instanceof FieldsetContainer) {
                 e.addFromTemplate(0);
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index cf5fa11d2..dd6797765 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -272,7 +272,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     break;
 
                 case "template_container":
-                    console.log("parsing template container !", conf);
                     this.parse_template_container(conf, templates);
                     break;
 
diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts
index d448f6a99..90ac294ec 100644
--- a/src/app/formulaire/definition/form-pb-cloison.ts
+++ b/src/app/formulaire/definition/form-pb-cloison.ts
@@ -17,26 +17,18 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
         this._downstreamBasinSelectId = this.getOption(json, "downstreamBasinSelectId");
     }
 
-    protected completeParse(json: {}, firstNotif: boolean = true) {
+    protected completeParse(json: {}) {
         super.completeParse(json);
         if (this._upstreamBasinSelectId) {
             const sel = this.getFormulaireNodeById(this._upstreamBasinSelectId);
             if (sel) {
                 sel.addObserver(this);
-                if (firstNotif) {
-                    // force 1st observation
-                    (sel as SelectFieldNub).notifySelectValueChanged();
-                }
             }
         }
         if (this._downstreamBasinSelectId) {
             const sel = this.getFormulaireNodeById(this._downstreamBasinSelectId);
             if (sel) {
                 sel.addObserver(this);
-                if (firstNotif) {
-                    // force 1st observation
-                    (sel as SelectFieldNub).notifySelectValueChanged();
-                }
             }
         }
     }
@@ -64,13 +56,23 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
             // empty "" data.value.value should return undefined, which is good for amont/aval
             const newBasin = pb.findChild(data.value.value) as PbBassin;
             if (sender.id === this._upstreamBasinSelectId) {
-                nub.bassinAmont = newBasin;
+                // remove and recreate wall (easier for pointers consistency)
+                const oldDownstreamBasin = nub.bassinAval;
+                pb.deleteChild(pb.findChildPosition(nub.uid));
+                const newWall = new PbCloison(newBasin, oldDownstreamBasin);
+                pb.addChild(newWall);
+                this.currentNub = newWall;
             } else if (sender.id === this._downstreamBasinSelectId) {
-                nub.bassinAval = newBasin;
+                // remove and recreate wall (easier for pointers consistency)
+                const oldUpstreamBasin = nub.bassinAmont;
+                pb.deleteChild(pb.findChildPosition(nub.uid));
+                const newWall = new PbCloison(oldUpstreamBasin, newBasin);
+                pb.addChild(newWall);
+                this.currentNub = newWall;
             }
             this.notifyObservers({
                 action: "updateBasin",
-                value: nub.uid // node to select on the schema
+                value: this._currentNub.uid // node to select on the schema
             }, this);
         }
     }
-- 
GitLab


From 8b0a684e70656ed41a8bff5421600acad9740def Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Tue, 26 May 2020 09:59:17 +0200
Subject: [PATCH 062/117] Work on GUI for Prebarrage

---
 src/app/formulaire/definition/form-definition.ts | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index dd6797765..e37c8cd0c 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -24,6 +24,7 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera
 import { CalculatorResults } from "../../results/calculator-results";
 import { ServiceFactory } from "../../services/service-factory";
 import { PabTable } from "../elements/pab-table";
+import { PbSchema } from '../elements/pb-schema';
 
 /**
  * classe de base pour tous les formulaires
@@ -222,6 +223,13 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         this.kids.push(tab);
     }
 
+    private parse_pb_schema(json: {}) {
+        const sch: PbSchema = new PbSchema(this);
+        sch.parseConfig(json);
+        this.kids.push(sch);
+    }
+
+
     /**
      * 1ère passe d'analyse de la configuration
      */
@@ -279,6 +287,10 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     this.parse_pab_table(conf);
                     break;
 
+                case "pb_schema": // not generic at all
+                    this.parse_pb_schema(conf);
+                    break;
+
                 default:
                     throw new Error(`type d'objet de module de calcul ${type} non pris en charge`);
             }
-- 
GitLab


From cc0db7e95d090fb3cf90e358dfd6f1be4946a5e5 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 8 Jun 2020 11:32:07 +0200
Subject: [PATCH 063/117] PreBarrage: sort graph nodes to prevent lines
 crossings

---
 src/app/components/pb-schema/pb-schema.component.ts | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 25cee4728..cd7ad1415 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -266,6 +266,12 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
                 // store, to draw later
                 sortedWalls.push(c);
             }
+            this.existingWalls[basinsPair]++;
+            // draw wall Node
+            def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges
+            def.push(`class ${c.uid} wall;`);
+            // draw "arrow" with 2 lines
+            def.push(`${upstreamBasinId}---${c.uid}-->${downstreamBasinId}`);
         }
         // sort then draw walls
         sortedWalls.sort(this.triCloisonsGaucheDroite);
-- 
GitLab


From 7f1a005f2495e9ccb4aedaae1aaab4d295ac61f4 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 8 Jun 2020 14:04:17 +0200
Subject: [PATCH 064/117] PreBarrage: show data or results on the right side,
 not both

---
 src/app/components/pb-schema/pb-schema.component.html | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
index b9314c653..dc5af67fa 100644
--- a/src/app/components/pb-schema/pb-schema.component.html
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -46,6 +46,6 @@
 
     <div id="schema" #schema></div>
 
-    <pre id="debug">{{ graphDef }} </pre>
+    <!-- <pre id="debug">{{ graphDef }} </pre> -->
 
 </mat-card-content>
-- 
GitLab


From 04b07e1a72fed1fd1c9d981ab2df6790753b0be6 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 8 Jun 2020 17:02:14 +0200
Subject: [PATCH 065/117] [WIP] subform system for PreBarrage

---
 .../components/pb-schema/pb-schema.component.html    |  2 +-
 src/app/formulaire/definition/form-definition.ts     | 12 ------------
 2 files changed, 1 insertion(+), 13 deletions(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.html b/src/app/components/pb-schema/pb-schema.component.html
index dc5af67fa..b9314c653 100644
--- a/src/app/components/pb-schema/pb-schema.component.html
+++ b/src/app/components/pb-schema/pb-schema.component.html
@@ -46,6 +46,6 @@
 
     <div id="schema" #schema></div>
 
-    <!-- <pre id="debug">{{ graphDef }} </pre> -->
+    <pre id="debug">{{ graphDef }} </pre>
 
 </mat-card-content>
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index e37c8cd0c..dd6797765 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -24,7 +24,6 @@ import { TopFormulaireElementIterator } from "../form-iterator/top-element-itera
 import { CalculatorResults } from "../../results/calculator-results";
 import { ServiceFactory } from "../../services/service-factory";
 import { PabTable } from "../elements/pab-table";
-import { PbSchema } from '../elements/pb-schema';
 
 /**
  * classe de base pour tous les formulaires
@@ -223,13 +222,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         this.kids.push(tab);
     }
 
-    private parse_pb_schema(json: {}) {
-        const sch: PbSchema = new PbSchema(this);
-        sch.parseConfig(json);
-        this.kids.push(sch);
-    }
-
-
     /**
      * 1ère passe d'analyse de la configuration
      */
@@ -287,10 +279,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     this.parse_pab_table(conf);
                     break;
 
-                case "pb_schema": // not generic at all
-                    this.parse_pb_schema(conf);
-                    break;
-
                 default:
                     throw new Error(`type d'objet de module de calcul ${type} non pris en charge`);
             }
-- 
GitLab


From 6e0e8cf98bc0ca1867e15c0e5c9d5c41da431c74 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 9 Jun 2020 11:07:27 +0200
Subject: [PATCH 066/117] Updated dependencies

---
 package-lock.json | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 66fb309ce..fa716b7a2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -669,10 +669,16 @@
           "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
           "dev": true
         },
+        "run-async": {
+          "version": "2.4.1",
+          "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
+          "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
+          "dev": true
+        },
         "semver": {
-          "version": "6.3.0",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "version": "7.1.3",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
+          "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
           "dev": true
         },
         "source-map": {
-- 
GitLab


From cfbfd5fa43b225a5e3c474a2dae6d61a5237ddff Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 9 Jun 2020 12:25:47 +0200
Subject: [PATCH 067/117] PreBarrage: change form on graph click, edit walls

---
 src/app/components/pb-schema/pb-schema.component.ts | 2 +-
 src/app/formulaire/definition/form-definition.ts    | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index cd7ad1415..8b25d56a4 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -448,7 +448,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         const wall = this._selectedItem as PbCloison;
         const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval);
         this.model.addChild(wallCopy);
-        this.unselect();
+        this.unselect(); // @TODO select new wall ?
         this.refresh();
         this.selectNodeOnSchema(wallCopy);
     }
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index dd6797765..cf5fa11d2 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -272,6 +272,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     break;
 
                 case "template_container":
+                    console.log("parsing template container !", conf);
                     this.parse_template_container(conf, templates);
                     break;
 
-- 
GitLab


From 5e0e7a84bc6462b02e772b0bbcad3dfba48e5e23 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 11 Jun 2020 15:01:00 +0200
Subject: [PATCH 068/117] PreBarrage: enhance node selection on schema

---
 src/app/components/pb-schema/pb-schema.component.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 8b25d56a4..cd7ad1415 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -448,7 +448,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         const wall = this._selectedItem as PbCloison;
         const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval);
         this.model.addChild(wallCopy);
-        this.unselect(); // @TODO select new wall ?
+        this.unselect();
         this.refresh();
         this.selectNodeOnSchema(wallCopy);
     }
-- 
GitLab


From e749277ddc230307b058f5479b4404ec1037f68c Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 22 Jun 2020 16:46:47 +0200
Subject: [PATCH 069/117] PreBarrage: move walls

---
 src/app/formulaire/definition/form-definition.ts | 1 -
 1 file changed, 1 deletion(-)

diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index cf5fa11d2..dd6797765 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -272,7 +272,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
                     break;
 
                 case "template_container":
-                    console.log("parsing template container !", conf);
                     this.parse_template_container(conf, templates);
                     break;
 
-- 
GitLab


From e8935925cadbae80cd5da5d9859226300fe7845e Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 23 Jun 2020 16:38:00 +0200
Subject: [PATCH 070/117] [WIP] PbCloison form

---
 .../formulaire/definition/form-prebarrage.ts  | 20 ++++++++++++++++++-
 src/app/formulaire/elements/select-field.ts   | 10 +++++++---
 2 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index dd175247a..7d69abf7a 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -5,6 +5,7 @@ import { PbSchema } from "../elements/pb-schema";
 import { FormulaireDefinition } from "./form-definition";
 import { ServiceFactory } from "../../services/service-factory";
 import { FormulairePbCloison } from "./form-pb-cloison";
+import { FieldsetContainer } from "../elements/fieldset-container";
 
 /**
  * Formulaire pour les PréBarrage
@@ -100,12 +101,29 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             this.showFormElements(this.basinForm);
 
         } else if (node instanceof PbCloison) {
+            console.log("---------------> new wall form !!");
             this.wallForm = new FormulairePbCloison();
             this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison;
             this.wallForm.currentNub = node;
             this.wallForm.preparseConfig(this.wallFormConfig);
             this.wallForm.parseConfig(this.wallFormConfig);
-            this.wallForm.addObserver(this); // subscribe to upstream/downstream basin change
+            // add fieldsets for existing Structures
+            console.log(`Node ${node.uid} : ${node.structures.length} structures, Form ${this.uid} : ${this._kids.length} form elements`);
+            if (node.structures.length > 0) {
+                console.log(">> adding fieldsets for existing structures");
+                for (const struct of node.structures) {
+                    for (const e of this.allFormElements) {
+                        if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ?
+                            e.addFromTemplate(0, undefined, struct);
+                        }
+                    }
+                }
+            } else {
+                // if there was no existing structure, add a default one ! @TODO
+                console.log("TODO add default structure");
+            }
+            // subscribe to upstream/downstream basin change
+            this.wallForm.addObserver(this);
             ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.wallForm);
             this.showFormElements(this.wallForm);
         }
diff --git a/src/app/formulaire/elements/select-field.ts b/src/app/formulaire/elements/select-field.ts
index d92d48f46..2557eb0f6 100644
--- a/src/app/formulaire/elements/select-field.ts
+++ b/src/app/formulaire/elements/select-field.ts
@@ -5,7 +5,8 @@ import {
     StructureType,
     LoiDebit,
     Session,
-    Solveur
+    Solveur,
+    StructureProperties
  } from "jalhyd";
 
 import { Field } from "./field";
@@ -191,9 +192,12 @@ export class SelectField extends Field {
             case "device_loi_debit":
                 // get current structure type from appropriate Nub child
                 const child = nub.getChildren()[this.parent.indexAsKid()];
-                const cst = child.properties.getPropValue("structureType");
                 const la = (nub as ParallelStructure).getLoisAdmissibles();
-                const stName = StructureType[cst];
+                const loiDebit = child.properties.getPropValue("loiDebit");
+                const stCode = StructureProperties.findCompatibleStructure(loiDebit, nub as ParallelStructure);
+                const stName = StructureType[stCode];
+                // console.log(`__device_loi_debit__ : child=${child.constructor.name}, loiDebit=${loiDebit}, stCode=${stCode}, stName=${stName}`);
+                // console.log("(child.properties)", child.properties.props);
                 for (const ld of la[stName]) {
                     const e: SelectEntry = new SelectEntry(this._entriesBaseId + stName + "_" + LoiDebit[ld], ld);
                     this.addEntry(e);
-- 
GitLab


From 10dac40996ca8365ae38095a2f18435d02b8ea49 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Wed, 24 Jun 2020 15:51:29 +0200
Subject: [PATCH 071/117] PreBarrage: fix bug in basin number detection

---
 .../pb-schema/pb-schema.component.ts          | 31 +++++--------------
 .../formulaire/elements/select-field-nub.ts   |  4 +--
 2 files changed, 9 insertions(+), 26 deletions(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index cd7ad1415..0dddab78b 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -266,12 +266,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
                 // store, to draw later
                 sortedWalls.push(c);
             }
-            this.existingWalls[basinsPair]++;
-            // draw wall Node
-            def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges
-            def.push(`class ${c.uid} wall;`);
-            // draw "arrow" with 2 lines
-            def.push(`${upstreamBasinId}---${c.uid}-->${downstreamBasinId}`);
         }
         // sort then draw walls
         sortedWalls.sort(this.triCloisonsGaucheDroite);
@@ -382,17 +376,17 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         if (item instanceof PbCloison) {
             const upstreamBasinName = item.bassinAmont === undefined
                 ? this.i18nService.localizeText("INFO_LIB_AMONT")
-                : "B" + (this.findBasinPosition(item.bassinAmont) + 1);
+                : "B" + (this.model.findBasinPosition(item.bassinAmont.uid) + 1);
             const downstreamBasinName = item.bassinAval === undefined
                 ? this.i18nService.localizeText("INFO_LIB_AVAL")
-                : "B" + (this.findBasinPosition(item.bassinAval) + 1);
+                : "B" + (this.model.findBasinPosition(item.bassinAval.uid) + 1);
             desc = upstreamBasinName + "-" + downstreamBasinName;
             // if a similar wall already exists, suffix !
             if (item.uid in this.wallsSuffixes) {
                 desc += " (" + this.wallsSuffixes[item.uid] + ")";
             }
         } else if (item instanceof PbBassin) {
-            desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.findBasinPosition(item) + 1);
+            desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.model.findBasinPosition(item.uid) + 1);
         } // else undefined
         return desc;
     }
@@ -408,17 +402,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         });
     }
 
-    private findBasinPosition(basin: PbBassin): number {
-        let i = 0;
-        for (const b of this.model.bassins) {
-            if (b === basin) {
-                break;
-            }
-            i++;
-        }
-        return i;
-    }
-
     // at this time @Input data is supposed to be already populated
     public ngOnInit() {
         this.model = this.pbSchema.pb;
@@ -508,14 +491,14 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     public get enableUpButton() {
         return (
             this._selectedItem instanceof PbBassin
-            && this.findBasinPosition(this._selectedItem) !== 0
+            && this.model.findBasinPosition(this._selectedItem.uid) !== 0
             && this.isStandaloneBasin(this._selectedItem)
         );
     }
 
     public onMoveBasinUpClick() {
         if (this._selectedItem instanceof PbBassin) {
-            this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) - 1);
+            this.model.moveBasin(this._selectedItem.uid, this.model.findBasinPosition(this._selectedItem.uid) - 1);
         }
         const basin = this._selectedItem;
         this.unselect();
@@ -530,14 +513,14 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     public get enableDownButton() {
         return (
             this._selectedItem instanceof PbBassin
-            && this.findBasinPosition(this._selectedItem) !== this.model.bassins.length - 1
+            && this.model.findBasinPosition(this._selectedItem.uid) !== this.model.bassins.length - 1
             && this.isStandaloneBasin(this._selectedItem)
         );
     }
 
     public onMoveBasinDownClick() {
         if (this._selectedItem instanceof PbBassin) {
-            this.model.moveBasin(this._selectedItem.uid, this.findBasinPosition(this._selectedItem) + 1);
+            this.model.moveBasin(this._selectedItem.uid, this.model.findBasinPosition(this._selectedItem.uid) + 1);
         }
         const basin = this._selectedItem;
         this.unselect();
diff --git a/src/app/formulaire/elements/select-field-nub.ts b/src/app/formulaire/elements/select-field-nub.ts
index d4975c714..38b92f056 100644
--- a/src/app/formulaire/elements/select-field-nub.ts
+++ b/src/app/formulaire/elements/select-field-nub.ts
@@ -77,7 +77,7 @@ export class SelectFieldNub extends SelectFieldReference {
                 // add river upstream
                 this.addEntry(new SelectEntry(this._entriesBaseId, "", "Amont"));
                 // add all basins up the current downstream_basin
-                const dbPos = (ubNub.bassinAval === undefined ? upPb.bassins.length : ubNub.bassinAval.findPositionInParent());
+                const dbPos = (ubNub.bassinAval === undefined ? upPb.bassins.length : upPb.findBasinPosition(ubNub.bassinAval.uid));
                 for (let i = 0; i < dbPos; i++) {
                     const label = "Bassin n°" + (i + 1);
                     const b = upPb.bassins[i];
@@ -89,7 +89,7 @@ export class SelectFieldNub extends SelectFieldReference {
                 const dbNub = this.parentForm.currentNub as PbCloison;
                 const dbPb: PreBarrage = dbNub.parent;
                 // find all basins down the current upstream_basin
-                const ubPos = (dbNub.bassinAmont === undefined ? -1 : dbNub.bassinAmont.findPositionInParent());
+                const ubPos = (dbNub.bassinAmont === undefined ? -1 : dbPb.findBasinPosition(dbNub.bassinAmont.uid));
                 for (let i = ubPos + 1; i < dbPb.bassins.length; i++) {
                     const label = "Bassin n°" + (i + 1);
                     const b = dbPb.bassins[i];
-- 
GitLab


From e107fdcc962ca1f0d88518b4473f552cd4393f74 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 14 May 2020 11:48:38 +0200
Subject: [PATCH 072/117] Fix #404 - add Cunge (1980) to Walls, update doc

---
 docs/en/calculators/structures/liste.md           |  2 +-
 docs/fr/calculators/structures/liste.md           |  6 +++---
 src/app/calculators/cloisons/config.json          |  1 +
 src/app/calculators/cloisons/en.json              |  4 ++++
 src/app/calculators/cloisons/fr.json              |  4 ++++
 src/app/calculators/parallelstructure/config.json |  1 +
 src/app/calculators/parallelstructure/en.json     |  4 ++--
 src/app/calculators/parallelstructure/fr.json     |  4 ++--
 src/app/formulaire/elements/formulaire-node.ts    |  2 +-
 src/locale/messages.en.json                       | 13 ++++++++-----
 src/locale/messages.fr.json                       | 13 ++++++++-----
 11 files changed, 35 insertions(+), 19 deletions(-)

diff --git a/docs/en/calculators/structures/liste.md b/docs/en/calculators/structures/liste.md
index 99662c99d..d52496ab7 100644
--- a/docs/en/calculators/structures/liste.md
+++ b/docs/en/calculators/structures/liste.md
@@ -4,7 +4,7 @@
 |---------------------------|----------------:|-------------------------------|
 | [Weir / orifice Cemagref 88](./cem_88_d.md) | 0.4 | Parallel Structures |
 | [Weir / undershot gate Cemagref 88](./cem_88_v.md) | 0.6 | Parallel Structures |
-| [Cunge 80](./cunge_80.md) | 0.6 | Parallel Structures |
+| [Cunge (1980)](./cunge_80.md) | 0.6 | Parallel Structures, Cross walls, Downwall |
 | [Free flow gate](./vanne_denoyee.md) | 0.6 | Parallel Structures |
 | [Submerged gate](./vanne_noyee.md) | 0.6 | Parallel Structures |
 | [Free flow weir](./seuil_denoye.md) | 0.4 | Parallel Structures, Free flow weir stage-discharge laws |
diff --git a/docs/fr/calculators/structures/liste.md b/docs/fr/calculators/structures/liste.md
index 878a45b6f..b818193a9 100644
--- a/docs/fr/calculators/structures/liste.md
+++ b/docs/fr/calculators/structures/liste.md
@@ -2,9 +2,9 @@
 
 | Équation | Coefficient de débit par défaut | Disponible dans |
 |---------------------------|----------------:|-------------------------------|
-| [Dévesoir / orifice Cemagref 88](./cem_88_d.md) | 0.4 | Lois d'ouvrages |
-| [Dévesoir / vanne de fond Cemagref 88](./cem_88_v.md) | 0.6 | Lois d'ouvrages |
-| [Cunge 80](./cunge_80.md) | 0.6 | Lois d'ouvrages |
+| [Déversoir / orifice Cemagref 88](./cem_88_d.md) | 0.4 | Lois d'ouvrages |
+| [Déversoir / vanne de fond Cemagref 88](./cem_88_v.md) | 0.6 | Lois d'ouvrages |
+| [Cunge (1980)](./cunge_80.md) | 1 | Lois d'ouvrages, Cloisons, Cloison aval |
 | [Vanne dénoyée](./vanne_denoyee.md) | 0.6 | Lois d'ouvrages |
 | [Vanne noyée](./vanne_noyee.md) | 0.6 | Lois d'ouvrages |
 | [Seuil dénoyé](./seuil_denoye.md) | 0.4 | Lois d'ouvrages, Lois de déversoirs dénoyés |
diff --git a/src/app/calculators/cloisons/config.json b/src/app/calculators/cloisons/config.json
index bb5e3cd4f..e8e19e4a6 100644
--- a/src/app/calculators/cloisons/config.json
+++ b/src/app/calculators/cloisons/config.json
@@ -44,6 +44,7 @@
             "CdWSL",
             "CdWR",
             "CdGR",
+            "CdCunge",
             "CdT",
             "S",
             "alpha2",
diff --git a/src/app/calculators/cloisons/en.json b/src/app/calculators/cloisons/en.json
index 997eae6e8..80f95f219 100644
--- a/src/app/calculators/cloisons/en.json
+++ b/src/app/calculators/cloisons/en.json
@@ -9,12 +9,16 @@
     "select_structure_SeuilTriangulaireTrunc": "Truncated triangular weir",
     "select_structure_Orifice": "Orifice",
     "select_structure_SeuilRectangulaire": "Rectangular weir",
+    "select_structure_VanneRectangulaire": "Rectangular gate",
+
+    "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)",
 
     "select_loidebit_Orifice_OrificeSubmerged": "Submerged orifice",
     "select_loidebit_Orifice_OrificeFree": "Free orifice",
 
     "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Submerged slot (Larinier 1992)",
     "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1947",
+    "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)",
 
     "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "V-notch sharp-crested weir (Villemonte)",
     "select_loidebit_SeuilTriangulaire_TriangularWeirBroad": "V-notch broad-crested weir (Bos)",
diff --git a/src/app/calculators/cloisons/fr.json b/src/app/calculators/cloisons/fr.json
index c7a58c66e..fd09e504d 100644
--- a/src/app/calculators/cloisons/fr.json
+++ b/src/app/calculators/cloisons/fr.json
@@ -6,12 +6,16 @@
     "select_structure_SeuilTriangulaireTrunc": "Seuil triangulaire tronqué",
     "select_structure_Orifice": "Orifice",
     "select_structure_SeuilRectangulaire": "Seuil rectangulaire",
+    "select_structure_VanneRectangulaire": "Vanne rectangulaire",
+
+    "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)",
 
     "select_loidebit_Orifice_OrificeSubmerged": "Orifice noyé",
     "select_loidebit_Orifice_OrificeFree": "Orifice dénoyé",
 
     "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Fente noyée (Larinier 1992)",
     "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1947",
+    "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)",
 
     "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Déversoir triangulaire mince (Villemonte)",
     "select_loidebit_SeuilTriangulaire_TriangularWeirBroad": "Déversoir triangulaire épais (Bos)",
diff --git a/src/app/calculators/parallelstructure/config.json b/src/app/calculators/parallelstructure/config.json
index 2f2e9cb83..e6f77606e 100644
--- a/src/app/calculators/parallelstructure/config.json
+++ b/src/app/calculators/parallelstructure/config.json
@@ -52,6 +52,7 @@
             "CdWSL",
             "CdWR",
             "CdGR",
+            "CdCunge",
             "CdT",
             "CdO",
             "alpha",
diff --git a/src/app/calculators/parallelstructure/en.json b/src/app/calculators/parallelstructure/en.json
index 3e2e7fc8e..9b4431705 100644
--- a/src/app/calculators/parallelstructure/en.json
+++ b/src/app/calculators/parallelstructure/en.json
@@ -13,7 +13,7 @@
 
     "select_loidebit_VanneRectangulaire_GateCem88d": "Weir/Orifice Cemagref 88",
     "select_loidebit_VanneRectangulaire_GateCem88v": "Weir/Undershot gate Cemagref 88",
-    "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge 80",
+    "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)",
     "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Free flow gate",
     "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Submerged gate",
 
@@ -29,7 +29,7 @@
     "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957",
     "select_loidebit_SeuilRectangulaire_WeirFree": "Free flow weir",
     "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter and Villemonte",
-    "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge 80",
+    "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)",
 
 	"UNIT_Q": "m³/s"
 }
diff --git a/src/app/calculators/parallelstructure/fr.json b/src/app/calculators/parallelstructure/fr.json
index 75c23e0b1..e4cf67bfb 100644
--- a/src/app/calculators/parallelstructure/fr.json
+++ b/src/app/calculators/parallelstructure/fr.json
@@ -13,7 +13,7 @@
 
     "select_loidebit_VanneRectangulaire_GateCem88d": "Déversoir/Orifice Cemagref 88",
     "select_loidebit_VanneRectangulaire_GateCem88v": "Déversoir/Vanne de fond Cemagref 88",
-    "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge 80",
+    "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)",
     "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Vanne dénoyée",
     "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Vanne noyée",
 
@@ -29,7 +29,7 @@
     "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957",
     "select_loidebit_SeuilRectangulaire_WeirFree": "Seuil dénoyé",
     "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter et Villemonte",
-    "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge 80",
+    "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)",
 
 	"UNIT_Q": "m³/s"
 }
diff --git a/src/app/formulaire/elements/formulaire-node.ts b/src/app/formulaire/elements/formulaire-node.ts
index c8085eccb..af077e121 100644
--- a/src/app/formulaire/elements/formulaire-node.ts
+++ b/src/app/formulaire/elements/formulaire-node.ts
@@ -143,7 +143,7 @@ export abstract class FormulaireNode implements IObservable {
     /**
      * Set value of all single parameters to undefined, except for the given parameter ids
      */
-    public emptyFields(except: string[] = [ "Cd0", "CdWS", "CdGR", "CdWR", "CdO", "CdT", "CdWSL" ]) {
+    public emptyFields(except: string[] = [ "Cd0", "CdWS", "CdGR", "CdCunge", "CdWR", "CdO", "CdT", "CdWSL" ]) {
         for (const p of this.allFormElements ) {
             if (p instanceof NgParameter) {
                 if (
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 4b536c864..1f047724a 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -222,6 +222,7 @@
     "INFO_LIB_BT": "Half opening of the triangle",
     "INFO_LIB_CD": "Discharge coefficient",
     "INFO_LIB_CDGR": "Discharge coefficient gate",
+    "INFO_LIB_CDCUNGE": "Discharge coefficient",
     "INFO_LIB_CDWR": "Discharge coefficient weir",
     "INFO_LIB_CDWSL": "Discharge coefficient slot",
     "INFO_LIB_CDWS": "Discharge coefficient",
@@ -315,7 +316,7 @@
     "INFO_LINKED_VALUE_SECTION_RESULT": "%s (%s, section)",
     "INFO_LINKED_VALUE_SECTION": "%s (%s, section)",
     "INFO_LOIDEBIT_KIVI": "Kindsvater-Carter and Villemonte",
-    "INFO_LOIDEBIT_WeirSubmergedLarinier": "Submerged slot (Larinier 1992)",
+    "INFO_LOIDEBIT_WeirSubmergedLarinier": "Submerged slot (Larinier)",
     "INFO_LOIDEBIT_OrificeSubmerged": "Submerged orifice",
     "INFO_LOIDEBIT_OrificeFree": "Free orifice",
     "INFO_LOIDEBIT_TriangularWeirBroad": "V-notch broad-crested weir (Bos)",
@@ -325,13 +326,15 @@
     "INFO_LOIDEBIT_GateCem88v": "Weir/Undershot gate Cemagref 88",
     "INFO_LOIDEBIT_WeirCem88d": "Weir/Orifice Cemagref 88",
     "INFO_LOIDEBIT_WeirCem88v": "Weir/Undershot gate Cemagref 88",
-    "INFO_LOIDEBIT_Cunge80": "Cunge 80",
+    "INFO_LOIDEBIT_Cunge80": "Cunge (1980)",
+    "INFO_LOIDEBIT_WeirCunge80": "Broad weir / orifice (Cunge)",
+    "INFO_LOIDEBIT_GateCunge80": "Broad weir (Cunge)",
     "INFO_LOIDEBIT_RectangularOrificeFree": "Free flow gate",
     "INFO_LOIDEBIT_RectangularOrificeSubmerged": "Submerged gate",
-    "INFO_LOIDEBIT_VanLevLarinier": "Regulated submerged slot (Larinier 1992)",
-    "INFO_LOIDEBIT_VanLevVillemonte": "Regulated notch (Villemonte 1957)",
+    "INFO_LOIDEBIT_VanLevLarinier": "Regulated submerged slot (Larinier)",
+    "INFO_LOIDEBIT_VanLevVillemonte": "Regulated notch (Villemonte)",
     "INFO_LOIDEBIT_WeirFree": "Free flow weir",
-    "INFO_LOIDEBIT_WeirVillemonte": "Notch (Villemonte 1957)",
+    "INFO_LOIDEBIT_WeirVillemonte": "Notch (Villemonte)",
     "INFO_MACRORUGO_TITRE_COURT": "Rock-ramp",
     "INFO_MACRORUGO_TITRE": "Rock-ramp fishpasses",
     "INFO_MENU_DIAGRAM_TITLE": "Modules diagram",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 3a4f04769..8a18acb91 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -222,6 +222,7 @@
     "INFO_LIB_BT": "Demi-ouverture du triangle",
     "INFO_LIB_CD": "Coefficient de débit",
     "INFO_LIB_CDGR": "Coefficient de débit vanne",
+    "INFO_LIB_CDCUNGE": "Coefficient de débit",
     "INFO_LIB_CDWR": "Coefficient de débit seuil",
     "INFO_LIB_CDWSL": "Coefficient de débit fente",
     "INFO_LIB_CDWS": "Coefficient de débit",
@@ -315,7 +316,7 @@
     "INFO_LINKED_VALUE_SECTION_RESULT": "%s (%s, section)",
     "INFO_LINKED_VALUE_SECTION": "%s (%s, section)",
     "INFO_LOIDEBIT_KIVI": "Kindsvater-Carter et Villemonte",
-    "INFO_LOIDEBIT_WeirSubmergedLarinier": "Fente noyée (Larinier 1992)",
+    "INFO_LOIDEBIT_WeirSubmergedLarinier": "Fente noyée (Larinier)",
     "INFO_LOIDEBIT_OrificeSubmerged": "Orifice noyé",
     "INFO_LOIDEBIT_OrificeFree": "Orifice dénoyé",
     "INFO_LOIDEBIT_TriangularWeirBroad": "Déversoir triangulaire épais (Bos)",
@@ -325,13 +326,15 @@
     "INFO_LOIDEBIT_GateCem88v": "Déversoir/Vanne de fond Cemagref 88",
     "INFO_LOIDEBIT_WeirCem88d": "Déversoir/Orifice Cemagref 88",
     "INFO_LOIDEBIT_WeirCem88v": "Déversoir/Vanne de fond Cemagref 88",
-    "INFO_LOIDEBIT_Cunge80": "Cunge 80",
+    "INFO_LOIDEBIT_Cunge80": "Cunge (1980)",
+    "INFO_LOIDEBIT_WeirCunge80": "Seuil épais / orifice (Cunge)",
+    "INFO_LOIDEBIT_GateCunge80": "Seuil épais (Cunge)",
     "INFO_LOIDEBIT_RectangularOrificeFree": "Vanne dénoyé",
     "INFO_LOIDEBIT_RectangularOrificeSubmerged": "Vanne noyé",
-    "INFO_LOIDEBIT_VanLevLarinier": "Fente noyée régulée (Larinier 1992)",
-    "INFO_LOIDEBIT_VanLevVillemonte": "Échancrure régulée (Villemonte 1957)",
+    "INFO_LOIDEBIT_VanLevLarinier": "Fente noyée régulée (Larinier)",
+    "INFO_LOIDEBIT_VanLevVillemonte": "Échancrure régulée (Villemonte)",
     "INFO_LOIDEBIT_WeirFree": "Seuil dénoyé",
-    "INFO_LOIDEBIT_WeirVillemonte": "Échancrure (Villemonte 1957)",
+    "INFO_LOIDEBIT_WeirVillemonte": "Échancrure (Villemonte)",
     "INFO_MACRORUGO_TITRE_COURT": "Macro-rugo.",
     "INFO_MACRORUGO_TITRE": "Passe à macro-rugosités",
     "INFO_MENU_DIAGRAM_TITLE": "Diagramme des modules",
-- 
GitLab


From bccbdd5b9130758f61cb4b63e99d51f9ead83aff Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 15 May 2020 09:33:57 +0200
Subject: [PATCH 073/117] Fix #404 (2) - add gate opening in Cloisons interface

---
 src/app/calculators/cloisons/config.json | 1 +
 src/app/calculators/cloisons/en.json     | 1 +
 src/app/calculators/cloisons/fr.json     | 1 +
 3 files changed, 3 insertions(+)

diff --git a/src/app/calculators/cloisons/config.json b/src/app/calculators/cloisons/config.json
index e8e19e4a6..4aeb04671 100644
--- a/src/app/calculators/cloisons/config.json
+++ b/src/app/calculators/cloisons/config.json
@@ -41,6 +41,7 @@
             },
             "h1",
             "L",
+            "W",
             "CdWSL",
             "CdWR",
             "CdGR",
diff --git a/src/app/calculators/cloisons/en.json b/src/app/calculators/cloisons/en.json
index 80f95f219..2a41cd7cf 100644
--- a/src/app/calculators/cloisons/en.json
+++ b/src/app/calculators/cloisons/en.json
@@ -1,6 +1,7 @@
 {
     "Q": "Total discharge",
     "P": "Sill",
+    "W": "Gate opening",
     "ZR": "Upstream bed elevation",
     "PB": "Pool mean depth",
     "h1": "Head",
diff --git a/src/app/calculators/cloisons/fr.json b/src/app/calculators/cloisons/fr.json
index fd09e504d..bf30fb990 100644
--- a/src/app/calculators/cloisons/fr.json
+++ b/src/app/calculators/cloisons/fr.json
@@ -1,6 +1,7 @@
 {
     "Q": "Débit total",
     "P": "Pelle",
+    "W": "Ouverture de vanne",
 
     "select_structure_SeuilTriangulaire": "Seuil triangulaire",
     "select_structure_SeuilTriangulaireTrunc": "Seuil triangulaire tronqué",
-- 
GitLab


From 0b0436ce3741932e4136c72126f97a273699abef Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Wed, 24 Jun 2020 11:33:57 +0200
Subject: [PATCH 074/117] Add help links for Cunge80 discharge law

---
 src/app/calculators/cloisons/config.json          | 2 ++
 src/app/calculators/parallelstructure/config.json | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/src/app/calculators/cloisons/config.json b/src/app/calculators/cloisons/config.json
index 4aeb04671..e9b9a8c9b 100644
--- a/src/app/calculators/cloisons/config.json
+++ b/src/app/calculators/cloisons/config.json
@@ -34,6 +34,8 @@
                     "Orifice_OrificeSubmerged": "structures/orifice_noye.html",
                     "SeuilRectangulaire_WeirVillemonte": "structures/kivi.html",
                     "SeuilRectangulaire_WeirSubmergedLarinier": "structures/fente_noyee.html",
+                    "SeuilRectangulaire_WeirCunge80": "structures/cunge_80.html",
+                    "VanneRectangulaire_GateCunge80": "structures/cunge_80.html",
                     "SeuilTriangulaire_TriangularWeirFree": "structures/dever_triang.html",
                     "SeuilTriangulaire_TriangularWeirBroad": "structures/dever_triang.html",
                     "SeuilTriangulaireTrunc_TriangularTruncWeirFree": "structures/dever_triang_tronque.html"
diff --git a/src/app/calculators/parallelstructure/config.json b/src/app/calculators/parallelstructure/config.json
index e6f77606e..804ee1c91 100644
--- a/src/app/calculators/parallelstructure/config.json
+++ b/src/app/calculators/parallelstructure/config.json
@@ -32,8 +32,10 @@
                     "SeuilRectangulaire_WeirVillemonte": "structures/kivi.html",
                     "SeuilRectangulaire_WeirCem88d": "structures/cem_88_d.html",
                     "SeuilRectangulaire_WeirCem88v": "structures/cem_88_v.html",
+                    "SeuilRectangulaire_WeirCunge80": "structures/cunge_80.html",
                     "VanneRectangulaire_GateCem88d": "structures/cem_88_d.html",
                     "VanneRectangulaire_GateCem88v": "structures/cem_88_v.html",
+                    "VanneRectangulaire_GateCunge80": "structures/cunge_80.html",
                     "Orifice_OrificeSubmerged": "structures/orifice_noye.html",
                     "Orifice_OrificeFree": "structures/orifice_denoye.html",
                     "SeuilRectangulaire_WeirSubmergedLarinier": "structures/fente_noyee.html",
-- 
GitLab


From dc260b1fc71e0a9d1570586ab0e58ef182cce9a4 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 25 Jun 2020 09:24:33 +0200
Subject: [PATCH 075/117] Updated dependencies

---
 package-lock.json | 2876 +++++++++++++++++++++++----------------------
 package.json      |   32 +-
 2 files changed, 1488 insertions(+), 1420 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index fa716b7a2..19e987aa4 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,12 +11,12 @@
       "dev": true
     },
     "@angular-devkit/architect": {
-      "version": "0.901.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.7.tgz",
-      "integrity": "sha512-yW/PUEqle55QihOFbmeNXaVTodhfeXkteoFDUpz+YpX3xiQDXDtNbIJSzKOQTojtBKdSMKMvZkQLr+RAa7/1EA==",
+      "version": "0.901.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.9.tgz",
+      "integrity": "sha512-Xokyh7bv4qICHpb5Xui1jPTi6ZZvzR5tbTIxT0DFWqw16TEkFgkNubQsW6mFSR3g3CXdySMfOwWExfa/rE1ggA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.7",
+        "@angular-devkit/core": "9.1.9",
         "rxjs": "6.5.4"
       },
       "dependencies": {
@@ -38,21 +38,21 @@
       }
     },
     "@angular-devkit/build-angular": {
-      "version": "0.901.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.7.tgz",
-      "integrity": "sha512-NiBwapx/XJqYGzSmENff78i6Yif9PjYDJ9BB+59t2eDofkCZUcPFrhQmRgliO7rt6RATvT81lDP89+LBXCTQPw==",
+      "version": "0.901.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.9.tgz",
+      "integrity": "sha512-eC6iZQR5tr9dz/SkR3/3Y8Fau/2IzEfHlFCf2mqsOLkbc0MWyM/3RcuZQhRGdVOyzDCIbfzJGY0N3ejkEn2EUg==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.901.7",
-        "@angular-devkit/build-optimizer": "0.901.7",
-        "@angular-devkit/build-webpack": "0.901.7",
-        "@angular-devkit/core": "9.1.7",
+        "@angular-devkit/architect": "0.901.9",
+        "@angular-devkit/build-optimizer": "0.901.9",
+        "@angular-devkit/build-webpack": "0.901.9",
+        "@angular-devkit/core": "9.1.9",
         "@babel/core": "7.9.0",
         "@babel/generator": "7.9.3",
         "@babel/preset-env": "7.9.0",
         "@babel/template": "7.8.6",
         "@jsdevtools/coverage-istanbul-loader": "3.0.3",
-        "@ngtools/webpack": "9.1.7",
+        "@ngtools/webpack": "9.1.9",
         "ajv": "6.12.0",
         "autoprefixer": "9.7.4",
         "babel-loader": "8.0.6",
@@ -60,7 +60,7 @@
         "cacache": "15.0.0",
         "caniuse-lite": "^1.0.30001032",
         "circular-dependency-plugin": "5.2.0",
-        "copy-webpack-plugin": "5.1.1",
+        "copy-webpack-plugin": "6.0.2",
         "core-js": "3.6.4",
         "css-loader": "3.5.1",
         "cssnano": "4.1.10",
@@ -69,7 +69,7 @@
         "glob": "7.1.6",
         "jest-worker": "25.1.0",
         "karma-source-map-support": "1.4.0",
-        "less": "3.11.1",
+        "less": "3.11.3",
         "less-loader": "5.0.0",
         "license-webpack-plugin": "2.1.4",
         "loader-utils": "2.0.0",
@@ -95,7 +95,7 @@
         "stylus": "0.54.7",
         "stylus-loader": "3.0.2",
         "terser": "4.6.10",
-        "terser-webpack-plugin": "2.3.5",
+        "terser-webpack-plugin": "3.0.3",
         "tree-kill": "1.2.2",
         "webpack": "4.42.0",
         "webpack-dev-middleware": "3.7.2",
@@ -202,9 +202,9 @@
       }
     },
     "@angular-devkit/build-optimizer": {
-      "version": "0.901.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.7.tgz",
-      "integrity": "sha512-Xuce3StdxhcgLYb0BAaFGr3Bzj5EM2OsAqIT15PkikWY1k5cK50vPxoC/BkX4QDL9eXSHtqAfMBfA6h5N422vw==",
+      "version": "0.901.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.9.tgz",
+      "integrity": "sha512-AcDhE7RHmaVEaDB02MHp1PR2gdUg3+G/12pDC3GeAlfP1GD/sVBpcqPL6DHFp0dMm/FsvSfVSaXpzD7jZBeIKQ==",
       "dev": true,
       "requires": {
         "loader-utils": "2.0.0",
@@ -229,13 +229,13 @@
       }
     },
     "@angular-devkit/build-webpack": {
-      "version": "0.901.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.7.tgz",
-      "integrity": "sha512-pTLW5Eqy9cHgv78LKiH0e30lxqKzUPjh1djvNtFsEemOHsfKQdAfjLjikoaQvqMoBKVaUU7r2vmyyS17cH+1yw==",
+      "version": "0.901.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.9.tgz",
+      "integrity": "sha512-Bha9LruitixhtJm72FGzqfDfgsOsrMT3EbNSql2muyoELIYbLDOvNZjcDD06CPcOAWSg6/tH9caOTFS2Zj9yOw==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.901.7",
-        "@angular-devkit/core": "9.1.7",
+        "@angular-devkit/architect": "0.901.9",
+        "@angular-devkit/core": "9.1.9",
         "rxjs": "6.5.4"
       },
       "dependencies": {
@@ -257,9 +257,9 @@
       }
     },
     "@angular-devkit/core": {
-      "version": "9.1.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
-      "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz",
+      "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==",
       "dev": true,
       "requires": {
         "ajv": "6.12.0",
@@ -293,15 +293,6 @@
           "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
           "dev": true
         },
-        "magic-string": {
-          "version": "0.25.7",
-          "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
-          "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
-          "dev": true,
-          "requires": {
-            "sourcemap-codec": "^1.4.4"
-          }
-        },
         "rxjs": {
           "version": "6.5.4",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
@@ -320,62 +311,16 @@
       }
     },
     "@angular-devkit/schematics": {
-      "version": "9.1.7",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.7.tgz",
-      "integrity": "sha512-oeHPJePBcPp/bd94jHQeFUnft93PGF5iJiKV9szxqS8WWC5OMZ5eK7icRY0PwvLyfenspAZxdZcNaqJqPMul5A==",
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.9.tgz",
+      "integrity": "sha512-aKuMmS3wshOTl9+01jiB50ml09fRN1WfOOtoNqwvKTEi87DrT6Mn3l0eVQo8PJK/bIq/FBmPgsIl2nsETiBSxg==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.7",
+        "@angular-devkit/core": "9.1.9",
         "ora": "4.0.3",
         "rxjs": "6.5.4"
       },
       "dependencies": {
-        "@angular-devkit/core": {
-          "version": "9.1.7",
-          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
-          "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
-          "dev": true,
-          "requires": {
-            "ajv": "6.12.0",
-            "fast-json-stable-stringify": "2.1.0",
-            "magic-string": "0.25.7",
-            "rxjs": "6.5.4",
-            "source-map": "0.7.3"
-          }
-        },
-        "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "fast-deep-equal": {
-          "version": "3.1.3",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-          "dev": true
-        },
-        "fast-json-stable-stringify": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-          "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-          "dev": true
-        },
-        "magic-string": {
-          "version": "0.25.7",
-          "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
-          "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
-          "dev": true,
-          "requires": {
-            "sourcemap-codec": "^1.4.4"
-          }
-        },
         "rxjs": {
           "version": "6.5.4",
           "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
@@ -383,22 +328,20 @@
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
-          },
-          "dependencies": {
-            "tslib": {
-              "version": "1.13.0",
-              "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
-              "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
-              "dev": true
-            }
           }
+        },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
         }
       }
     },
     "@angular/animations": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.9.tgz",
-      "integrity": "sha512-qWVi0TxmU6HeXAgEsfpQvFFygh+a0kH2kGe6bWij4XvG6dWfV3xZjlaFwSIYGk+yK4yL0+9+PAXH+ENfxNw+Cw=="
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.11.tgz",
+      "integrity": "sha512-VKAExUnEJfo1PDQKagpx2pn+QMZCsPLRiADzTdl4U0VPylK3ALbn4ZNY9UbdwyE2plitz++LkH7sEGGfh+PNrQ=="
     },
     "@angular/cdk": {
       "version": "9.2.4",
@@ -417,16 +360,16 @@
       }
     },
     "@angular/cli": {
-      "version": "9.1.7",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.7.tgz",
-      "integrity": "sha512-NhsIa725S/U/n7nDxp6ForusdYHEXF4aSIvsFRdoK6vbQ889c5e1Rdj+T5EWXLmpQZxeprSKhLI2alNX0nVhhQ==",
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.9.tgz",
+      "integrity": "sha512-k8C0OY3oHoixd3buCgF8+VFe8YZGSGiprnbVMEF2WJHUUw87lPCu/d7dbID3AtVwdKdAB275rAt6IZEIzXInbw==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.901.7",
-        "@angular-devkit/core": "9.1.7",
-        "@angular-devkit/schematics": "9.1.7",
-        "@schematics/angular": "9.1.7",
-        "@schematics/update": "0.901.7",
+        "@angular-devkit/architect": "0.901.9",
+        "@angular-devkit/core": "9.1.9",
+        "@angular-devkit/schematics": "9.1.9",
+        "@schematics/angular": "9.1.9",
+        "@schematics/update": "0.901.9",
         "@yarnpkg/lockfile": "1.1.0",
         "ansi-colors": "4.1.1",
         "debug": "4.1.1",
@@ -444,79 +387,6 @@
         "uuid": "7.0.2"
       },
       "dependencies": {
-        "@angular-devkit/architect": {
-          "version": "0.901.7",
-          "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.7.tgz",
-          "integrity": "sha512-yW/PUEqle55QihOFbmeNXaVTodhfeXkteoFDUpz+YpX3xiQDXDtNbIJSzKOQTojtBKdSMKMvZkQLr+RAa7/1EA==",
-          "dev": true,
-          "requires": {
-            "@angular-devkit/core": "9.1.7",
-            "rxjs": "6.5.4"
-          },
-          "dependencies": {
-            "rxjs": {
-              "version": "6.5.4",
-              "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-              "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
-              "dev": true,
-              "requires": {
-                "tslib": "^1.9.0"
-              },
-              "dependencies": {
-                "tslib": {
-                  "version": "1.13.0",
-                  "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
-                  "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
-                  "dev": true
-                }
-              }
-            }
-          }
-        },
-        "@angular-devkit/core": {
-          "version": "9.1.7",
-          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
-          "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
-          "dev": true,
-          "requires": {
-            "ajv": "6.12.0",
-            "fast-json-stable-stringify": "2.1.0",
-            "magic-string": "0.25.7",
-            "rxjs": "6.5.4",
-            "source-map": "0.7.3"
-          },
-          "dependencies": {
-            "rxjs": {
-              "version": "6.5.4",
-              "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-              "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
-              "dev": true,
-              "requires": {
-                "tslib": "^1.9.0"
-              },
-              "dependencies": {
-                "tslib": {
-                  "version": "1.13.0",
-                  "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
-                  "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
-                  "dev": true
-                }
-              }
-            }
-          }
-        },
-        "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
         "ansi-colors": {
           "version": "4.1.1",
           "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
@@ -531,39 +401,7 @@
           "requires": {
             "type-fest": "^0.11.0"
           }
-        }
-      }
-    },
-    "@angular/common": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.9.tgz",
-      "integrity": "sha512-y/tJtkuOJhV2kcaXZyrLZH84i4uQ1r+vaaEHvXj+JZYfYfcMMd/TDqMiPcIkUb3RxqghtZ+q0ZNW5D1Nlru3Pw=="
-    },
-    "@angular/compiler": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.9.tgz",
-      "integrity": "sha512-kjFgaTB2ckr9lgmkS1dOGRT7kmzpQueydxsxXSHWgICNVE6F/u1PHyeSOyJRpxW0GnrkLq3QM2EUFnQGGga5bg=="
-    },
-    "@angular/compiler-cli": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.9.tgz",
-      "integrity": "sha512-aLr2eaDlREN8XybgTbelvjtSZ8eAkxBPilnkddc700BgiC6ImyUSKaItOwa8bnjQwq4Wlz5eVG0ibsrX+5MXwg==",
-      "dev": true,
-      "requires": {
-        "canonical-path": "1.0.0",
-        "chokidar": "^3.0.0",
-        "convert-source-map": "^1.5.1",
-        "dependency-graph": "^0.7.2",
-        "fs-extra": "4.0.2",
-        "magic-string": "^0.25.0",
-        "minimist": "^1.2.0",
-        "reflect-metadata": "^0.1.2",
-        "semver": "^6.3.0",
-        "source-map": "^0.6.1",
-        "sourcemap-codec": "^1.4.8",
-        "yargs": "15.3.0"
-      },
-      "dependencies": {
+        },
         "ansi-regex": {
           "version": "5.0.0",
           "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
@@ -580,15 +418,23 @@
             "color-convert": "^2.0.1"
           }
         },
-        "cliui": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
-          "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+        "chalk": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz",
+          "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==",
           "dev": true,
           "requires": {
-            "string-width": "^4.2.0",
-            "strip-ansi": "^6.0.0",
-            "wrap-ansi": "^6.2.0"
+            "ansi-styles": "^4.1.0",
+            "supports-color": "^7.1.0"
+          }
+        },
+        "cli-cursor": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz",
+          "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==",
+          "dev": true,
+          "requires": {
+            "restore-cursor": "^3.1.0"
           }
         },
         "color-convert": {
@@ -600,75 +446,126 @@
             "color-name": "~1.1.4"
           }
         },
-        "find-up": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
-          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+        "debug": {
+          "version": "4.1.1",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz",
+          "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==",
           "dev": true,
           "requires": {
-            "locate-path": "^5.0.0",
-            "path-exists": "^4.0.0"
+            "ms": "^2.1.1"
           }
         },
-        "fs-extra": {
-          "version": "4.0.2",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz",
-          "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=",
+        "figures": {
+          "version": "3.2.0",
+          "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz",
+          "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==",
           "dev": true,
           "requires": {
-            "graceful-fs": "^4.1.2",
-            "jsonfile": "^4.0.0",
-            "universalify": "^0.1.0"
+            "escape-string-regexp": "^1.0.5"
           }
         },
-        "get-caller-file": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-          "dev": true
-        },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
           "dev": true
         },
-        "locate-path": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
-          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+        "hosted-git-info": {
+          "version": "3.0.4",
+          "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz",
+          "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==",
           "dev": true,
           "requires": {
-            "p-locate": "^4.1.0"
+            "lru-cache": "^5.1.1"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+        "inquirer": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz",
+          "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==",
+          "dev": true,
+          "requires": {
+            "ansi-escapes": "^4.2.1",
+            "chalk": "^3.0.0",
+            "cli-cursor": "^3.1.0",
+            "cli-width": "^2.0.0",
+            "external-editor": "^3.0.3",
+            "figures": "^3.0.0",
+            "lodash": "^4.17.15",
+            "mute-stream": "0.0.8",
+            "run-async": "^2.4.0",
+            "rxjs": "^6.5.3",
+            "string-width": "^4.1.0",
+            "strip-ansi": "^6.0.0",
+            "through": "^2.3.6"
+          }
+        },
+        "lodash": {
+          "version": "4.17.15",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
           "dev": true
         },
-        "p-locate": {
-          "version": "4.1.0",
-          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
-          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+        "lru-cache": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
           "dev": true,
           "requires": {
-            "p-limit": "^2.2.0"
+            "yallist": "^3.0.2"
           }
         },
-        "path-exists": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
-          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+        "ms": {
+          "version": "2.1.2",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+          "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
           "dev": true
         },
-        "require-main-filename": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+        "mute-stream": {
+          "version": "0.0.8",
+          "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz",
+          "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
           "dev": true
         },
+        "npm-package-arg": {
+          "version": "8.0.1",
+          "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz",
+          "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==",
+          "dev": true,
+          "requires": {
+            "hosted-git-info": "^3.0.2",
+            "semver": "^7.0.0",
+            "validate-npm-package-name": "^3.0.0"
+          }
+        },
+        "onetime": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+          "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+          "dev": true,
+          "requires": {
+            "mimic-fn": "^2.1.0"
+          }
+        },
+        "restore-cursor": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz",
+          "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==",
+          "dev": true,
+          "requires": {
+            "onetime": "^5.1.0",
+            "signal-exit": "^3.0.2"
+          }
+        },
+        "rimraf": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        },
         "run-async": {
           "version": "2.4.1",
           "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
@@ -681,23 +578,6 @@
           "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
           "dev": true
         },
-        "source-map": {
-          "version": "0.6.1",
-          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
-          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
-          "dev": true
-        },
-        "string-width": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^6.0.0"
-          }
-        },
         "strip-ansi": {
           "version": "6.0.0",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
@@ -707,52 +587,88 @@
             "ansi-regex": "^5.0.0"
           }
         },
-        "wrap-ansi": {
-          "version": "6.2.0",
-          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-          "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+        "supports-color": {
+          "version": "7.1.0",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
           "dev": true,
           "requires": {
-            "ansi-styles": "^4.0.0",
-            "string-width": "^4.1.0",
-            "strip-ansi": "^6.0.0"
+            "has-flag": "^4.0.0"
           }
         },
-        "yargs": {
-          "version": "15.3.0",
-          "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz",
-          "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==",
-          "dev": true,
-          "requires": {
-            "cliui": "^6.0.0",
-            "decamelize": "^1.2.0",
-            "find-up": "^4.1.0",
-            "get-caller-file": "^2.0.1",
-            "require-directory": "^2.1.1",
-            "require-main-filename": "^2.0.0",
-            "set-blocking": "^2.0.0",
-            "string-width": "^4.2.0",
-            "which-module": "^2.0.0",
-            "y18n": "^4.0.0",
-            "yargs-parser": "^18.1.0"
-          }
+        "uuid": {
+          "version": "7.0.2",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz",
+          "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==",
+          "dev": true
         },
-        "yargs-parser": {
-          "version": "18.1.3",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
-          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+        "yallist": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "dev": true
+        }
+      }
+    },
+    "@angular/common": {
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.11.tgz",
+      "integrity": "sha512-Vh5lF7zWwDK9RedmYXUc8vUXyrecR3j1mAWlTlnmcHYxxFThPzN/dr0slQcPi6nyJn0EmyRKUGvAoZx4rIb7wg=="
+    },
+    "@angular/compiler": {
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.11.tgz",
+      "integrity": "sha512-MbVheCG0U8gt6xtiipau20N26mD2sXjLChVmRKgO6rbDruxboNMZfEd94q9NP9JRaUsVnjXvY7GMDldoymdXig=="
+    },
+    "@angular/compiler-cli": {
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.11.tgz",
+      "integrity": "sha512-9qIxbtpRXOQnRm6inxCa5HuH87MSuMzuceD0YBVzl8v+vLtewon9KXYMmF4kTBhWa/LEa8FrajljLh0azf3VLg==",
+      "dev": true,
+      "requires": {
+        "canonical-path": "1.0.0",
+        "chokidar": "^3.0.0",
+        "convert-source-map": "^1.5.1",
+        "dependency-graph": "^0.7.2",
+        "fs-extra": "4.0.2",
+        "magic-string": "^0.25.0",
+        "minimist": "^1.2.0",
+        "reflect-metadata": "^0.1.2",
+        "semver": "^6.3.0",
+        "source-map": "^0.6.1",
+        "sourcemap-codec": "^1.4.8",
+        "yargs": "15.3.0"
+      },
+      "dependencies": {
+        "fs-extra": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz",
+          "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=",
           "dev": true,
           "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
+            "graceful-fs": "^4.1.2",
+            "jsonfile": "^4.0.0",
+            "universalify": "^0.1.0"
           }
+        },
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+          "dev": true
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
         }
       }
     },
     "@angular/core": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.9.tgz",
-      "integrity": "sha512-q/DERgVU6vK2LtTcdVCGGBcoO424WsEfImh3Vcuy+P/ZVmthlDUC/+q+tSKt8MMf4hLpxFDQJE8vUSkktj7QEw=="
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.11.tgz",
+      "integrity": "sha512-KAlEedBo761O1aeoTJVziOSHi8Fttk9ipvbDZXYT/o0W/KdVwubxP34g9t5aD8LCcF8+L0z4VLw++HjdJAUpwg=="
     },
     "@angular/flex-layout": {
       "version": "9.0.0-beta.31",
@@ -760,14 +676,14 @@
       "integrity": "sha512-g94u2mecDl87ORvFRuOBshV/S/ETE4bybClU2e1xXKWNG+rhRHchChneHSonc29ZLyROTjHhmAtKOYojL92uLA=="
     },
     "@angular/forms": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.9.tgz",
-      "integrity": "sha512-r675yImnb/0pY7K5W3V2ITa7YETu1I2AS+bRfII6UQ6gthyeFFOHb5noa7YneC2yqQiM6E4DQmF5ig3daPuFNg=="
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.11.tgz",
+      "integrity": "sha512-t4WHrh6ot1r8zdV+3fJz7g9rCok77c9CiIevhH2dR/idxD+HtFR0wqmcBQzsn+rNVB0f0TiSHDrj+TeELIFyWw=="
     },
     "@angular/language-service": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.9.tgz",
-      "integrity": "sha512-yT6HPpdAe2mD9HRoTCiWFog1MRJt+0j+CLbI/Ql7C6pH6vbjmfsJ55xMmQ7eS6trsnebpMWTUv1f2GRykv3ygw==",
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.11.tgz",
+      "integrity": "sha512-jfm4etbqldj6MTwECwyoAs7tXEAR8K/8P8dBZnsELhY+V8oFidTJI3NY52PB3Ym7leSPorYdOAeUMMuQfPaVxg==",
       "dev": true
     },
     "@angular/material": {
@@ -776,19 +692,19 @@
       "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA=="
     },
     "@angular/platform-browser": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.9.tgz",
-      "integrity": "sha512-V861X3MxJp1AlMTnkUPldpBLIJbApXF3ka0A5Dq2nVJCyOFeteGkaRWSBgqe2jxmq+LVpJbzcNvtDFXw6mQ0jA=="
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.11.tgz",
+      "integrity": "sha512-KDxoiFhW4UD+EqchcKpQVSLwg9Rd3JbWytZLchFV6nH8BFnshfJtw2tyPT8bMhFVG9n9zSR4QSGaozWgoDs9mw=="
     },
     "@angular/platform-browser-dynamic": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.9.tgz",
-      "integrity": "sha512-b9MG5MWne+IuL3uLm8jwPhlJzqYaGBGk/qibOqb17T24j1iyrlO7T5bZ8zO6pUy5iT/TahVfHPnPJC1qTK5OmA=="
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.11.tgz",
+      "integrity": "sha512-Qw3rfVFF0Wtu+UwraqKPCgTA3uoNPGf4vKSfuCuXTrG0p7j+3mCP59aUv5gGH7GV1UQ++jZRx5pbWF43zrC8Hw=="
     },
     "@angular/router": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.9.tgz",
-      "integrity": "sha512-4u+CWMPB4hCkAsFCEzC94YEWT0wVozqGkc/Dortt2hFaqvZpIegg6iJVZlDxuyDjzFYBPnnbTDdgiTTA8ckfuA=="
+      "version": "9.1.11",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.11.tgz",
+      "integrity": "sha512-D6CCDeSK/F6dWSB/a1g/zB072xG5LadLSV8afQ57oX1KHePx21LcoRG4tUtFMMHh/jZXRc9pMQIR1/9FrrXF3Q=="
     },
     "@babel/code-frame": {
       "version": "7.5.5",
@@ -800,9 +716,9 @@
       }
     },
     "@babel/compat-data": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.1.tgz",
-      "integrity": "sha512-CHvCj7So7iCkGKPRFUfryXIkU2gSBw7VSZFYLsqVhrS47269VK2Hfi9S/YcublPMW8k1u2bQBlbDruoQEm4fgw==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.3.tgz",
+      "integrity": "sha512-BDIfJ9uNZuI0LajPfoYV28lX8kyCPMHY6uY4WH1lJdcicmAfxCK5ASzaeV0D/wsUaRH/cLk+amuxtC37sZ8TUg==",
       "dev": true,
       "requires": {
         "browserslist": "^4.12.0",
@@ -835,21 +751,21 @@
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
+          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.1"
+            "@babel/highlight": "^7.10.3"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
+          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.1",
+            "@babel/helper-validator-identifier": "^7.10.3",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
@@ -898,31 +814,6 @@
         "source-map": "^0.5.0"
       },
       "dependencies": {
-        "jsesc": {
-          "version": "2.5.2",
-          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
-          "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
-          "dev": true
-        },
-        "regenerator-transform": {
-          "version": "0.14.2",
-          "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.2.tgz",
-          "integrity": "sha512-V4+lGplCM/ikqi5/mkkpJ06e9Bujq1NFmNLvsCs56zg3ZbzrnUzAtizZ24TXxtRX/W2jcdScwQCnbL0CICTFkQ==",
-          "requires": {
-            "@babel/runtime": "^7.8.4",
-            "private": "^0.1.8"
-          }
-        },
-        "rimraf": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
-          "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
-          "requires": {
-            "esutils": "^2.0.2",
-            "lodash": "^4.17.13",
-            "to-fast-properties": "^2.0.0"
-          }
-        },
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -941,13 +832,13 @@
       }
     },
     "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.1.tgz",
-      "integrity": "sha512-cQpVq48EkYxUU0xozpGCLla3wlkdRRqLWu1ksFMXA9CM5KQmyyRpSEsYXbao7JUkOw/tAaYKCaYyZq6HOFYtyw==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.3.tgz",
+      "integrity": "sha512-lo4XXRnBlU6eRM92FkiZxpo1xFLmv3VsPFk61zJKMm7XYJfwqXHsYJTY6agoc4a3L8QPw1HqWehO18coZgbT6A==",
       "dev": true,
       "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/helper-explode-assignable-expression": "^7.10.3",
+        "@babel/types": "^7.10.3"
       }
     },
     "@babel/helper-compilation-targets": {
@@ -975,104 +866,104 @@
       }
     },
     "@babel/helper-define-map": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.1.tgz",
-      "integrity": "sha512-+5odWpX+OnvkD0Zmq7panrMuAGQBu6aPUgvMzuMGo4R+jUOvealEj2hiqI6WhxgKrTpFoFj0+VdsuA8KDxHBDg==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.3.tgz",
+      "integrity": "sha512-bxRzDi4Sin/k0drWCczppOhov1sBSdBvXJObM1NLHQzjhXhwRtn7aRWGvLJWCYbuu2qUk3EKs6Ci9C9ps8XokQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/types": "^7.10.1",
+        "@babel/helper-function-name": "^7.10.3",
+        "@babel/types": "^7.10.3",
         "lodash": "^4.17.13"
       }
     },
     "@babel/helper-explode-assignable-expression": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.1.tgz",
-      "integrity": "sha512-vcUJ3cDjLjvkKzt6rHrl767FeE7pMEYfPanq5L16GRtrXIoznc0HykNW2aEYkcnP76P0isoqJ34dDMFZwzEpJg==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.3.tgz",
+      "integrity": "sha512-0nKcR64XrOC3lsl+uhD15cwxPvaB6QKUDlD84OT9C3myRbhJqTMYir69/RWItUvHpharv0eJ/wk7fl34ONSwZw==",
       "dev": true,
       "requires": {
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/traverse": "^7.10.3",
+        "@babel/types": "^7.10.3"
       }
     },
     "@babel/helper-function-name": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.1.tgz",
-      "integrity": "sha512-fcpumwhs3YyZ/ttd5Rz0xn0TpIwVkN7X0V38B9TWNfVF42KEkhkAAuPCQ3oXmtTRtiPJrmZ0TrfS0GKF0eMaRQ==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz",
+      "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==",
       "dev": true,
       "requires": {
-        "@babel/helper-get-function-arity": "^7.10.1",
-        "@babel/template": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/helper-get-function-arity": "^7.10.3",
+        "@babel/template": "^7.10.3",
+        "@babel/types": "^7.10.3"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
+          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.1"
+            "@babel/highlight": "^7.10.3"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
+          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.1",
+            "@babel/helper-validator-identifier": "^7.10.3",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
-          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
+          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.1",
-            "@babel/parser": "^7.10.1",
-            "@babel/types": "^7.10.1"
+            "@babel/code-frame": "^7.10.3",
+            "@babel/parser": "^7.10.3",
+            "@babel/types": "^7.10.3"
           }
         }
       }
     },
     "@babel/helper-get-function-arity": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.1.tgz",
-      "integrity": "sha512-F5qdXkYGOQUb0hpRaPoetF9AnsXknKjWMZ+wmsIRsp5ge5sFh4c3h1eH2pRTTuy9KKAA2+TTYomGXAtEL2fQEw==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz",
+      "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.3"
       }
     },
     "@babel/helper-hoist-variables": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.1.tgz",
-      "integrity": "sha512-vLm5srkU8rI6X3+aQ1rQJyfjvCBLXP8cAGeuw04zeAM2ItKb1e7pmVmLyHb4sDaAYnLL13RHOZPLEtcGZ5xvjg==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.3.tgz",
+      "integrity": "sha512-9JyafKoBt5h20Yv1+BXQMdcXXavozI1vt401KBiRc2qzUepbVnd7ogVNymY1xkQN9fekGwfxtotH2Yf5xsGzgg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.3"
       }
     },
     "@babel/helper-member-expression-to-functions": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.1.tgz",
-      "integrity": "sha512-u7XLXeM2n50gb6PWJ9hoO5oO7JFPaZtrh35t8RqKLT1jFKj9IWeD1zrcrYp1q1qiZTdEarfDWfTIP8nGsu0h5g==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz",
+      "integrity": "sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.3"
       }
     },
     "@babel/helper-module-imports": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.1.tgz",
-      "integrity": "sha512-SFxgwYmZ3HZPyZwJRiVNLRHWuW2OgE5k2nrVs6D9Iv4PPnXVffuEHy83Sfx/l4SqF+5kyJXjAyUmrG7tNm+qVg==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz",
+      "integrity": "sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.3"
       }
     },
     "@babel/helper-module-transforms": {
@@ -1091,51 +982,51 @@
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
+          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.1"
+            "@babel/highlight": "^7.10.3"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
+          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.1",
+            "@babel/helper-validator-identifier": "^7.10.3",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
-          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
+          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.1",
-            "@babel/parser": "^7.10.1",
-            "@babel/types": "^7.10.1"
+            "@babel/code-frame": "^7.10.3",
+            "@babel/parser": "^7.10.3",
+            "@babel/types": "^7.10.3"
           }
         }
       }
     },
     "@babel/helper-optimise-call-expression": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.1.tgz",
-      "integrity": "sha512-a0DjNS1prnBsoKx83dP2falChcs7p3i8VMzdrSbfLhuQra/2ENC4sbri34dz/rWmDADsmF1q5GbfaXydh0Jbjg==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz",
+      "integrity": "sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.3"
       }
     },
     "@babel/helper-plugin-utils": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz",
-      "integrity": "sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz",
+      "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==",
       "dev": true
     },
     "@babel/helper-regex": {
@@ -1148,47 +1039,47 @@
       }
     },
     "@babel/helper-remap-async-to-generator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.1.tgz",
-      "integrity": "sha512-RfX1P8HqsfgmJ6CwaXGKMAqbYdlleqglvVtht0HGPMSsy2V6MqLlOJVF/0Qyb/m2ZCi2z3q3+s6Pv7R/dQuZ6A==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.3.tgz",
+      "integrity": "sha512-sLB7666ARbJUGDO60ZormmhQOyqMX/shKBXZ7fy937s+3ID8gSrneMvKSSb+8xIM5V7Vn6uNVtOY1vIm26XLtA==",
       "dev": true,
       "requires": {
         "@babel/helper-annotate-as-pure": "^7.10.1",
         "@babel/helper-wrap-function": "^7.10.1",
-        "@babel/template": "^7.10.1",
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/template": "^7.10.3",
+        "@babel/traverse": "^7.10.3",
+        "@babel/types": "^7.10.3"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
+          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.1"
+            "@babel/highlight": "^7.10.3"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
+          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.1",
+            "@babel/helper-validator-identifier": "^7.10.3",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
-          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
+          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.1",
-            "@babel/parser": "^7.10.1",
-            "@babel/types": "^7.10.1"
+            "@babel/code-frame": "^7.10.3",
+            "@babel/parser": "^7.10.3",
+            "@babel/types": "^7.10.3"
           }
         }
       }
@@ -1216,34 +1107,34 @@
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
+          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.1"
+            "@babel/highlight": "^7.10.3"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
+          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.1",
+            "@babel/helper-validator-identifier": "^7.10.3",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
-          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
+          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.1",
-            "@babel/parser": "^7.10.1",
-            "@babel/types": "^7.10.1"
+            "@babel/code-frame": "^7.10.3",
+            "@babel/parser": "^7.10.3",
+            "@babel/types": "^7.10.3"
           }
         }
       }
@@ -1258,9 +1149,9 @@
       }
     },
     "@babel/helper-validator-identifier": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz",
-      "integrity": "sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz",
+      "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==",
       "dev": true
     },
     "@babel/helper-wrap-function": {
@@ -1276,34 +1167,34 @@
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
+          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.1"
+            "@babel/highlight": "^7.10.3"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
+          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.1",
+            "@babel/helper-validator-identifier": "^7.10.3",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
-          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
+          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.1",
-            "@babel/parser": "^7.10.1",
-            "@babel/types": "^7.10.1"
+            "@babel/code-frame": "^7.10.3",
+            "@babel/parser": "^7.10.3",
+            "@babel/types": "^7.10.3"
           }
         }
       }
@@ -1320,34 +1211,34 @@
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
+          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.1"
+            "@babel/highlight": "^7.10.3"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
+          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.1",
+            "@babel/helper-validator-identifier": "^7.10.3",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.1.tgz",
-          "integrity": "sha512-OQDg6SqvFSsc9A0ej6SKINWrpJiNonRIniYondK2ViKhB06i3c0s+76XUft71iqBEe9S1OKsHwPAjfHnuvnCig==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
+          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.1",
-            "@babel/parser": "^7.10.1",
-            "@babel/types": "^7.10.1"
+            "@babel/code-frame": "^7.10.3",
+            "@babel/parser": "^7.10.3",
+            "@babel/types": "^7.10.3"
           }
         }
       }
@@ -1372,19 +1263,19 @@
       }
     },
     "@babel/parser": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.2.tgz",
-      "integrity": "sha512-PApSXlNMJyB4JiGVhCOlzKIif+TKFTvu0aQAhnTvfP/z3vVSN6ZypH5bfUNwFXXjRQtUEBNFd2PtmCmG2Py3qQ==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz",
+      "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==",
       "dev": true
     },
     "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.1.tgz",
-      "integrity": "sha512-vzZE12ZTdB336POZjmpblWfNNRpMSua45EYnRigE2XsZxcXcIyly2ixnTJasJE4Zq3U7t2d8rRF7XRUuzHxbOw==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.3.tgz",
+      "integrity": "sha512-WUUWM7YTOudF4jZBAJIW9D7aViYC/Fn0Pln4RIHlQALyno3sXSjqmTA4Zy1TKC2D49RCR8Y/Pn4OIUtEypK3CA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-remap-async-to-generator": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.3",
+        "@babel/helper-remap-async-to-generator": "^7.10.3",
         "@babel/plugin-syntax-async-generators": "^7.8.0"
       }
     },
@@ -1429,12 +1320,12 @@
       }
     },
     "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.1.tgz",
-      "integrity": "sha512-Z+Qri55KiQkHh7Fc4BW6o+QBuTagbOp9txE+4U1i79u9oWlf2npkiDx+Rf3iK3lbcHBuNy9UOkwuR5wOMH3LIQ==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.3.tgz",
+      "integrity": "sha512-ZZh5leCIlH9lni5bU/wB/UcjtcVLgR8gc+FAgW2OOY+m9h1II3ItTO1/cewNUcsIDZSYcSaz/rYVls+Fb0ExVQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.3",
         "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
         "@babel/plugin-transform-parameters": "^7.10.1"
       }
@@ -1450,12 +1341,12 @@
       }
     },
     "@babel/plugin-proposal-optional-chaining": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.1.tgz",
-      "integrity": "sha512-dqQj475q8+/avvok72CF3AOSV/SGEcH29zT5hhohqqvvZ2+boQoOr7iGldBG5YXTO2qgCgc2B3WvVLUdbeMlGA==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.3.tgz",
+      "integrity": "sha512-yyG3n9dJ1vZ6v5sfmIlMMZ8azQoqx/5/nZTSWX1td6L1H1bsjzA8TInDChpafCZiJkeOFzp/PtrfigAQXxI1Ng==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.3",
         "@babel/plugin-syntax-optional-chaining": "^7.8.0"
       }
     },
@@ -1590,28 +1481,28 @@
       }
     },
     "@babel/plugin-transform-classes": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.1.tgz",
-      "integrity": "sha512-P9V0YIh+ln/B3RStPoXpEQ/CoAxQIhRSUn7aXqQ+FZJ2u8+oCtjIXR3+X0vsSD8zv+mb56K7wZW1XiDTDGiDRQ==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.3.tgz",
+      "integrity": "sha512-irEX0ChJLaZVC7FvvRoSIxJlmk0IczFLcwaRXUArBKYHCHbOhe57aG8q3uw/fJsoSXvZhjRX960hyeAGlVBXZw==",
       "dev": true,
       "requires": {
         "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-define-map": "^7.10.1",
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/helper-optimise-call-expression": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-define-map": "^7.10.3",
+        "@babel/helper-function-name": "^7.10.3",
+        "@babel/helper-optimise-call-expression": "^7.10.3",
+        "@babel/helper-plugin-utils": "^7.10.3",
         "@babel/helper-replace-supers": "^7.10.1",
         "@babel/helper-split-export-declaration": "^7.10.1",
         "globals": "^11.1.0"
       }
     },
     "@babel/plugin-transform-computed-properties": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.1.tgz",
-      "integrity": "sha512-mqSrGjp3IefMsXIenBfGcPXxJxweQe2hEIwMQvjtiDQ9b1IBvDUjkAtV/HMXX47/vXf14qDNedXsIiNd1FmkaQ==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.3.tgz",
+      "integrity": "sha512-GWzhaBOsdbjVFav96drOz7FzrcEW6AP5nax0gLIpstiFaI3LOb2tAg06TimaWU6YKOfUACK3FVrxPJ4GSc5TgA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.3"
       }
     },
     "@babel/plugin-transform-destructuring": {
@@ -1713,14 +1604,14 @@
       }
     },
     "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.1.tgz",
-      "integrity": "sha512-ewNKcj1TQZDL3YnO85qh9zo1YF1CHgmSTlRQgHqe63oTrMI85cthKtZjAiZSsSNjPQ5NCaYo5QkbYqEw1ZBgZA==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz",
+      "integrity": "sha512-GWXWQMmE1GH4ALc7YXW56BTh/AlzvDWhUNn9ArFF0+Cz5G8esYlVbXfdyHa1xaD1j+GnBoCeoQNlwtZTVdiG/A==",
       "dev": true,
       "requires": {
-        "@babel/helper-hoist-variables": "^7.10.1",
+        "@babel/helper-hoist-variables": "^7.10.3",
         "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.3",
         "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
@@ -1735,9 +1626,9 @@
       }
     },
     "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz",
-      "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.3.tgz",
+      "integrity": "sha512-I3EH+RMFyVi8Iy/LekQm948Z4Lz4yKT7rK+vuCAeRm0kTa6Z5W7xuhRxDNJv0FPya/her6AUgrDITb70YHtTvA==",
       "dev": true,
       "requires": {
         "@babel/helper-create-regexp-features-plugin": "^7.8.3"
@@ -1782,9 +1673,9 @@
       }
     },
     "@babel/plugin-transform-regenerator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.1.tgz",
-      "integrity": "sha512-B3+Y2prScgJ2Bh/2l9LJxKbb8C8kRfsG4AdPT+n7ixBHIxJaIG8bi8tgjxUMege1+WqSJ+7gu1YeoMVO3gPWzw==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.3.tgz",
+      "integrity": "sha512-H5kNeW0u8mbk0qa1jVIVTeJJL6/TJ81ltD4oyPx0P499DhMJrTmmIFCmJ3QloGpQG8K9symccB7S7SJpCKLwtw==",
       "dev": true,
       "requires": {
         "regenerator-transform": "^0.14.2"
@@ -1828,13 +1719,13 @@
       }
     },
     "@babel/plugin-transform-template-literals": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.1.tgz",
-      "integrity": "sha512-t7B/3MQf5M1T9hPCRG28DNGZUuxAuDqLYS03rJrIk2prj/UV7Z6FOneijhQhnv/Xa039vidXeVbvjK2SK5f7Gg==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.3.tgz",
+      "integrity": "sha512-yaBn9OpxQra/bk0/CaA4wr41O0/Whkg6nqjqApcinxM7pro51ojhX6fv1pimAnVjVfDy14K0ULoRL70CA9jWWA==",
       "dev": true,
       "requires": {
         "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.3"
       }
     },
     "@babel/plugin-transform-typeof-symbol": {
@@ -1843,8 +1734,7 @@
       "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.8.3",
-        "@babel/helper-plugin-utils": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.10.1"
       }
     },
     "@babel/plugin-transform-unicode-regex": {
@@ -1967,21 +1857,21 @@
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
+          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.1"
+            "@babel/highlight": "^7.10.3"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
+          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.1",
+            "@babel/helper-validator-identifier": "^7.10.3",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
@@ -1989,50 +1879,50 @@
       }
     },
     "@babel/traverse": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.1.tgz",
-      "integrity": "sha512-C/cTuXeKt85K+p08jN6vMDz8vSV0vZcI0wmQ36o6mjbuo++kPMdpOYw23W2XH04dbRt9/nMEfA4W3eR21CD+TQ==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz",
+      "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.10.1",
-        "@babel/generator": "^7.10.1",
-        "@babel/helper-function-name": "^7.10.1",
+        "@babel/code-frame": "^7.10.3",
+        "@babel/generator": "^7.10.3",
+        "@babel/helper-function-name": "^7.10.3",
         "@babel/helper-split-export-declaration": "^7.10.1",
-        "@babel/parser": "^7.10.1",
-        "@babel/types": "^7.10.1",
+        "@babel/parser": "^7.10.3",
+        "@babel/types": "^7.10.3",
         "debug": "^4.1.0",
         "globals": "^11.1.0",
         "lodash": "^4.17.13"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.1.tgz",
-          "integrity": "sha512-IGhtTmpjGbYzcEDOw7DcQtbQSXcG9ftmAXtWTu9V936vDye4xjjekktFAtgZsWpzTj/X01jocB46mTywm/4SZw==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
+          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.1"
+            "@babel/highlight": "^7.10.3"
           }
         },
         "@babel/generator": {
-          "version": "7.10.2",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.2.tgz",
-          "integrity": "sha512-AxfBNHNu99DTMvlUPlt1h2+Hn7knPpH5ayJ8OqDWSeLld+Fi2AYBTC/IejWDM9Edcii4UzZRCsbUt0WlSDsDsA==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz",
+          "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==",
           "dev": true,
           "requires": {
-            "@babel/types": "^7.10.2",
+            "@babel/types": "^7.10.3",
             "jsesc": "^2.5.1",
             "lodash": "^4.17.13",
             "source-map": "^0.5.0"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.1",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.1.tgz",
-          "integrity": "sha512-8rMof+gVP8mxYZApLF/JgNDAkdKa+aJt3ZYxF8z6+j/hpeXL7iMsKCPHa2jNMHu/qqBwzQF4OHNoYi8dMA/rYg==",
+          "version": "7.10.3",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
+          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.1",
+            "@babel/helper-validator-identifier": "^7.10.3",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
@@ -2061,12 +1951,12 @@
       }
     },
     "@babel/types": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.2.tgz",
-      "integrity": "sha512-AD3AwWBSz0AWF0AkCN9VPiWrvldXq+/e3cHa4J89vo4ymjz1XwrBFFVZmkJTsQIPNk+ZVomPSXUJqq8yyjZsng==",
+      "version": "7.10.3",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz",
+      "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==",
       "dev": true,
       "requires": {
-        "@babel/helper-validator-identifier": "^7.10.1",
+        "@babel/helper-validator-identifier": "^7.10.3",
         "lodash": "^4.17.13",
         "to-fast-properties": "^2.0.0"
       }
@@ -2538,12 +2428,6 @@
             "source-map": "^0.6.1"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "schema-utils": {
           "version": "2.7.0",
           "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
@@ -2574,12 +2458,12 @@
       }
     },
     "@ngtools/webpack": {
-      "version": "9.1.7",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.7.tgz",
-      "integrity": "sha512-A7VB2I42Kn+7jl0tDKzGNLAoZLWSqkKo9Hg1bmKpvAAIz+DSbq3uV+JWgGgTprM3tn0lfkVgmqk4H17HKwAOcg==",
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.9.tgz",
+      "integrity": "sha512-7UzRL54JcK1m2PvgpchV26TF9OYipj/8+dygdjaidqOyQujWpHncdtq/ScbUsoJ44nHjIRJPhaGE00NLpWZvnA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.7",
+        "@angular-devkit/core": "9.1.9",
         "enhanced-resolve": "4.1.1",
         "rxjs": "6.5.4",
         "webpack-sources": "1.4.3"
@@ -2602,97 +2486,75 @@
         }
       }
     },
+    "@nodelib/fs.scandir": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
+      "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
+      "dev": true,
+      "requires": {
+        "@nodelib/fs.stat": "2.0.3",
+        "run-parallel": "^1.1.9"
+      },
+      "dependencies": {
+        "@nodelib/fs.stat": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+          "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+          "dev": true
+        }
+      }
+    },
     "@nodelib/fs.stat": {
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz",
       "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
       "dev": true
     },
-    "@schematics/angular": {
-      "version": "9.1.7",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.7.tgz",
-      "integrity": "sha512-ld3WcoMWvup04V3OWioQ+AFGQBzz7IDM4Fxc5+Qc3wILWkDJnNkrc4EmJAow96Ab4/T1+Wl1vof3tV4At0BTzA==",
+    "@nodelib/fs.walk": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
+      "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
+      "dev": true,
+      "requires": {
+        "@nodelib/fs.scandir": "2.1.3",
+        "fastq": "^1.6.0"
+      }
+    },
+    "@npmcli/move-file": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz",
+      "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.7",
-        "@angular-devkit/schematics": "9.1.7"
+        "mkdirp": "^1.0.4"
       },
       "dependencies": {
-        "@angular-devkit/core": {
-          "version": "9.1.7",
-          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
-          "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
-          "dev": true,
-          "requires": {
-            "ajv": "6.12.0",
-            "fast-json-stable-stringify": "2.1.0",
-            "magic-string": "0.25.7",
-            "rxjs": "6.5.4",
-            "source-map": "0.7.3"
-          },
-          "dependencies": {
-            "rxjs": {
-              "version": "6.5.4",
-              "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-              "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
-              "dev": true,
-              "requires": {
-                "tslib": "^1.9.0"
-              },
-              "dependencies": {
-                "tslib": {
-                  "version": "1.13.0",
-                  "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
-                  "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
-                  "dev": true
-                }
-              }
-            }
-          }
-        },
-        "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "fast-deep-equal": {
-          "version": "3.1.3",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-          "dev": true
-        },
-        "fast-json-stable-stringify": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-          "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+        "mkdirp": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
           "dev": true
-        },
-        "magic-string": {
-          "version": "0.25.7",
-          "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
-          "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
-          "dev": true,
-          "requires": {
-            "sourcemap-codec": "^1.4.4"
-          }
         }
       }
     },
+    "@schematics/angular": {
+      "version": "9.1.9",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.9.tgz",
+      "integrity": "sha512-c8YGZ6pDfr8IDD1qaOjlEBAkEz14KFSxDj0hCWs0xIM0py513tu5sW8+ziYxGG4bgqpsgVR/KAxuY78iBfUVag==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/core": "9.1.9",
+        "@angular-devkit/schematics": "9.1.9"
+      }
+    },
     "@schematics/update": {
-      "version": "0.901.7",
-      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.7.tgz",
-      "integrity": "sha512-6IpQVFvbu47CrXfqqHAzv2vi7AOdfi1S+SiayXU6FWTeA2wV47H8R60VjxurL8JkDGoVhFgC4+lK6KG++g3dQw==",
+      "version": "0.901.9",
+      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.9.tgz",
+      "integrity": "sha512-VChX0VO/oyfCF3y+HjMTU2qN3vGgJYxEI1V+Q9aAlwl95t3GAufuaFY1CNW3YV4XkYIjD88e3yWl8d5yO4qf4w==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.7",
-        "@angular-devkit/schematics": "9.1.7",
+        "@angular-devkit/core": "9.1.9",
+        "@angular-devkit/schematics": "9.1.9",
         "@yarnpkg/lockfile": "1.1.0",
         "ini": "1.3.5",
         "npm-package-arg": "^8.0.0",
@@ -2702,43 +2564,6 @@
         "semver-intersect": "1.4.0"
       },
       "dependencies": {
-        "@angular-devkit/core": {
-          "version": "9.1.7",
-          "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.7.tgz",
-          "integrity": "sha512-guvolu9Cl+qYMTtedLZD9wCqustJjdqzJ2psD2C1Sr1LrX9T0mprmDldR/YnhsitThveJEb6sM/0EvqWxoSvKw==",
-          "dev": true,
-          "requires": {
-            "ajv": "6.12.0",
-            "fast-json-stable-stringify": "2.1.0",
-            "magic-string": "0.25.7",
-            "rxjs": "6.5.4",
-            "source-map": "0.7.3"
-          }
-        },
-        "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
-          "dev": true,
-          "requires": {
-            "fast-deep-equal": "^3.1.1",
-            "fast-json-stable-stringify": "^2.0.0",
-            "json-schema-traverse": "^0.4.1",
-            "uri-js": "^4.2.2"
-          }
-        },
-        "fast-deep-equal": {
-          "version": "3.1.3",
-          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
-          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
-          "dev": true
-        },
-        "fast-json-stable-stringify": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
-          "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
-          "dev": true
-        },
         "hosted-git-info": {
           "version": "3.0.4",
           "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz",
@@ -2757,15 +2582,6 @@
             "yallist": "^3.0.2"
           }
         },
-        "magic-string": {
-          "version": "0.25.7",
-          "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
-          "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
-          "dev": true,
-          "requires": {
-            "sourcemap-codec": "^1.4.4"
-          }
-        },
         "npm-package-arg": {
           "version": "8.0.1",
           "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz",
@@ -2784,14 +2600,6 @@
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
-          },
-          "dependencies": {
-            "tslib": {
-              "version": "1.13.0",
-              "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
-              "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
-              "dev": true
-            }
           }
         },
         "semver": {
@@ -2800,6 +2608,12 @@
           "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
           "dev": true
         },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
+        },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -2868,9 +2682,9 @@
       }
     },
     "@types/jasmine": {
-      "version": "3.5.10",
-      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.10.tgz",
-      "integrity": "sha512-3F8qpwBAiVc5+HPJeXJpbrl+XjawGmciN5LgiO7Gv1pl1RHtjoMNqZpqEksaPJW05ViKe8snYInRs6xB25Xdew==",
+      "version": "3.5.11",
+      "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.11.tgz",
+      "integrity": "sha512-fg1rOd/DehQTIJTifGqGVY6q92lDgnLfs7C6t1ccSwQrMyoTGSoH6wWzhJDZb6ezhsdwAX4EIBLe8w5fXWmEng==",
       "dev": true
     },
     "@types/jasminewd2": {
@@ -2883,9 +2697,9 @@
       }
     },
     "@types/json-schema": {
-      "version": "7.0.4",
-      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz",
-      "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==",
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.5.tgz",
+      "integrity": "sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ==",
       "dev": true
     },
     "@types/marked": {
@@ -2905,9 +2719,9 @@
       "integrity": "sha512-13gmo3M2qVvjQrWNseqM3+cR6S2Ss3grbR2NZltgMq94wOwqJYQdgn8qzwDshzgXqMlSUtyPZjysImmktu22ew=="
     },
     "@types/node": {
-      "version": "14.0.12",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.12.tgz",
-      "integrity": "sha512-/sjzehvjkkpvLpYtN6/2dv5kg41otMGuHQUt9T2aiAuIfleCQRQHXXzF1eAw/qkZTj5Kcf4JSTf7EIizHocy6Q==",
+      "version": "14.0.14",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz",
+      "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==",
       "dev": true
     },
     "@types/pako": {
@@ -3993,12 +3807,6 @@
             "semver": "^5.6.0"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "pify": {
           "version": "4.0.1",
           "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
@@ -4630,15 +4438,15 @@
       }
     },
     "browserslist": {
-      "version": "4.12.0",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz",
-      "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==",
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.1.tgz",
+      "integrity": "sha512-WMjXwFtPskSW1pQUDJRxvRKRkeCr7usN0O/Za76N+F4oadaTdQHotSGcX9jT/Hs7mSKPkyMFNvqawB/1HzYDKQ==",
       "dev": true,
       "requires": {
-        "caniuse-lite": "^1.0.30001043",
-        "electron-to-chromium": "^1.3.413",
-        "node-releases": "^1.1.53",
-        "pkg-up": "^2.0.0"
+        "caniuse-lite": "^1.0.30001088",
+        "electron-to-chromium": "^1.3.481",
+        "escalade": "^3.0.1",
+        "node-releases": "^1.1.58"
       }
     },
     "browserstack": {
@@ -4938,24 +4746,6 @@
             "yallist": "^3.0.2"
           }
         },
-        "minizlib": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
-          "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
-          "dev": true,
-          "requires": {
-            "minipass": "^3.0.0",
-            "yallist": "^4.0.0"
-          },
-          "dependencies": {
-            "yallist": {
-              "version": "4.0.0",
-              "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-              "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-              "dev": true
-            }
-          }
-        },
         "mkdirp": {
           "version": "1.0.4",
           "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
@@ -4971,34 +4761,6 @@
             "aggregate-error": "^3.0.0"
           }
         },
-        "tar": {
-          "version": "6.0.2",
-          "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
-          "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==",
-          "dev": true,
-          "requires": {
-            "chownr": "^2.0.0",
-            "fs-minipass": "^2.0.0",
-            "minipass": "^3.0.0",
-            "minizlib": "^2.1.0",
-            "mkdirp": "^1.0.3",
-            "yallist": "^4.0.0"
-          },
-          "dependencies": {
-            "chownr": {
-              "version": "2.0.0",
-              "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
-              "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
-              "dev": true
-            },
-            "yallist": {
-              "version": "4.0.0",
-              "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-              "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-              "dev": true
-            }
-          }
-        },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -5132,9 +4894,9 @@
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30001079",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001079.tgz",
-      "integrity": "sha512-2KaYheg0iOY+CMmDuAB3DHehrXhhb4OZU4KBVGDr/YKyYAcpudaiUQ9PJ9rxrPlKEoJ3ATasQ5AN48MqpwS43Q==",
+      "version": "1.0.30001088",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001088.tgz",
+      "integrity": "sha512-6eYUrlShRYveyqKG58HcyOfPgh3zb2xqs7NvT2VVtP3hEUeeWvc3lqhpeMTxYWBBeeaT9A4bKsrtjATm66BTHg==",
       "dev": true
     },
     "canonical-path": {
@@ -5254,9 +5016,9 @@
       }
     },
     "chokidar": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz",
-      "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==",
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
+      "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
       "dev": true,
       "requires": {
         "anymatch": "~3.1.1",
@@ -5266,7 +5028,7 @@
         "is-binary-path": "~2.1.0",
         "is-glob": "~4.0.1",
         "normalize-path": "~3.0.0",
-        "readdirp": "~3.3.0"
+        "readdirp": "~3.4.0"
       },
       "dependencies": {
         "anymatch": {
@@ -5304,16 +5066,16 @@
           }
         },
         "fsevents": {
-          "version": "2.1.2",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz",
-          "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==",
+          "version": "2.1.3",
+          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
+          "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
           "dev": true,
           "optional": true
         },
         "glob-parent": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz",
-          "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==",
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+          "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
           "dev": true,
           "requires": {
             "is-glob": "^4.0.1"
@@ -5350,12 +5112,20 @@
           "dev": true
         },
         "readdirp": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz",
-          "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==",
+          "version": "3.4.0",
+          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
+          "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
           "dev": true,
           "requires": {
-            "picomatch": "^2.0.7"
+            "picomatch": "^2.2.1"
+          },
+          "dependencies": {
+            "picomatch": {
+              "version": "2.2.2",
+              "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+              "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+              "dev": true
+            }
           }
         },
         "to-regex-range": {
@@ -5502,6 +5272,34 @@
         "tiny-emitter": "^2.0.0"
       }
     },
+    "cliui": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
+      "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
+      "dev": true,
+      "requires": {
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.0",
+        "wrap-ansi": "^6.2.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+          "dev": true
+        },
+        "strip-ansi": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^5.0.0"
+          }
+        }
+      }
+    },
     "clone": {
       "version": "2.1.2",
       "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz",
@@ -5923,57 +5721,109 @@
       "dev": true
     },
     "copy-webpack-plugin": {
-      "version": "5.1.1",
-      "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz",
-      "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==",
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.2.tgz",
+      "integrity": "sha512-9Gm8X0c6eXlKnmltMPFCBeGOKjtcRIyTt4VaO3k1TkNgVTe5Ov2lYsYVuyLp0kp8DItO3apewflM+1GYgh6V2Q==",
       "dev": true,
       "requires": {
-        "cacache": "^12.0.3",
-        "find-cache-dir": "^2.1.0",
-        "glob-parent": "^3.1.0",
-        "globby": "^7.1.1",
-        "is-glob": "^4.0.1",
-        "loader-utils": "^1.2.3",
-        "minimatch": "^3.0.4",
+        "cacache": "^15.0.4",
+        "fast-glob": "^3.2.2",
+        "find-cache-dir": "^3.3.1",
+        "glob-parent": "^5.1.1",
+        "globby": "^11.0.1",
+        "loader-utils": "^2.0.0",
         "normalize-path": "^3.0.0",
-        "p-limit": "^2.2.1",
-        "schema-utils": "^1.0.0",
-        "serialize-javascript": "^2.1.2",
-        "webpack-log": "^2.0.0"
+        "p-limit": "^2.3.0",
+        "schema-utils": "^2.7.0",
+        "serialize-javascript": "^3.1.0",
+        "webpack-sources": "^1.4.3"
       },
       "dependencies": {
+        "@nodelib/fs.stat": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+          "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+          "dev": true
+        },
+        "ajv": {
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+          "dev": true,
+          "requires": {
+            "fill-range": "^7.0.1"
+          }
+        },
         "cacache": {
-          "version": "12.0.4",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz",
-          "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==",
+          "version": "15.0.4",
+          "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz",
+          "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==",
           "dev": true,
           "requires": {
-            "bluebird": "^3.5.5",
-            "chownr": "^1.1.1",
-            "figgy-pudding": "^3.5.1",
+            "@npmcli/move-file": "^1.0.1",
+            "chownr": "^2.0.0",
+            "fs-minipass": "^2.0.0",
             "glob": "^7.1.4",
-            "graceful-fs": "^4.1.15",
-            "infer-owner": "^1.0.3",
+            "infer-owner": "^1.0.4",
             "lru-cache": "^5.1.1",
-            "mississippi": "^3.0.0",
-            "mkdirp": "^0.5.1",
-            "move-concurrently": "^1.0.1",
+            "minipass": "^3.1.1",
+            "minipass-collect": "^1.0.2",
+            "minipass-flush": "^1.0.5",
+            "minipass-pipeline": "^1.2.2",
+            "mkdirp": "^1.0.3",
+            "p-map": "^4.0.0",
             "promise-inflight": "^1.0.1",
-            "rimraf": "^2.6.3",
-            "ssri": "^6.0.1",
-            "unique-filename": "^1.1.1",
-            "y18n": "^4.0.0"
+            "rimraf": "^3.0.2",
+            "ssri": "^8.0.0",
+            "tar": "^6.0.2",
+            "unique-filename": "^1.1.1"
           }
         },
-        "find-cache-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
-          "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==",
+        "chownr": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+          "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+          "dev": true
+        },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "fast-glob": {
+          "version": "3.2.4",
+          "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+          "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
           "dev": true,
           "requires": {
-            "commondir": "^1.0.1",
-            "make-dir": "^2.0.0",
-            "pkg-dir": "^3.0.0"
+            "@nodelib/fs.stat": "^2.0.2",
+            "@nodelib/fs.walk": "^1.2.3",
+            "glob-parent": "^5.1.0",
+            "merge2": "^1.3.0",
+            "micromatch": "^4.0.2",
+            "picomatch": "^2.2.1"
+          }
+        },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+          "dev": true,
+          "requires": {
+            "to-regex-range": "^5.0.1"
           }
         },
         "glob": {
@@ -5990,6 +5840,15 @@
             "path-is-absolute": "^1.0.0"
           }
         },
+        "glob-parent": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+          "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
         "is-glob": {
           "version": "4.0.1",
           "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
@@ -5999,25 +5858,11 @@
             "is-extglob": "^2.1.1"
           }
         },
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+          "dev": true
         },
         "lru-cache": {
           "version": "5.1.1",
@@ -6028,20 +5873,26 @@
             "yallist": "^3.0.2"
           }
         },
-        "make-dir": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
-          "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+        "merge2": {
+          "version": "1.4.1",
+          "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+          "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+          "dev": true
+        },
+        "micromatch": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+          "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
           "dev": true,
           "requires": {
-            "pify": "^4.0.1",
-            "semver": "^5.6.0"
+            "braces": "^3.0.1",
+            "picomatch": "^2.0.5"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+        "mkdirp": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
           "dev": true
         },
         "normalize-path": {
@@ -6050,25 +5901,57 @@
           "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
           "dev": true
         },
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-          "dev": true
+        "p-limit": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+          "dev": true,
+          "requires": {
+            "p-try": "^2.0.0"
+          }
         },
-        "semver": {
-          "version": "5.7.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+        "p-map": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+          "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+          "dev": true,
+          "requires": {
+            "aggregate-error": "^3.0.0"
+          }
+        },
+        "picomatch": {
+          "version": "2.2.2",
+          "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+          "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
           "dev": true
         },
-        "ssri": {
-          "version": "6.0.1",
-          "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz",
-          "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==",
+        "rimraf": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
           "dev": true,
           "requires": {
-            "figgy-pudding": "^3.5.1"
+            "glob": "^7.1.3"
+          }
+        },
+        "schema-utils": {
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
+            "ajv-keywords": "^3.4.1"
+          }
+        },
+        "to-regex-range": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+          "dev": true,
+          "requires": {
+            "is-number": "^7.0.0"
           }
         },
         "yallist": {
@@ -6908,12 +6791,6 @@
             "json5": "^1.0.1"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "normalize-path": {
           "version": "3.0.0",
           "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -8046,9 +7923,9 @@
       }
     },
     "electron": {
-      "version": "9.0.3",
-      "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.3.tgz",
-      "integrity": "sha512-rY59wy50z0oWp/q69zq0UIzvtcM5j2BJbLAwEoLfVNS3DLt9wDZqRqSIBvLEBl+xWbafCnRA9haEqi7ssM94GA==",
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.5.tgz",
+      "integrity": "sha512-bnL9H48LuQ250DML8xUscsKiuSu+xv5umXbpBXYJ0BfvYVmFfNbG3jCfhrsH7aP6UcQKVxOG1R/oQExd0EFneQ==",
       "dev": true,
       "requires": {
         "@electron/get": "^1.0.1",
@@ -8057,9 +7934,9 @@
       },
       "dependencies": {
         "@types/node": {
-          "version": "12.12.45",
-          "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.45.tgz",
-          "integrity": "sha512-9w50wqeS0qQH9bo1iIRcQhDXRxoDzyAqCL5oJG+Nuu7cAoe6omGo+YDE0spAGK5sPrdLDhQLbQxq0DnxyndPKA==",
+          "version": "12.12.47",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.47.tgz",
+          "integrity": "sha512-yzBInQFhdY8kaZmqoL2+3U5dSTMrKaYcb561VU+lDzAYvqt+2lojvBEy+hmpSNuXnPTx7m9+04CzWYOUqWME2A==",
           "dev": true
         }
       }
@@ -8398,9 +8275,9 @@
       }
     },
     "electron-to-chromium": {
-      "version": "1.3.465",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.465.tgz",
-      "integrity": "sha512-K/lUeT3NLAsJ5SHRDhK3/zd0tw7OUllYD8w+fTOXm6ljCPsp2qq+vMzxpLo8u1M27ZjZAjRbsA6rirvne2nAMQ==",
+      "version": "1.3.482",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.482.tgz",
+      "integrity": "sha512-iRK2JHR6Q3x20Pkl1Rf+gzalOwmVG+PF2J9BHiVOCPotloQmDSG6dT+Vtf2D+3JT3fpzoDNdtHgGuRO6OAUlhQ==",
       "dev": true
     },
     "elementtree": {
@@ -8419,9 +8296,9 @@
       }
     },
     "elliptic": {
-      "version": "6.5.2",
-      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz",
-      "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==",
+      "version": "6.5.3",
+      "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.3.tgz",
+      "integrity": "sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw==",
       "dev": true,
       "requires": {
         "bn.js": "^4.4.0",
@@ -8768,6 +8645,12 @@
         "ext": "^1.1.2"
       }
     },
+    "escalade": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.0.1.tgz",
+      "integrity": "sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA==",
+      "dev": true
+    },
     "escape-goat": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-2.1.1.tgz",
@@ -9301,23 +9184,6 @@
         "debug": "^2.6.9",
         "mkdirp": "^0.5.4",
         "yauzl": "^2.10.0"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
-        "mkdirp": {
-          "version": "0.5.5",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
-          "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.5"
-          }
-        }
       }
     },
     "extsprintf": {
@@ -9407,6 +9273,15 @@
       "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
       "dev": true
     },
+    "fastq": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
+      "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==",
+      "dev": true,
+      "requires": {
+        "reusify": "^1.0.4"
+      }
+    },
     "faye-websocket": {
       "version": "0.10.0",
       "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
@@ -9426,9 +9301,9 @@
       }
     },
     "figgy-pudding": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.1.tgz",
-      "integrity": "sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==",
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
+      "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==",
       "dev": true
     },
     "figures": {
@@ -10458,7 +10333,8 @@
     "genfun": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz",
-      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA=="
+      "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==",
+      "dev": true
     },
     "gensync": {
       "version": "1.0.0-beta.1",
@@ -10472,6 +10348,12 @@
       "integrity": "sha512-mBBwmeGTrxEMO4pMaaf/uUEFHnYtwr8FTe8Y/mer4rcV/bye0qGm6pw1bGZFGStxC5O76c5ZAVBGnqHmOaJpdQ==",
       "dev": true
     },
+    "get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "dev": true
+    },
     "get-stream": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz",
@@ -10597,17 +10479,145 @@
       }
     },
     "globby": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz",
-      "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=",
+      "version": "11.0.1",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz",
+      "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==",
       "dev": true,
       "requires": {
-        "array-union": "^1.0.1",
-        "dir-glob": "^2.0.0",
-        "glob": "^7.1.2",
-        "ignore": "^3.3.5",
-        "pify": "^3.0.0",
-        "slash": "^1.0.0"
+        "array-union": "^2.1.0",
+        "dir-glob": "^3.0.1",
+        "fast-glob": "^3.1.1",
+        "ignore": "^5.1.4",
+        "merge2": "^1.3.0",
+        "slash": "^3.0.0"
+      },
+      "dependencies": {
+        "@nodelib/fs.stat": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+          "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
+          "dev": true
+        },
+        "array-union": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+          "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+          "dev": true
+        },
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+          "dev": true,
+          "requires": {
+            "fill-range": "^7.0.1"
+          }
+        },
+        "dir-glob": {
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+          "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+          "dev": true,
+          "requires": {
+            "path-type": "^4.0.0"
+          }
+        },
+        "fast-glob": {
+          "version": "3.2.4",
+          "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+          "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+          "dev": true,
+          "requires": {
+            "@nodelib/fs.stat": "^2.0.2",
+            "@nodelib/fs.walk": "^1.2.3",
+            "glob-parent": "^5.1.0",
+            "merge2": "^1.3.0",
+            "micromatch": "^4.0.2",
+            "picomatch": "^2.2.1"
+          }
+        },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+          "dev": true,
+          "requires": {
+            "to-regex-range": "^5.0.1"
+          }
+        },
+        "glob-parent": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+          "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+          "dev": true,
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "ignore": {
+          "version": "5.1.8",
+          "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz",
+          "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==",
+          "dev": true
+        },
+        "is-glob": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+          "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+          "dev": true,
+          "requires": {
+            "is-extglob": "^2.1.1"
+          }
+        },
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+          "dev": true
+        },
+        "merge2": {
+          "version": "1.4.1",
+          "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+          "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+          "dev": true
+        },
+        "micromatch": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+          "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+          "dev": true,
+          "requires": {
+            "braces": "^3.0.1",
+            "picomatch": "^2.0.5"
+          }
+        },
+        "path-type": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+          "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+          "dev": true
+        },
+        "picomatch": {
+          "version": "2.2.2",
+          "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+          "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
+          "dev": true
+        },
+        "slash": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+          "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+          "dev": true
+        },
+        "to-regex-range": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+          "dev": true,
+          "requires": {
+            "is-number": "^7.0.0"
+          }
+        }
       }
     },
     "good-listener": {
@@ -12157,14 +12167,6 @@
       "dev": true,
       "requires": {
         "minimist": "^1.2.5"
-      },
-      "dependencies": {
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        }
       }
     },
     "jsonfile": {
@@ -12206,9 +12208,9 @@
       }
     },
     "karma": {
-      "version": "5.0.9",
-      "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.9.tgz",
-      "integrity": "sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg==",
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/karma/-/karma-5.1.0.tgz",
+      "integrity": "sha512-I3aPbkuIbwuBo6wSog97P5WnnhCgUTsWTu/bEw1vZVQFbXmKO3PK+cfFhZioOgVtJAuQxoyauGNjnwXNHMCxbw==",
       "dev": true,
       "requires": {
         "body-parser": "^1.19.0",
@@ -12237,22 +12239,6 @@
         "yargs": "^15.3.1"
       },
       "dependencies": {
-        "ansi-regex": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
-          "dev": true
-        },
-        "ansi-styles": {
-          "version": "4.2.1",
-          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
-          "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
-          "dev": true,
-          "requires": {
-            "@types/color-name": "^1.1.1",
-            "color-convert": "^2.0.1"
-          }
-        },
         "braces": {
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
@@ -12262,26 +12248,6 @@
             "fill-range": "^7.0.1"
           }
         },
-        "cliui": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz",
-          "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==",
-          "dev": true,
-          "requires": {
-            "string-width": "^4.2.0",
-            "strip-ansi": "^6.0.0",
-            "wrap-ansi": "^6.2.0"
-          }
-        },
-        "color-convert": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
-          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
-          "dev": true,
-          "requires": {
-            "color-name": "~1.1.4"
-          }
-        },
         "connect": {
           "version": "3.7.0",
           "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz",
@@ -12294,12 +12260,6 @@
             "utils-merge": "1.0.1"
           }
         },
-        "eventemitter3": {
-          "version": "4.0.4",
-          "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.4.tgz",
-          "integrity": "sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==",
-          "dev": true
-        },
         "fill-range": {
           "version": "7.0.1",
           "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -12319,12 +12279,6 @@
             "path-exists": "^4.0.0"
           }
         },
-        "get-caller-file": {
-          "version": "2.0.5",
-          "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
-          "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
-          "dev": true
-        },
         "glob": {
           "version": "7.1.6",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@@ -12345,23 +12299,6 @@
           "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
           "dev": true
         },
-        "http-proxy": {
-          "version": "1.18.1",
-          "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
-          "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
-          "dev": true,
-          "requires": {
-            "eventemitter3": "^4.0.0",
-            "follow-redirects": "^1.0.0",
-            "requires-port": "^1.0.0"
-          }
-        },
-        "is-fullwidth-code-point": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-          "dev": true
-        },
         "is-number": {
           "version": "7.0.0",
           "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
@@ -12410,12 +12347,6 @@
           "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
           "dev": true
         },
-        "require-main-filename": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
-          "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
-          "dev": true
-        },
         "rimraf": {
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
@@ -12431,26 +12362,6 @@
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
           "dev": true
         },
-        "string-width": {
-          "version": "4.2.0",
-          "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
-          "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
-          "dev": true,
-          "requires": {
-            "emoji-regex": "^8.0.0",
-            "is-fullwidth-code-point": "^3.0.0",
-            "strip-ansi": "^6.0.0"
-          }
-        },
-        "strip-ansi": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
-          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
-          "dev": true,
-          "requires": {
-            "ansi-regex": "^5.0.0"
-          }
-        },
         "tmp": {
           "version": "0.2.1",
           "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
@@ -12469,17 +12380,6 @@
             "is-number": "^7.0.0"
           }
         },
-        "wrap-ansi": {
-          "version": "6.2.0",
-          "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
-          "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
-          "dev": true,
-          "requires": {
-            "ansi-styles": "^4.0.0",
-            "string-width": "^4.1.0",
-            "strip-ansi": "^6.0.0"
-          }
-        },
         "yargs": {
           "version": "15.3.1",
           "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz",
@@ -12498,16 +12398,6 @@
             "y18n": "^4.0.0",
             "yargs-parser": "^18.1.1"
           }
-        },
-        "yargs-parser": {
-          "version": "18.1.3",
-          "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
-          "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
-          "dev": true,
-          "requires": {
-            "camelcase": "^5.0.0",
-            "decamelize": "^1.2.0"
-          }
         }
       }
     },
@@ -12622,23 +12512,48 @@
       "dev": true
     },
     "less": {
-      "version": "3.11.1",
-      "resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz",
-      "integrity": "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==",
+      "version": "3.11.3",
+      "resolved": "https://registry.npmjs.org/less/-/less-3.11.3.tgz",
+      "integrity": "sha512-VkZiTDdtNEzXA3LgjQiC3D7/ejleBPFVvq+aRI9mIj+Zhmif5TvFPM244bT4rzkvOCvJ9q4zAztok1M7Nygagw==",
       "dev": true,
       "requires": {
         "clone": "^2.1.2",
         "errno": "^0.1.1",
         "graceful-fs": "^4.1.2",
         "image-size": "~0.5.0",
+        "make-dir": "^2.1.0",
         "mime": "^1.4.1",
-        "mkdirp": "^0.5.0",
         "promise": "^7.1.1",
         "request": "^2.83.0",
         "source-map": "~0.6.0",
         "tslib": "^1.10.0"
       },
       "dependencies": {
+        "make-dir": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+          "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
+          "dev": true,
+          "optional": true,
+          "requires": {
+            "pify": "^4.0.1",
+            "semver": "^5.6.0"
+          }
+        },
+        "pify": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+          "dev": true,
+          "optional": true
+        },
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+          "dev": true,
+          "optional": true
+        },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -12685,12 +12600,6 @@
             "json5": "^1.0.1"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "pify": {
           "version": "4.0.1",
           "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
@@ -13049,9 +12958,9 @@
       "dev": true
     },
     "magic-string": {
-      "version": "0.25.4",
-      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.4.tgz",
-      "integrity": "sha512-oycWO9nEVAP2RVPbIoDoA4Y7LFIJ3xRYov93gAyJhZkET1tNuB0u7uWkZS2LpBWTJUWnmau/To8ECWRC+jKNfw==",
+      "version": "0.25.7",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
+      "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
       "dev": true,
       "requires": {
         "sourcemap-codec": "^1.4.4"
@@ -13418,12 +13327,6 @@
             "json5": "^1.0.1"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "normalize-url": {
           "version": "1.9.1",
           "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz",
@@ -13538,28 +13441,19 @@
       }
     },
     "minizlib": {
-      "version": "1.3.3",
-      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
-      "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz",
+      "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==",
       "dev": true,
       "requires": {
-        "minipass": "^2.9.0"
+        "minipass": "^3.0.0",
+        "yallist": "^4.0.0"
       },
       "dependencies": {
-        "minipass": {
-          "version": "2.9.0",
-          "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
-          "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "^5.1.2",
-            "yallist": "^3.0.0"
-          }
-        },
         "yallist": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
           "dev": true
         }
       }
@@ -14178,22 +14072,22 @@
       },
       "dependencies": {
         "es-abstract": {
-          "version": "1.17.4",
-          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.4.tgz",
-          "integrity": "sha512-Ae3um/gb8F0mui/jPL+QiqmglkUsaQf7FwBEHYIFkztkneosu9imhqHpBzQ3h1vit8t5iQ74t6PEVvphBZiuiQ==",
+          "version": "1.17.6",
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
+          "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
           "dev": true,
           "requires": {
             "es-to-primitive": "^1.2.1",
             "function-bind": "^1.1.1",
             "has": "^1.0.3",
             "has-symbols": "^1.0.1",
-            "is-callable": "^1.1.5",
-            "is-regex": "^1.0.5",
+            "is-callable": "^1.2.0",
+            "is-regex": "^1.1.0",
             "object-inspect": "^1.7.0",
             "object-keys": "^1.1.1",
             "object.assign": "^4.1.0",
-            "string.prototype.trimleft": "^2.1.1",
-            "string.prototype.trimright": "^2.1.1"
+            "string.prototype.trimend": "^1.0.1",
+            "string.prototype.trimstart": "^1.0.1"
           }
         },
         "es-to-primitive": {
@@ -14214,24 +14108,24 @@
           "dev": true
         },
         "is-callable": {
-          "version": "1.1.5",
-          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz",
-          "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==",
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
+          "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
           "dev": true
         },
         "is-regex": {
-          "version": "1.0.5",
-          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz",
-          "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==",
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
+          "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
           "dev": true,
           "requires": {
-            "has": "^1.0.3"
+            "has-symbols": "^1.0.1"
           }
         },
         "object-inspect": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
-          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+          "version": "1.8.0",
+          "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+          "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
           "dev": true
         },
         "object-keys": {
@@ -14264,22 +14158,22 @@
       },
       "dependencies": {
         "es-abstract": {
-          "version": "1.17.5",
-          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
-          "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+          "version": "1.17.6",
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
+          "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
           "dev": true,
           "requires": {
             "es-to-primitive": "^1.2.1",
             "function-bind": "^1.1.1",
             "has": "^1.0.3",
             "has-symbols": "^1.0.1",
-            "is-callable": "^1.1.5",
-            "is-regex": "^1.0.5",
+            "is-callable": "^1.2.0",
+            "is-regex": "^1.1.0",
             "object-inspect": "^1.7.0",
             "object-keys": "^1.1.1",
             "object.assign": "^4.1.0",
-            "string.prototype.trimleft": "^2.1.1",
-            "string.prototype.trimright": "^2.1.1"
+            "string.prototype.trimend": "^1.0.1",
+            "string.prototype.trimstart": "^1.0.1"
           }
         },
         "es-to-primitive": {
@@ -14315,9 +14209,9 @@
           }
         },
         "object-inspect": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
-          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+          "version": "1.8.0",
+          "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+          "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
           "dev": true
         },
         "object-keys": {
@@ -14744,6 +14638,15 @@
             }
           }
         },
+        "fs-minipass": {
+          "version": "1.2.7",
+          "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
+          "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
+          "dev": true,
+          "requires": {
+            "minipass": "^2.6.0"
+          }
+        },
         "get-stream": {
           "version": "4.1.0",
           "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
@@ -14772,6 +14675,15 @@
             "yallist": "^3.0.0"
           }
         },
+        "minizlib": {
+          "version": "1.3.3",
+          "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz",
+          "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==",
+          "dev": true,
+          "requires": {
+            "minipass": "^2.9.0"
+          }
+        },
         "npm-pick-manifest": {
           "version": "3.0.2",
           "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz",
@@ -14798,6 +14710,21 @@
             "figgy-pudding": "^3.5.1"
           }
         },
+        "tar": {
+          "version": "4.4.13",
+          "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
+          "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+          "dev": true,
+          "requires": {
+            "chownr": "^1.1.1",
+            "fs-minipass": "^1.2.5",
+            "minipass": "^2.8.6",
+            "minizlib": "^1.2.1",
+            "mkdirp": "^0.5.0",
+            "safe-buffer": "^5.1.2",
+            "yallist": "^3.0.3"
+          }
+        },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -15304,12 +15231,6 @@
             "emojis-list": "^3.0.0",
             "json5": "^1.0.1"
           }
-        },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
         }
       }
     },
@@ -16302,6 +16223,15 @@
       "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
       "dev": true
     },
+    "pupa": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/pupa/-/pupa-2.0.1.tgz",
+      "integrity": "sha512-hEJH0s8PXLY/cdXh66tNEQGndDrIKNqNC5xmrysZy3i5C3oEoLna7YAOad+7u125+zH1HNXUmGEkrhb3c2VriA==",
+      "dev": true,
+      "requires": {
+        "escape-goat": "^2.0.0"
+      }
+    },
     "q": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz",
@@ -16485,12 +16415,6 @@
             "json5": "^1.0.1"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "schema-utils": {
           "version": "2.7.0",
           "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
@@ -16820,6 +16744,12 @@
       "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
       "dev": true
     },
+    "require-main-filename": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz",
+      "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==",
+      "dev": true
+    },
     "requires-port": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
@@ -16904,6 +16834,12 @@
       "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=",
       "dev": true
     },
+    "reusify": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+      "dev": true
+    },
     "rfdc": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz",
@@ -16997,6 +16933,12 @@
         "is-promise": "^2.1.0"
       }
     },
+    "run-parallel": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
+      "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
+      "dev": true
+    },
     "run-queue": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz",
@@ -17115,12 +17057,6 @@
             "json5": "^1.0.1"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "neo-async": {
           "version": "2.6.1",
           "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
@@ -17358,13 +17294,25 @@
       "optional": true,
       "requires": {
         "type-fest": "^0.13.1"
+      },
+      "dependencies": {
+        "type-fest": {
+          "version": "0.13.1",
+          "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
+          "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
+          "dev": true,
+          "optional": true
+        }
       }
     },
     "serialize-javascript": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz",
-      "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==",
-      "dev": true
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
+      "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
+      "dev": true,
+      "requires": {
+        "randombytes": "^2.1.0"
+      }
     },
     "serve-index": {
       "version": "1.9.1",
@@ -17909,12 +17857,6 @@
             "emojis-list": "^3.0.0",
             "json5": "^1.0.1"
           }
-        },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
         }
       }
     },
@@ -18316,6 +18258,40 @@
       "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=",
       "dev": true
     },
+    "string-width": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz",
+      "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==",
+      "dev": true,
+      "requires": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
+          "dev": true
+        },
+        "is-fullwidth-code-point": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+          "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+          "dev": true
+        },
+        "strip-ansi": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^5.0.0"
+          }
+        }
+      }
+    },
     "string.prototype.codepointat": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/string.prototype.codepointat/-/string.prototype.codepointat-0.2.1.tgz",
@@ -18331,24 +18307,154 @@
         "function-bind": "^1.0.2"
       }
     },
-    "string.prototype.trimleft": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.1.tgz",
-      "integrity": "sha512-iu2AGd3PuP5Rp7x2kEZCrB2Nf41ehzh+goo8TV7z8/XDBbsvc6HQIlUl9RjkZ4oyrW1XM5UwlGl1oVEaDjg6Ag==",
+    "string.prototype.trimend": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz",
+      "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==",
       "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
-        "function-bind": "^1.1.1"
+        "es-abstract": "^1.17.5"
+      },
+      "dependencies": {
+        "es-abstract": {
+          "version": "1.17.6",
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
+          "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
+          "dev": true,
+          "requires": {
+            "es-to-primitive": "^1.2.1",
+            "function-bind": "^1.1.1",
+            "has": "^1.0.3",
+            "has-symbols": "^1.0.1",
+            "is-callable": "^1.2.0",
+            "is-regex": "^1.1.0",
+            "object-inspect": "^1.7.0",
+            "object-keys": "^1.1.1",
+            "object.assign": "^4.1.0",
+            "string.prototype.trimend": "^1.0.1",
+            "string.prototype.trimstart": "^1.0.1"
+          }
+        },
+        "es-to-primitive": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+          "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+          "dev": true,
+          "requires": {
+            "is-callable": "^1.1.4",
+            "is-date-object": "^1.0.1",
+            "is-symbol": "^1.0.2"
+          }
+        },
+        "has-symbols": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+          "dev": true
+        },
+        "is-callable": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
+          "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+          "dev": true
+        },
+        "is-regex": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
+          "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
+          "dev": true,
+          "requires": {
+            "has-symbols": "^1.0.1"
+          }
+        },
+        "object-inspect": {
+          "version": "1.8.0",
+          "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+          "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
+          "dev": true
+        },
+        "object-keys": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+          "dev": true
+        }
       }
     },
-    "string.prototype.trimright": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.1.tgz",
-      "integrity": "sha512-qFvWL3/+QIgZXVmJBfpHmxLB7xsUXz6HsUmP8+5dRaC3Q7oKUv9Vo6aMCRZC1smrtyECFsIT30PqBJ1gTjAs+g==",
+    "string.prototype.trimstart": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz",
+      "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==",
       "dev": true,
       "requires": {
         "define-properties": "^1.1.3",
-        "function-bind": "^1.1.1"
+        "es-abstract": "^1.17.5"
+      },
+      "dependencies": {
+        "es-abstract": {
+          "version": "1.17.6",
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
+          "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
+          "dev": true,
+          "requires": {
+            "es-to-primitive": "^1.2.1",
+            "function-bind": "^1.1.1",
+            "has": "^1.0.3",
+            "has-symbols": "^1.0.1",
+            "is-callable": "^1.2.0",
+            "is-regex": "^1.1.0",
+            "object-inspect": "^1.7.0",
+            "object-keys": "^1.1.1",
+            "object.assign": "^4.1.0",
+            "string.prototype.trimend": "^1.0.1",
+            "string.prototype.trimstart": "^1.0.1"
+          }
+        },
+        "es-to-primitive": {
+          "version": "1.2.1",
+          "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+          "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+          "dev": true,
+          "requires": {
+            "is-callable": "^1.1.4",
+            "is-date-object": "^1.0.1",
+            "is-symbol": "^1.0.2"
+          }
+        },
+        "has-symbols": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+          "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+          "dev": true
+        },
+        "is-callable": {
+          "version": "1.2.0",
+          "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz",
+          "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==",
+          "dev": true
+        },
+        "is-regex": {
+          "version": "1.1.0",
+          "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz",
+          "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==",
+          "dev": true,
+          "requires": {
+            "has-symbols": "^1.0.1"
+          }
+        },
+        "object-inspect": {
+          "version": "1.8.0",
+          "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+          "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
+          "dev": true
+        },
+        "object-keys": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+          "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+          "dev": true
+        }
       }
     },
     "string_decoder": {
@@ -18442,12 +18548,6 @@
             "json5": "^1.0.1"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "schema-utils": {
           "version": "2.7.0",
           "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
@@ -18563,12 +18663,6 @@
             "emojis-list": "^3.0.0",
             "json5": "^1.0.1"
           }
-        },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
         }
       }
     },
@@ -18738,43 +18832,35 @@
       }
     },
     "tar": {
-      "version": "4.4.13",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz",
-      "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==",
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz",
+      "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==",
       "dev": true,
       "requires": {
-        "chownr": "^1.1.1",
-        "fs-minipass": "^1.2.5",
-        "minipass": "^2.8.6",
-        "minizlib": "^1.2.1",
-        "mkdirp": "^0.5.0",
-        "safe-buffer": "^5.1.2",
-        "yallist": "^3.0.3"
+        "chownr": "^2.0.0",
+        "fs-minipass": "^2.0.0",
+        "minipass": "^3.0.0",
+        "minizlib": "^2.1.0",
+        "mkdirp": "^1.0.3",
+        "yallist": "^4.0.0"
       },
       "dependencies": {
-        "fs-minipass": {
-          "version": "1.2.7",
-          "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
-          "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==",
-          "dev": true,
-          "requires": {
-            "minipass": "^2.6.0"
-          }
+        "chownr": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+          "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+          "dev": true
         },
-        "minipass": {
-          "version": "2.9.0",
-          "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz",
-          "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==",
-          "dev": true,
-          "requires": {
-            "safe-buffer": "^5.1.2",
-            "yallist": "^3.0.0"
-          }
+        "mkdirp": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+          "dev": true
         },
         "yallist": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
           "dev": true
         }
       }
@@ -18872,19 +18958,19 @@
       }
     },
     "terser-webpack-plugin": {
-      "version": "2.3.5",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz",
-      "integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.3.tgz",
+      "integrity": "sha512-bZFnotuIKq5Rqzrs+qIwFzGdKdffV9epG5vDSEbYzvKAhPeR5RbbrQysfPgbIIMhNAQtZD2hGwBfSKUXjXZZZw==",
       "dev": true,
       "requires": {
-        "cacache": "^13.0.1",
-        "find-cache-dir": "^3.2.0",
-        "jest-worker": "^25.1.0",
-        "p-limit": "^2.2.2",
-        "schema-utils": "^2.6.4",
-        "serialize-javascript": "^2.1.2",
+        "cacache": "^15.0.4",
+        "find-cache-dir": "^3.3.1",
+        "jest-worker": "^26.0.0",
+        "p-limit": "^2.3.0",
+        "schema-utils": "^2.6.6",
+        "serialize-javascript": "^3.1.0",
         "source-map": "^0.6.1",
-        "terser": "^4.4.3",
+        "terser": "^4.6.13",
         "webpack-sources": "^1.4.3"
       },
       "dependencies": {
@@ -18901,31 +18987,36 @@
           }
         },
         "cacache": {
-          "version": "13.0.1",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz",
-          "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==",
+          "version": "15.0.4",
+          "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz",
+          "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==",
           "dev": true,
           "requires": {
-            "chownr": "^1.1.2",
-            "figgy-pudding": "^3.5.1",
+            "@npmcli/move-file": "^1.0.1",
+            "chownr": "^2.0.0",
             "fs-minipass": "^2.0.0",
             "glob": "^7.1.4",
-            "graceful-fs": "^4.2.2",
             "infer-owner": "^1.0.4",
             "lru-cache": "^5.1.1",
-            "minipass": "^3.0.0",
+            "minipass": "^3.1.1",
             "minipass-collect": "^1.0.2",
             "minipass-flush": "^1.0.5",
             "minipass-pipeline": "^1.2.2",
-            "mkdirp": "^0.5.1",
-            "move-concurrently": "^1.0.1",
-            "p-map": "^3.0.0",
+            "mkdirp": "^1.0.3",
+            "p-map": "^4.0.0",
             "promise-inflight": "^1.0.1",
-            "rimraf": "^2.7.1",
-            "ssri": "^7.0.0",
+            "rimraf": "^3.0.2",
+            "ssri": "^8.0.0",
+            "tar": "^6.0.2",
             "unique-filename": "^1.1.1"
           }
         },
+        "chownr": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+          "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
+          "dev": true
+        },
         "fast-deep-equal": {
           "version": "3.1.3",
           "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -18946,12 +19037,22 @@
             "path-is-absolute": "^1.0.0"
           }
         },
-        "graceful-fs": {
-          "version": "4.2.4",
-          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
+        "has-flag": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
           "dev": true
         },
+        "jest-worker": {
+          "version": "26.1.0",
+          "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz",
+          "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==",
+          "dev": true,
+          "requires": {
+            "merge-stream": "^2.0.0",
+            "supports-color": "^7.0.0"
+          }
+        },
         "lru-cache": {
           "version": "5.1.1",
           "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
@@ -18961,6 +19062,12 @@
             "yallist": "^3.0.2"
           }
         },
+        "mkdirp": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
+          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
+          "dev": true
+        },
         "p-limit": {
           "version": "2.3.0",
           "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -18970,13 +19077,22 @@
             "p-try": "^2.0.0"
           }
         },
-        "p-map": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-          "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+        "p-map": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+          "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
+          "dev": true,
+          "requires": {
+            "aggregate-error": "^3.0.0"
+          }
+        },
+        "rimraf": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
           "dev": true,
           "requires": {
-            "aggregate-error": "^3.0.0"
+            "glob": "^7.1.3"
           }
         },
         "schema-utils": {
@@ -18996,20 +19112,19 @@
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
           "dev": true
         },
-        "ssri": {
+        "supports-color": {
           "version": "7.1.0",
-          "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz",
-          "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==",
+          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
           "dev": true,
           "requires": {
-            "figgy-pudding": "^3.5.1",
-            "minipass": "^3.1.1"
+            "has-flag": "^4.0.0"
           }
         },
         "terser": {
-          "version": "4.7.0",
-          "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz",
-          "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==",
+          "version": "4.8.0",
+          "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
+          "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==",
           "dev": true,
           "requires": {
             "commander": "^2.20.0",
@@ -19424,11 +19539,10 @@
       }
     },
     "type-fest": {
-      "version": "0.13.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz",
-      "integrity": "sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==",
-      "dev": true,
-      "optional": true
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz",
+      "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==",
+      "dev": true
     },
     "type-is": {
       "version": "1.6.18",
@@ -20036,22 +20150,22 @@
       },
       "dependencies": {
         "es-abstract": {
-          "version": "1.17.5",
-          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz",
-          "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==",
+          "version": "1.17.6",
+          "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz",
+          "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==",
           "dev": true,
           "requires": {
             "es-to-primitive": "^1.2.1",
             "function-bind": "^1.1.1",
             "has": "^1.0.3",
             "has-symbols": "^1.0.1",
-            "is-callable": "^1.1.5",
-            "is-regex": "^1.0.5",
+            "is-callable": "^1.2.0",
+            "is-regex": "^1.1.0",
             "object-inspect": "^1.7.0",
             "object-keys": "^1.1.1",
             "object.assign": "^4.1.0",
-            "string.prototype.trimleft": "^2.1.1",
-            "string.prototype.trimright": "^2.1.1"
+            "string.prototype.trimend": "^1.0.1",
+            "string.prototype.trimstart": "^1.0.1"
           }
         },
         "es-to-primitive": {
@@ -20087,9 +20201,9 @@
           }
         },
         "object-inspect": {
-          "version": "1.7.0",
-          "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
-          "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+          "version": "1.8.0",
+          "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz",
+          "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==",
           "dev": true
         },
         "object-keys": {
@@ -20194,143 +20308,6 @@
         "graceful-fs": "^4.1.2",
         "neo-async": "^2.5.0",
         "watchpack-chokidar2": "^2.0.0"
-      },
-      "dependencies": {
-        "anymatch": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
-          "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "normalize-path": "^3.0.0",
-            "picomatch": "^2.0.4"
-          }
-        },
-        "binary-extensions": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz",
-          "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==",
-          "dev": true,
-          "optional": true
-        },
-        "braces": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "fill-range": "^7.0.1"
-          }
-        },
-        "chokidar": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz",
-          "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "anymatch": "~3.1.1",
-            "braces": "~3.0.2",
-            "fsevents": "~2.1.2",
-            "glob-parent": "~5.1.0",
-            "is-binary-path": "~2.1.0",
-            "is-glob": "~4.0.1",
-            "normalize-path": "~3.0.0",
-            "readdirp": "~3.4.0"
-          }
-        },
-        "fill-range": {
-          "version": "7.0.1",
-          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "to-regex-range": "^5.0.1"
-          }
-        },
-        "fsevents": {
-          "version": "2.1.3",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
-          "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
-          "dev": true,
-          "optional": true
-        },
-        "glob-parent": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
-          "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-glob": "^4.0.1"
-          }
-        },
-        "is-binary-path": {
-          "version": "2.1.0",
-          "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
-          "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "binary-extensions": "^2.0.0"
-          }
-        },
-        "is-glob": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
-          "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-extglob": "^2.1.1"
-          }
-        },
-        "is-number": {
-          "version": "7.0.0",
-          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
-          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-          "dev": true,
-          "optional": true
-        },
-        "normalize-path": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
-          "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-          "dev": true,
-          "optional": true
-        },
-        "readdirp": {
-          "version": "3.4.0",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
-          "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "picomatch": "^2.2.1"
-          },
-          "dependencies": {
-            "picomatch": {
-              "version": "2.2.2",
-              "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
-              "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
-              "dev": true,
-              "optional": true
-            }
-          }
-        },
-        "to-regex-range": {
-          "version": "5.0.1",
-          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
-          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "is-number": "^7.0.0"
-          }
-        }
       }
     },
     "watchpack-chokidar2": {
@@ -20537,12 +20514,6 @@
             "semver": "^5.6.0"
           }
         },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-          "dev": true
-        },
         "neo-async": {
           "version": "2.6.1",
           "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz",
@@ -20561,15 +20532,6 @@
           "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
           "dev": true
         },
-        "serialize-javascript": {
-          "version": "3.1.0",
-          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
-          "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
-          "dev": true,
-          "requires": {
-            "randombytes": "^2.1.0"
-          }
-        },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -21185,12 +21147,53 @@
             "emojis-list": "^3.0.0",
             "json5": "^1.0.1"
           }
-        },
-        "minimist": {
-          "version": "1.2.5",
-          "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+        }
+      }
+    },
+    "wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
+      "dev": true,
+      "requires": {
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
+      },
+      "dependencies": {
+        "ansi-regex": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
+          "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==",
           "dev": true
+        },
+        "ansi-styles": {
+          "version": "4.2.1",
+          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
+          "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
+          "dev": true,
+          "requires": {
+            "@types/color-name": "^1.1.1",
+            "color-convert": "^2.0.1"
+          }
+        },
+        "color-convert": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+          "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+          "dev": true,
+          "requires": {
+            "color-name": "~1.1.4"
+          }
+        },
+        "strip-ansi": {
+          "version": "6.0.0",
+          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz",
+          "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==",
+          "dev": true,
+          "requires": {
+            "ansi-regex": "^5.0.0"
+          }
         }
       }
     },
@@ -21296,6 +21299,71 @@
       "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
       "dev": true
     },
+    "yargs": {
+      "version": "15.3.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz",
+      "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==",
+      "dev": true,
+      "requires": {
+        "cliui": "^6.0.0",
+        "decamelize": "^1.2.0",
+        "find-up": "^4.1.0",
+        "get-caller-file": "^2.0.1",
+        "require-directory": "^2.1.1",
+        "require-main-filename": "^2.0.0",
+        "set-blocking": "^2.0.0",
+        "string-width": "^4.2.0",
+        "which-module": "^2.0.0",
+        "y18n": "^4.0.0",
+        "yargs-parser": "^18.1.0"
+      },
+      "dependencies": {
+        "find-up": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+          "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+          "dev": true,
+          "requires": {
+            "locate-path": "^5.0.0",
+            "path-exists": "^4.0.0"
+          }
+        },
+        "locate-path": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+          "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+          "dev": true,
+          "requires": {
+            "p-locate": "^4.1.0"
+          }
+        },
+        "p-locate": {
+          "version": "4.1.0",
+          "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+          "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+          "dev": true,
+          "requires": {
+            "p-limit": "^2.2.0"
+          }
+        },
+        "path-exists": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+          "dev": true
+        }
+      }
+    },
+    "yargs-parser": {
+      "version": "18.1.3",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz",
+      "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==",
+      "dev": true,
+      "requires": {
+        "camelcase": "^5.0.0",
+        "decamelize": "^1.2.0"
+      }
+    },
     "yauzl": {
       "version": "2.10.0",
       "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
diff --git a/package.json b/package.json
index 349081643..8e4a1972f 100644
--- a/package.json
+++ b/package.json
@@ -35,17 +35,17 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/animations": "^9.1.9",
+    "@angular/animations": "^9.1.11",
     "@angular/cdk": "^9.2.4",
-    "@angular/common": "^9.1.9",
-    "@angular/compiler": "^9.1.9",
-    "@angular/core": "^9.1.9",
+    "@angular/common": "^9.1.11",
+    "@angular/compiler": "^9.1.11",
+    "@angular/core": "^9.1.11",
     "@angular/flex-layout": "^9.0.0-beta.31",
-    "@angular/forms": "^9.1.9",
+    "@angular/forms": "^9.1.11",
     "@angular/material": "^9.2.4",
-    "@angular/platform-browser": "^9.1.9",
-    "@angular/platform-browser-dynamic": "^9.1.9",
-    "@angular/router": "^9.1.9",
+    "@angular/platform-browser": "^9.1.11",
+    "@angular/platform-browser-dynamic": "^9.1.11",
+    "@angular/router": "^9.1.11",
     "@types/pako": "^1.0.1",
     "@types/sprintf-js": "^1.1.2",
     "angular2-chartjs": "^0.5.1",
@@ -83,23 +83,23 @@
     "zone.js": "^0.10.3"
   },
   "devDependencies": {
-    "@angular-devkit/build-angular": "^0.901.7",
-    "@angular/cli": "^9.1.7",
-    "@angular/compiler-cli": "^9.1.9",
-    "@angular/language-service": "^9.1.9",
+    "@angular-devkit/build-angular": "^0.901.9",
+    "@angular/cli": "^9.1.9",
+    "@angular/compiler-cli": "^9.1.11",
+    "@angular/language-service": "^9.1.11",
     "@compodoc/compodoc": "^1.1.11",
     "@types/file-saver": "^2.0.1",
-    "@types/jasmine": "^3.5.10",
+    "@types/jasmine": "^3.5.11",
     "@types/jasminewd2": "^2.0.8",
-    "@types/node": "^14.0.12",
+    "@types/node": "^14.0.14",
     "codelyzer": "^5.2.2",
     "cordova": "^9.0.0",
-    "electron": "^9.0.3",
+    "electron": "^9.0.5",
     "electron-builder": "^22.7.0",
     "fs-extra": "^9.0.1",
     "jasmine-core": "^3.5.0",
     "jasmine-spec-reporter": "^5.0.2",
-    "karma": "^5.0.9",
+    "karma": "^5.1.0",
     "karma-chrome-launcher": "^3.1.0",
     "karma-cli": "~2.0.0",
     "karma-coverage-istanbul-reporter": "^3.0.3",
-- 
GitLab


From 65b86cf8e7fff22aaf486e1a0d44e4f9ac9e366e Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 25 Jun 2020 11:36:35 +0200
Subject: [PATCH 076/117] PreBarrage: display structures in Cloison form

---
 src/app/calculators/pbcloison/en.json         | 31 +++++++++++++++++-
 src/app/calculators/pbcloison/fr.json         | 32 ++++++++++++++++++-
 .../pb-schema/pb-schema.component.ts          |  5 +++
 .../formulaire/definition/form-definition.ts  |  3 +-
 .../formulaire/definition/form-pb-cloison.ts  |  8 +++++
 .../formulaire/definition/form-prebarrage.ts  | 26 ++++++---------
 6 files changed, 86 insertions(+), 19 deletions(-)

diff --git a/src/app/calculators/pbcloison/en.json b/src/app/calculators/pbcloison/en.json
index bcd280c3a..2f9e94744 100644
--- a/src/app/calculators/pbcloison/en.json
+++ b/src/app/calculators/pbcloison/en.json
@@ -2,5 +2,34 @@
     "fs_wall_params": "Wall parameters",
 
     "select_upstream_basin": "Upstream basin",
-    "select_downstream_basin": "Downstream basin"
+    "select_downstream_basin": "Downstream basin",
+
+    "select_structure_Orifice": "Orifice",
+    "select_structure_VanneRectangulaire": "Rectangular gate",
+    "select_structure_SeuilRectangulaire": "Rectangular weir",
+    "select_structure_SeuilTriangulaire": "Triangular weir",
+    "select_structure_SeuilTriangulaireTrunc": "Truncated triangular weir",
+
+    "select_loidebit_Orifice_OrificeSubmerged": "Submerged orifice",
+    "select_loidebit_Orifice_OrificeFree": "Free orifice",
+
+    "select_loidebit_VanneRectangulaire_GateCem88d": "Weir/Orifice Cemagref 88",
+    "select_loidebit_VanneRectangulaire_GateCem88v": "Weir/Undershot gate Cemagref 88",
+    "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)",
+    "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Free flow gate",
+    "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Submerged gate",
+
+    "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "V-notch sharp-crested weir (Villemonte)",
+    "select_loidebit_SeuilTriangulaire_TriangularWeirBroad": "V-notch broad-crested weir (Bos)",
+
+    "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Truncated triangular weir (Villemonte)",
+
+    "select_loidebit_SeuilRectangulaire_WeirCem88d": "Weir/Orifice Cemagref 88",
+    "select_loidebit_SeuilRectangulaire_WeirCem88v": "Weir/Undershot gate Cemagref 88",
+    "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Submerged slot (Larinier 1992)",
+    "select_loidebit_SeuilRectangulaire_WeirSubmerged": "Submerged weir",
+    "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957",
+    "select_loidebit_SeuilRectangulaire_WeirFree": "Free flow weir",
+    "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter and Villemonte",
+    "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)"
 }
diff --git a/src/app/calculators/pbcloison/fr.json b/src/app/calculators/pbcloison/fr.json
index 4480513b3..e02e713f3 100644
--- a/src/app/calculators/pbcloison/fr.json
+++ b/src/app/calculators/pbcloison/fr.json
@@ -1,6 +1,36 @@
 {
     "fs_wall_params": "Paramètres de la cloison",
+    "fs_wall_device": "Ouvrage",
 
     "select_upstream_basin": "Bassin amont",
-    "select_downstream_basin": "Bassin aval"
+    "select_downstream_basin": "Bassin aval",
+
+    "select_structure_Orifice": "Orifice",
+    "select_structure_SeuilRectangulaire": "Seuil rectangulaire",
+    "select_structure_SeuilTriangulaire": "Seuil triangulaire",
+    "select_structure_SeuilTriangulaireTrunc": "Seuil triangulaire tronqué",
+    "select_structure_VanneRectangulaire": "Vanne rectangulaire",
+
+    "select_loidebit_Orifice_OrificeSubmerged": "Orifice noyé",
+    "select_loidebit_Orifice_OrificeFree": "Orifice dénoyé",
+
+    "select_loidebit_VanneRectangulaire_GateCem88d": "Déversoir/Orifice Cemagref 88",
+    "select_loidebit_VanneRectangulaire_GateCem88v": "Déversoir/Vanne de fond Cemagref 88",
+    "select_loidebit_VanneRectangulaire_GateCunge80": "Cunge (1980)",
+    "select_loidebit_VanneRectangulaire_RectangularOrificeFree": "Vanne dénoyée",
+    "select_loidebit_VanneRectangulaire_RectangularOrificeSubmerged": "Vanne noyée",
+
+    "select_loidebit_SeuilTriangulaire_TriangularWeirFree": "Déversoir triangulaire mince (Villemonte)",
+    "select_loidebit_SeuilTriangulaire_TriangularWeirBroad": "Déversoir triangulaire épais (Bos)",
+
+    "select_loidebit_SeuilTriangulaireTrunc_TriangularTruncWeirFree": "Déversoir triangulaire tronqué (Villemonte)",
+
+    "select_loidebit_SeuilRectangulaire_WeirCem88d": "Déversoir/Orifice Cemagref 88",
+    "select_loidebit_SeuilRectangulaire_WeirCem88v": "Déversoir/Vanne de fond Cemagref 88",
+    "select_loidebit_SeuilRectangulaire_WeirSubmergedLarinier": "Fente noyée (Larinier 1992)",
+    "select_loidebit_SeuilRectangulaire_WeirSubmerged": "Seuil noyé",
+    "select_loidebit_SeuilRectangulaire_WeirVillemonte": "Villemonte 1957",
+    "select_loidebit_SeuilRectangulaire_WeirFree": "Seuil dénoyé",
+    "select_loidebit_SeuilRectangulaire_KIVI": "Kindsvater-Carter et Villemonte",
+    "select_loidebit_SeuilRectangulaire_WeirCunge80": "Cunge (1980)"
 }
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 0dddab78b..fa57966e7 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -78,6 +78,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         });
         this.nativeElement = this.schema.nativeElement;
         this.render();
+        // reset form to river properties (clodo timeout to prevent ExpressionChangedAfterItHasBeenCheckedError)
+        setTimeout(() => {
+            this.unselect();
+        }, 10);
+        // @TODO find a way to remember last selected item ? Through a service ?
     }
 
     private render() {
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index dd6797765..721715aef 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -413,7 +413,8 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
     }
 
     public isDisplayed(id: string) {
-        return (<FormulaireElement>this.getFormulaireNodeById(id)).isDisplayed;
+        const fe = <FormulaireElement>this.getFormulaireNodeById(id);
+        return fe !== undefined && fe.isDisplayed;
     }
 
     /**
diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts
index 90ac294ec..cf9801ef6 100644
--- a/src/app/formulaire/definition/form-pb-cloison.ts
+++ b/src/app/formulaire/definition/form-pb-cloison.ts
@@ -60,6 +60,10 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
                 const oldDownstreamBasin = nub.bassinAval;
                 pb.deleteChild(pb.findChildPosition(nub.uid));
                 const newWall = new PbCloison(newBasin, oldDownstreamBasin);
+                // copy structures
+                for (const s of nub.structures) {
+                    newWall.addChild(s);
+                }
                 pb.addChild(newWall);
                 this.currentNub = newWall;
             } else if (sender.id === this._downstreamBasinSelectId) {
@@ -67,6 +71,10 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
                 const oldUpstreamBasin = nub.bassinAmont;
                 pb.deleteChild(pb.findChildPosition(nub.uid));
                 const newWall = new PbCloison(oldUpstreamBasin, newBasin);
+                // copy structures
+                for (const s of nub.structures) {
+                    newWall.addChild(s);
+                }
                 pb.addChild(newWall);
                 this.currentNub = newWall;
             }
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index 7d69abf7a..063d37ecf 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -21,9 +21,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     /** configuration for re-creating basin form every time needed */
     private basinFormConfig: string;
 
-    /** child form for walls (repeatable devices) */
-    private wallForm: FormulairePbCloison;
-
     /** configuration for re-creating wall form every time needed */
     private wallFormConfig: string;
 
@@ -74,7 +71,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
                 break;
             case "subform_wall":
                 // same as above
-                console.log("===> storing wall form config", json["config"]);
                 this.wallFormConfig = json["config"];
                 break;
         }
@@ -101,18 +97,19 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             this.showFormElements(this.basinForm);
 
         } else if (node instanceof PbCloison) {
-            console.log("---------------> new wall form !!");
-            this.wallForm = new FormulairePbCloison();
-            this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison;
-            this.wallForm.currentNub = node;
-            this.wallForm.preparseConfig(this.wallFormConfig);
-            this.wallForm.parseConfig(this.wallFormConfig);
+            const wallForm = new FormulairePbCloison();
+            wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison;
+            wallForm.currentNub = node;
+            wallForm.preparseConfig(this.wallFormConfig);
+            wallForm.parseConfig(this.wallFormConfig);
+            // subscribe to upstream/downstream basin change
+            wallForm.addObserver(this); // @TODO why not this.form ? wallForm is just a dummy form to extract elements from…
+            ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(wallForm);
             // add fieldsets for existing Structures
             console.log(`Node ${node.uid} : ${node.structures.length} structures, Form ${this.uid} : ${this._kids.length} form elements`);
             if (node.structures.length > 0) {
-                console.log(">> adding fieldsets for existing structures");
                 for (const struct of node.structures) {
-                    for (const e of this.allFormElements) {
+                    for (const e of wallForm.allFormElements) {
                         if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ?
                             e.addFromTemplate(0, undefined, struct);
                         }
@@ -122,10 +119,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
                 // if there was no existing structure, add a default one ! @TODO
                 console.log("TODO add default structure");
             }
-            // subscribe to upstream/downstream basin change
-            this.wallForm.addObserver(this);
-            ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.wallForm);
-            this.showFormElements(this.wallForm);
+            this.showFormElements(wallForm);
         }
     }
 
-- 
GitLab


From 94967039c10301b5ba8566ccea1eb9af6f11cc31 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 25 Jun 2020 15:30:38 +0200
Subject: [PATCH 077/117] PreBarrage: improved calculator template

---
 .../calculator.component.html                 | 63 ++++++++++++-------
 .../calculator.component.scss                 |  4 ++
 2 files changed, 46 insertions(+), 21 deletions(-)

diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html
index 9cb4f5d2f..6ef040218 100644
--- a/src/app/components/generic-calculator/calculator.component.html
+++ b/src/app/components/generic-calculator/calculator.component.html
@@ -70,19 +70,53 @@
                   [fxFlex.lt-sm]="isWide ? '1 0 auto' : '1 0 300px'">
 
                     <div id="calc-card-field-sets-container" [fxLayout]="isPB ? 'row wrap' : 'column'">
-                        
-                        <ng-template ngFor let-fe [ngForOf]="formElements">
+
+                        <!-- PB specific template -->
+                        <div *ngIf="isPB" id="pb-schema-container"
+                            fxFlex.gt-sm="1 0 400px"
+                            fxFlex.lt-md="1 0 500px"
+                            fxFlex.lt-sm="1 0 300px">
+
+                            <pb-schema [pbSchema]="formElements[0]" (radio)=onRadioClick($event)
+                                (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)">
+                            </pb-schema>
+
+                            <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div>
+                        </div>
+                        <!-- PB specific template (2) -->
+                        <div *ngIf="isPB" id="pb-form-container" [hidden]="! showPBInputData"
+                            fxFlex.gt-sm="1 0 400px"
+                            fxFlex.lt-md="1 0 500px"
+                            fxFlex.lt-sm="1 0 300px">
+
+                            <ng-template ngFor let-fe [ngForOf]="formElements">
+                                <field-set *ngIf="isFieldset(fe)"
+                                    [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe
+                                    (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
+                                    (tabPressed)="onTabPressed($event)">
+                                </field-set>
+
+                                <fieldset-container *ngIf="isFieldsetContainer(fe)"
+                                    [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe
+                                    (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
+                                    (tabPressed)="onTabPressed($event)">
+                                </fieldset-container>
+                            </ng-template>
+                        </div>
+
+                        <!-- generic template -->
+                        <ng-template *ngIf="! isPB" ngFor let-fe [ngForOf]="formElements">
                             <field-set *ngIf="isFieldset(fe)"
-                                [hidden]="isPB && ! showPBInputData" [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe
+                                [style.display]="getElementStyleDisplay(fe.id)" [fieldSet]=fe
                                 (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
                                 (tabPressed)="onTabPressed($event)"
-                                [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'"
-                                [fxFlex.lt-md]="isPB ? '1 0 500px' : '1 0 auto'"
-                                [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'">
+                                fxFlex.gt-sm="1 0 auto"
+                                fxFlex.lt-md="1 0 auto"
+                                fxFlex.lt-sm="1 0 auto">
                             </field-set>
 
                             <fieldset-container *ngIf="isFieldsetContainer(fe)"
-                                [hidden]="isPB && ! showPBInputData" [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe
+                                [style.display]="getElementStyleDisplay(fe.id)" [_container]=fe
                                 (radio)=onRadioClick($event) (validChange)=onElementValid() (inputChange)=onInputChange($event)
                                 (tabPressed)="onTabPressed($event)"
                                 fxFlex="1 0 auto">
@@ -92,19 +126,6 @@
                                 (validChange)=onElementValid() (inputChange)=onInputChange($event)
                                 fxFlex="1 0 auto">
                             </pab-table>
-
-                            <div *ngIf="isPbSchema(fe)" id="pb-schema-container"
-                                [fxFlex.gt-sm]="isPB ? '1 0 400px' : '1 0 auto'"
-                                [fxFlex.lt-md]="isPB ? '1 0 500px' : '1 0 auto'"
-                                [fxFlex.lt-sm]="isPB ? '1 0 300px' : '1 0 auto'">
-
-                                <pb-schema *ngIf="isPbSchema(fe)" [pbSchema]=fe (radio)=onRadioClick($event)
-                                    (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)">
-                                </pb-schema>
-
-                                <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div>
-                            </div>
-
                         </ng-template>
                     </div>
 
@@ -127,7 +148,7 @@
 
                     <quicknav *ngIf="! isPB" [ngClass.lt-xs]="'extraSmall'" [fxHide.gt-sm]="! isWide" [items]="quicknavItems" [currentItem]="'results'" [align]="'left'"></quicknav>
 
-                    <mat-card-header *ngIf="! isWide" [fxHide.lt-md]="! isWide">
+                    <mat-card-header *ngIf="! isWide" [fxHide.lt-md]="! isPB && ! isWide">
                         <mat-card-title>
                             <h1 [innerHTML]="uitextResultsTitle"></h1>
                         </mat-card-title>
diff --git a/src/app/components/generic-calculator/calculator.component.scss b/src/app/components/generic-calculator/calculator.component.scss
index 6c19dd011..da2c0f021 100644
--- a/src/app/components/generic-calculator/calculator.component.scss
+++ b/src/app/components/generic-calculator/calculator.component.scss
@@ -26,6 +26,10 @@
     display: block;
 }
 
+#pb-form-container {
+    display: block;
+}
+
 /** copy of quicknav style */
 #pb-data-results-selector {
 
-- 
GitLab


From 122ad8672a2efc3e68499847c67f24e97a37e542 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 25 Jun 2020 16:14:12 +0200
Subject: [PATCH 078/117] PreBarrage: restore select mechanisms on Cloison form

---
 src/app/calculators/prebarrage/config.json       |  6 +++---
 src/app/formulaire/definition/form-pb-cloison.ts | 14 +-------------
 2 files changed, 4 insertions(+), 16 deletions(-)

diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json
index 547346740..7aa71a6d9 100644
--- a/src/app/calculators/prebarrage/config.json
+++ b/src/app/calculators/prebarrage/config.json
@@ -45,7 +45,7 @@
         "type": "subform",
         "config": [
             {
-                "id": "fs_wall_device",
+                "id": "fs_ouvrage",
                 "type": "fieldset_template",
                 "calcType": "Structure",
                 "defaultStructType": "SeuilRectangulaire",
@@ -105,14 +105,14 @@
                 "id": "struct_container",
                 "type": "template_container",
                 "templates": [
-                    "fs_wall_device"
+                    "fs_ouvrage"
                 ]
             },
             {
                 "type": "options",
                 "upstreamBasinSelectId": "select_upstream_basin",
                 "downstreamBasinSelectId": "select_downstream_basin",
-                "selectIds": [ ]
+                "selectIds": [ "select_structure", "select_loidebit" ]
             }
         ]
     },
diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts
index cf9801ef6..db7272f52 100644
--- a/src/app/formulaire/definition/form-pb-cloison.ts
+++ b/src/app/formulaire/definition/form-pb-cloison.ts
@@ -36,19 +36,7 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
     // interface Observer
 
     public update(sender: IObservable, data: any) {
-        // copied from FormDefinition, to avoid calling super.update()
-        if (sender instanceof Nub) {
-            switch (data.action) {
-                case "resultUpdated":
-                    // forward Nub results update notification to FormCompute objects
-                    this.reaffectResultComponents();
-                    break;
-            }
-        }
-        // copied from FormFixedVar, to avoid calling super.update()
-        if (data.action === "propertyChange") {
-            this.reset();
-        }
+        super.update(sender, data);
 
         if (sender instanceof SelectFieldNub) {
             const nub = this._currentNub as PbCloison;
-- 
GitLab


From 8186d79bf45303c546be987b678e8e2fb4854bf5 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Thu, 25 Jun 2020 16:53:57 +0200
Subject: [PATCH 079/117] PreBarrage: add default structure when adding wall

---
 src/app/formulaire/definition/form-prebarrage.ts | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index 063d37ecf..0199451c3 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -106,7 +106,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             wallForm.addObserver(this); // @TODO why not this.form ? wallForm is just a dummy form to extract elements from…
             ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(wallForm);
             // add fieldsets for existing Structures
-            console.log(`Node ${node.uid} : ${node.structures.length} structures, Form ${this.uid} : ${this._kids.length} form elements`);
             if (node.structures.length > 0) {
                 for (const struct of node.structures) {
                     for (const e of wallForm.allFormElements) {
@@ -116,8 +115,13 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
                     }
                 }
             } else {
-                // if there was no existing structure, add a default one ! @TODO
-                console.log("TODO add default structure");
+                // if there was no existing structure, add a default one
+                for (const e of wallForm.allFormElements) {
+                    if (e instanceof FieldsetContainer) {
+                        e.addFromTemplate(0);
+                        break;
+                    }
+                }
             }
             this.showFormElements(wallForm);
         }
-- 
GitLab


From 2539ca71945562c9635cafad9842c37070c22511 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 26 Jun 2020 14:43:40 +0200
Subject: [PATCH 080/117] PreBarrage: restore missing fields in Cloison editor

---
 src/app/calculators/prebarrage/config.json | 26 ++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json
index 7aa71a6d9..1e6b68147 100644
--- a/src/app/calculators/prebarrage/config.json
+++ b/src/app/calculators/prebarrage/config.json
@@ -63,24 +63,42 @@
                         "property": "loiDebit",
                         "source": "device_loi_debit",
                         "help": {
-                            "Orifice_OrificeSubmerged": "structures/orifice_noye.html",
+                            "SeuilRectangulaire_KIVI": "structures/kivi.html",
                             "SeuilRectangulaire_WeirVillemonte": "structures/kivi.html",
+                            "SeuilRectangulaire_WeirCem88d": "structures/cem_88_d.html",
+                            "SeuilRectangulaire_WeirCem88v": "structures/cem_88_v.html",
+                            "SeuilRectangulaire_WeirCunge80": "structures/cunge_80.html",
+                            "VanneRectangulaire_GateCem88d": "structures/cem_88_d.html",
+                            "VanneRectangulaire_GateCem88v": "structures/cem_88_v.html",
+                            "VanneRectangulaire_GateCunge80": "structures/cunge_80.html",
+                            "Orifice_OrificeSubmerged": "structures/orifice_noye.html",
+                            "Orifice_OrificeFree": "structures/orifice_denoye.html",
                             "SeuilRectangulaire_WeirSubmergedLarinier": "structures/fente_noyee.html",
+                            "SeuilRectangulaire_WeirSubmerged": "structures/seuil_noye.html",
+                            "SeuilRectangulaire_WeirFree": "structures/seuil_denoye.html",
                             "SeuilTriangulaire_TriangularWeirFree": "structures/dever_triang.html",
                             "SeuilTriangulaire_TriangularWeirBroad": "structures/dever_triang.html",
                             "SeuilTriangulaireTrunc_TriangularTruncWeirFree": "structures/dever_triang_tronque.html"
                         }
                     },
-                    "h1",
+                    "S",
+                    "ZDV",
                     "L",
+                    "W",
+                    "CdWS",
                     "CdWSL",
                     "CdWR",
                     "CdGR",
+                    "CdCunge",
                     "CdT",
-                    "S",
+                    "CdO",
+                    "alpha",
+                    "beta",
+                    "ZRAM",
                     "alpha2",
                     "BT",
-                    "ZT"
+                    "ZT",
+                    "Zco"
                 ]
             },
             {
-- 
GitLab


From 250e3d8d6032b9131ad0317d40041c8a810d694a Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Fri, 26 Jun 2020 14:45:02 +0200
Subject: [PATCH 081/117] PreBarrage

when deleting a wall, leave no basin without connection (connect to river upstream/downstream)
prevent deletion of walls that would be restored by the aforementioned mechanism
"del" hotkey to delete element on schema
---
 .../pb-schema/pb-schema.component.ts          | 52 +++++++++++++++++--
 1 file changed, 49 insertions(+), 3 deletions(-)

diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index fa57966e7..abc16fc94 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -7,10 +7,13 @@ import {
 
 import * as mermaid from "mermaid";
 
+import { HotkeysService, Hotkey } from 'angular2-hotkeys';
+
 import { I18nService } from "../../services/internationalisation.service";
 import { PbSchema } from "../../formulaire/elements/pb-schema";
 import { DialogNewPbCloisonComponent } from "../dialog-new-pb-cloison/dialog-new-pb-cloison.component";
 import { GenericCalculatorComponent } from "../generic-calculator/calculator.component";
+import { AppComponent } from "../../app.component";
 
 /**
  * The interactive schema for calculator type "PreBarrage" (component)
@@ -63,8 +66,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     public constructor(
         @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent,
         private i18nService: I18nService,
+        private hotkeysService: HotkeysService,
         private newPbCloisonDialog: MatDialog
-    ) { }
+    ) {
+        this.hotkeysService.add(new Hotkey("del", AppComponent.onHotkey(this.removeOnHotkey, this)));
+    }
 
     public get selectedItem(): any {
         return this._selectedItem;
@@ -413,12 +419,42 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     }
 
     public get enableRemoveButton() {
-        return (this._selectedItem !== undefined);
+        if (this._selectedItem === undefined) {
+            return false;
+        }
+        // if deleting a PbCloison would replace it by a new one at
+        // the same place (@see onRemoveClick), make it not deletable
+        if (this._selectedItem instanceof PbCloison) {
+            if ((
+                this._selectedItem.bassinAmont !== undefined
+                && this._selectedItem.bassinAmont.cloisonsAval.length === 1
+                && this._selectedItem.bassinAval === undefined
+            ) || (
+                this._selectedItem.bassinAval !== undefined
+                && this._selectedItem.bassinAval.cloisonsAmont.length === 1
+                && this._selectedItem.bassinAmont === undefined
+            )) {
+                return false;
+            }
+        }
+        return true;
     }
 
     /** Removes a basin or wall, and all related items */
     public onRemoveClick() {
         this.model.deleteChild(this._selectedItem.findPositionInParent());
+        // never let an unconnected basin ! (not done in model to prevent unwanted
+        // automatic child addition when clearing children)
+        if (this._selectedItem instanceof PbCloison) {
+            // if no downstream connections remain, connect to river downstream
+            if (this._selectedItem.bassinAmont !== undefined && this._selectedItem.bassinAmont.cloisonsAval.length === 0) {
+                this.model.addChild(new PbCloison(this._selectedItem.bassinAmont, undefined));
+            }
+            // if no upstream connections remain, connect to river upstream
+            if (this._selectedItem.bassinAval !== undefined && this._selectedItem.bassinAval.cloisonsAmont.length === 0) {
+                this.model.addChild(new PbCloison(undefined, this._selectedItem.bassinAval));
+            }
+        }
         this.unselect();
         this.refresh();
     }
@@ -427,6 +463,13 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         return this.i18nService.localizeText("INFO_FIELDSET_REMOVE");
     }
 
+    // listener for "del" hotkey
+    protected removeOnHotkey() {
+        if (this.enableRemoveButton) {
+            this.onRemoveClick();
+        }
+    }
+
     public get enableCopyButton() {
         return (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison);
     }
@@ -559,7 +602,10 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     private updateValidity() {
         // check that at least 1 basin is present and a route from river
         // upstream to river downstream exists (2nd check includes 1st)
-        this._isValid = this.model.hasUpDownConnection();
+        this._isValid = (
+            this.model.hasUpDownConnection()
+            && ! this.model.hasBasinNotConnected()
+        );
         console.log("schéma valide", this._isValid);
         this.validChange.emit();
     }
-- 
GitLab


From 177ca9ce38aebed253b087967b35fbaf38496cd6 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 29 Jun 2020 11:15:13 +0200
Subject: [PATCH 082/117] Add new example: PreBarrage

---
 .../calculator-list.component.ts              |   4 +
 .../pb-schema/pb-schema.component.ts          | 118 ---
 src/app/examples/prebarrage.json              | 988 ++++++++++++++++++
 src/locale/messages.en.json                   |   1 +
 src/locale/messages.fr.json                   |   1 +
 5 files changed, 994 insertions(+), 118 deletions(-)
 create mode 100644 src/app/examples/prebarrage.json

diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts
index c8482f556..5f47f388c 100644
--- a/src/app/components/calculator-list/calculator-list.component.ts
+++ b/src/app/components/calculator-list/calculator-list.component.ts
@@ -191,6 +191,10 @@ export class CalculatorListComponent implements OnInit {
             {
                 label: this.intlService.localizeText("INFO_EXAMPLE_LABEL_PERR"),
                 path: "perr.json"
+            },
+            {
+                label: this.intlService.localizeText("INFO_EXAMPLE_LABEL_PB"),
+                path: "prebarrage.json"
             }
         ];
     }
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index abc16fc94..3ac6e598c 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -131,19 +131,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         });
     }
 
-    // debug
-    private createStructure(l: LoiDebit, v: number[]): Structure {
-        const s: Structure = CreateStructure(l);
-        s.prms.Q.singleValue = v[0];
-        s.prms.ZDV.singleValue = v[1];
-        s.prms.Z1.singleValue = v[2];
-        s.prms.Z2.singleValue = v[3];
-        s.getParameter("L").singleValue = v[4];
-        s.getParameter("CdGR").singleValue = v[5];
-        s.prms.W.singleValue = v[6];
-        return s;
-    }
-
     /**
      * Builds a Mermaid graph text definition, using Nodes
      * to represent basins as well as walls; sorts connexions
@@ -163,111 +150,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         def.push("classDef basin fill:#e0f3fb,stroke:#003A80;"); // irstea-ocean 50 / 500
         def.push("classDef node-highlighted fill:#4DBBE9;"); // irstea-ocean (material "accent"), 300
 
-        // debug
-        if (this.model.children.length === 0) {
-            // EXEMPLE 1 (petit)
-            /* const b1 = new PbBassin(new PbBassinParams(0.1, 42));
-            this.model.addChild(b1);
-            const b2 = new PbBassin(new PbBassinParams(0.15, 38));
-            this.model.addChild(b2);
-            this.model.addChild(new PbCloison(undefined, b1));
-            this.model.addChild(new PbCloison(b1, b2));
-            this.model.addChild(new PbCloison(b2, undefined));
-            this.model.addChild(new PbCloison(b1, undefined)); */
-
-            // EXEMPLE 2 (grand)
-            this.model.addChild(new PbBassin(new PbBassinParams(13.80, 95)));
-            this.model.addChild(new PbBassin(new PbBassinParams(15.40, 94.70)));
-            this.model.addChild(new PbBassin(new PbBassinParams(16.20, 94.70)));
-            this.model.addChild(new PbBassin(new PbBassinParams(17.50, 94.40)));
-            this.model.addChild(new PbBassin(new PbBassinParams(32.10, 94.25)));
-            this.model.addChild(new PbBassin(new PbBassinParams(35.00, 94.10)));
-            this.model.addChild(new PbCloison(undefined, this.model.children[0] as PbBassin));
-            // Session.getInstance().createNub(p, this.currentNub as ParallelStructure) as Structure
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.30, 0, 0, 0.4, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 4.40, 1.04 ])
-            );
-            //  Wall between upstream and basin 2
-            this.model.addChild(new PbCloison(undefined, this.model.children[1] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.00, 0, 0, 1.00, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.00, 0.91 ])
-            );
-            // Wall between upstream and basin 5
-            this.model.addChild(new PbCloison(undefined, this.model.children[4] as PbBassin));
-             this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.50, 0.99 ])
-            );
-            // Wall between upstream and basin 6
-            this.model.addChild(new PbCloison(undefined, this.model.children[5] as PbBassin));
-             this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.60, 0.99 ])
-            );
-            // Wall between basin 1 & 3
-            this.model.addChild(new PbCloison(this.model.children[0] as PbBassin, this.model.children[2] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.00, 0, 0, 0.40, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.20, 0.99 ])
-            );
-            // Wall between basin 2 & 3
-            this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[2] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 4.38, 0.91 ])
-            );
-            // Wall between basin 2 & 4
-            this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[3] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 3.00, 0.99 ])
-            );
-            // Wall between basin 2 & 5
-            this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[4] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.50, 0, 0, 1.00, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.75, 0, 0, 3.00, 0.99 ])
-            );
-            // Wall between basin 3 & 4
-            this.model.addChild(new PbCloison(this.model.children[2] as PbBassin, this.model.children[3] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.70, 0, 0, 0.40, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.65, 0, 0, 5.74, 0.99 ])
-            );
-            // Wall between basin 4 & 5
-            this.model.addChild(new PbCloison(this.model.children[3] as PbBassin, this.model.children[4] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.40, 0, 0, 0.40, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.35, 0, 0, 6.00, 0.99 ])
-            );
-            // Wall between basin 5 & 6
-            this.model.addChild(new PbCloison(this.model.children[4] as PbBassin, this.model.children[5] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.25, 0, 0, 0.70, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.05, 0, 0, 9.50, 0.99 ])
-            );
-            // Wall between basin 6 & downstream
-            this.model.addChild(new PbCloison(this.model.children[5] as PbBassin, undefined));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.10, 0, 0, 0.95, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.75, 0, 0, 10.20, 0.99 ])
-            );
-        }
-
         const sortedWalls: PbCloison[] = [];
         for (const c of this.model.children) {
             if (c instanceof PbBassin) {
diff --git a/src/app/examples/prebarrage.json b/src/app/examples/prebarrage.json
new file mode 100644
index 000000000..273cd986d
--- /dev/null
+++ b/src/app/examples/prebarrage.json
@@ -0,0 +1,988 @@
+{
+    "header": {
+        "source": "jalhyd",
+        "format_version": "1.3",
+        "created": "2020-06-29T08:37:22.109Z"
+    },
+    "settings": {
+        "precision": 1e-7,
+        "maxIterations": 100,
+        "displayPrecision": 3
+    },
+    "documentation": "",
+    "session": [
+        {
+            "uid": "b2kxNm",
+            "props": {
+                "calcType": "PreBarrage"
+            },
+            "meta": {
+                "title": "Prébarrages"
+            },
+            "children": [
+                {
+                    "uid": "Zjczdz",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 13.8
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 95
+                        }
+                    ]
+                },
+                {
+                    "uid": "dWJrZX",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 15.4
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.7
+                        }
+                    ]
+                },
+                {
+                    "uid": "dzMxN2",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 16.2
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.7
+                        }
+                    ]
+                },
+                {
+                    "uid": "ZXZua2",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 17.5
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.4
+                        }
+                    ]
+                },
+                {
+                    "uid": "YmR5aD",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 32.1
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.25
+                        }
+                    ]
+                },
+                {
+                    "uid": "bDN2OW",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 35
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.1
+                        }
+                    ]
+                },
+                {
+                    "uid": "MWxycH",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "",
+                        "downstreamBasin": "Zjczdz"
+                    },
+                    "children": [
+                        {
+                            "uid": "MmZ2aG",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.3
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "eW9jZH",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 4.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "c3Zpb2",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "",
+                        "downstreamBasin": "dWJrZX"
+                    },
+                    "children": [
+                        {
+                            "uid": "bTQ2cG",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "N24zM2",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 5
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "MG4wNG",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "",
+                        "downstreamBasin": "YmR5aD"
+                    },
+                    "children": [
+                        {
+                            "uid": "azV4dj",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 3.5
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "YjJra2",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "",
+                        "downstreamBasin": "bDN2OW"
+                    },
+                    "children": [
+                        {
+                            "uid": "aDd4Y3",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 3.6
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "enE4cn",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "Zjczdz",
+                        "downstreamBasin": "dzMxN2"
+                    },
+                    "children": [
+                        {
+                            "uid": "ZHczZ2",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "aXRjZ3",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 5.2
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "NXNoNG",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "dWJrZX",
+                        "downstreamBasin": "dzMxN2"
+                    },
+                    "children": [
+                        {
+                            "uid": "eXFqeH",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.85
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 4.38
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "bGhodG",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "dWJrZX",
+                        "downstreamBasin": "ZXZua2"
+                    },
+                    "children": [
+                        {
+                            "uid": "b3Z3OD",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.85
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 3
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "MDZ3aH",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "dWJrZX",
+                        "downstreamBasin": "YmR5aD"
+                    },
+                    "children": [
+                        {
+                            "uid": "NTBzZm",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.5
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "b3pjZX",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.75
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 3
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "emZ2bX",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "dzMxN2",
+                        "downstreamBasin": "ZXZua2"
+                    },
+                    "children": [
+                        {
+                            "uid": "cGllNj",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.7
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "aWFseW",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.65
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 5.74
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "bG1ucj",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "ZXZua2",
+                        "downstreamBasin": "YmR5aD"
+                    },
+                    "children": [
+                        {
+                            "uid": "MDJsaD",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.4
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "ZzY2bT",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.35
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 6
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "dGNnZz",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "YmR5aD",
+                        "downstreamBasin": "bDN2OW"
+                    },
+                    "children": [
+                        {
+                            "uid": "dnNqeX",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.7
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "ODFkZ2",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.05
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 9.5
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "amprcm",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "bDN2OW",
+                        "downstreamBasin": ""
+                    },
+                    "children": [
+                        {
+                            "uid": "OG02MT",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.1
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.95
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "MHVxZn",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.75
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 10.2
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                }
+            ],
+            "parameters": [
+                {
+                    "symbol": "Q",
+                    "mode": "SINGLE",
+                    "value": 1
+                },
+                {
+                    "symbol": "Z1",
+                    "mode": "CALCUL"
+                },
+                {
+                    "symbol": "Z2",
+                    "mode": "SINGLE",
+                    "value": 100
+                }
+            ]
+        }
+    ]
+}
\ No newline at end of file
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 1f047724a..db13bcf97 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -522,6 +522,7 @@
     "INFO_EXAMPLE_LABEL_PAB_COMPLETE": "Standard fish ladder",
     "INFO_EXAMPLE_LABEL_PAB_ECH_TRIANG": "Triangular weirs fish ladder",
     "INFO_EXAMPLE_LABEL_PENTE_CRITIQUE_CANAL": "Canal critical slope",
+    "INFO_EXAMPLE_LABEL_PB": "Pre-dam",
     "INFO_EXAMPLE_LABEL_PERR": "Rock-ramp fish pass",
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length",
     "INFO_EXAMPLES_TITLE": "Examples",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 8a18acb91..17286526d 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -522,6 +522,7 @@
     "INFO_EXAMPLE_LABEL_PAB_COMPLETE": "Passe à bassins type",
     "INFO_EXAMPLE_LABEL_PAB_ECH_TRIANG": "Passe à bassins à échancrures triangulaires",
     "INFO_EXAMPLE_LABEL_PENTE_CRITIQUE_CANAL": "Pente critique d'un canal",
+    "INFO_EXAMPLE_LABEL_PB": "Pré-barrage",
     "INFO_EXAMPLE_LABEL_PERR": "Passe à enrochements régulièrement répartis",
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir",
     "INFO_EXAMPLES_TITLE": "Exemples",
-- 
GitLab


From aa8b3e9cc2485e5fa7dd786a56f2cb587b651f06 Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 29 Jun 2020 11:15:41 +0200
Subject: [PATCH 083/117] Add default layout when creating new PreBarrage

---
 src/app/services/formulaire.service.ts | 35 +++++++++++++++++++++++++-
 1 file changed, 34 insertions(+), 1 deletion(-)

diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts
index 9e3879d8a..3cb284a73 100644
--- a/src/app/services/formulaire.service.ts
+++ b/src/app/services/formulaire.service.ts
@@ -14,7 +14,14 @@ import {
     Props,
     Cloisons,
     CloisonAval,
-    SPP
+    SPP,
+    PreBarrage,
+    PbBassin,
+    PbBassinParams,
+    LoiDebit,
+    PbCloison,
+    CreateStructure,
+    Structure
 } from "jalhyd";
 
 import { ApplicationSetupService } from "./app-setup.service";
@@ -418,6 +425,32 @@ export class FormulaireService extends Observable {
             newDownWall.addChild(newDownwallDevice);
             f.pabNub.downWall = newDownWall;
         }
+
+        // when creating a new PreBarrage, add one basin and two walls with one
+        // device each (when loading session, those items are already present)
+        if (
+            f instanceof FormulairePrebarrage
+            && f.currentNub instanceof PreBarrage
+            && f.currentNub.children.length === 0
+        ) {
+            // 1 basin
+            f.currentNub.addChild(new PbBassin(new PbBassinParams(13.80, 95)));
+            // 1st wall
+            f.currentNub.addChild(new PbCloison(undefined, f.currentNub.children[0] as PbBassin));
+            const s1: Structure = CreateStructure(LoiDebit.WeirCunge80);
+            s1.prms.ZDV.singleValue = 95.30;
+            s1.getParameter("L").singleValue = 0.4;
+            s1.getParameter("CdGR").singleValue = 1.04;
+            f.currentNub.children[1].addChild(s1);
+            // 2nd wall
+            f.currentNub.addChild(new PbCloison(f.currentNub.children[0] as PbBassin, undefined));
+            const s2: Structure = CreateStructure(LoiDebit.WeirCunge80);
+            s2.prms.ZDV.singleValue = 95.30;
+            s2.getParameter("L").singleValue = 0.4;
+            s2.getParameter("CdGR").singleValue = 1.04;
+            f.currentNub.children[2].addChild(s2);
+        }
+
         this.notifyObservers({
             "action": "createForm",
             "form": f
-- 
GitLab


From d883aaca9c1fac3478c513c4673c35f3d66cc5be Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 29 Jun 2020 15:20:25 +0200
Subject: [PATCH 084/117] Parameter config: option to disable calculability in
 GUI

---
 src/app/formulaire/elements/ngparam.ts | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/app/formulaire/elements/ngparam.ts b/src/app/formulaire/elements/ngparam.ts
index 0a8baafb2..154299564 100644
--- a/src/app/formulaire/elements/ngparam.ts
+++ b/src/app/formulaire/elements/ngparam.ts
@@ -456,6 +456,9 @@ export class NgParameter extends InputField implements Observer {
         }
         this.unit = this.paramDefinition.unit;
         this.radioConfig = this.getRadioConfig();
+        if (json["calculable"] !== undefined && json["calculable"] === false) {
+            this.radioConfig = Math.min(ParamCalculability.FREE, this.getRadioConfig());
+        }
     }
 
     // interface Observer
-- 
GitLab


From 730bdede62c4c4c439f83403545a57de13276b2e Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 29 Jun 2020 15:20:39 +0200
Subject: [PATCH 085/117] Updated PreBarrage example

---
 src/app/calculators/prebarrage/config.json |  90 +++++++--
 src/app/examples/prebarrage.json           | 206 ++-------------------
 2 files changed, 85 insertions(+), 211 deletions(-)

diff --git a/src/app/calculators/prebarrage/config.json b/src/app/calculators/prebarrage/config.json
index 1e6b68147..e68895e29 100644
--- a/src/app/calculators/prebarrage/config.json
+++ b/src/app/calculators/prebarrage/config.json
@@ -81,24 +81,78 @@
                             "SeuilTriangulaireTrunc_TriangularTruncWeirFree": "structures/dever_triang_tronque.html"
                         }
                     },
-                    "S",
-                    "ZDV",
-                    "L",
-                    "W",
-                    "CdWS",
-                    "CdWSL",
-                    "CdWR",
-                    "CdGR",
-                    "CdCunge",
-                    "CdT",
-                    "CdO",
-                    "alpha",
-                    "beta",
-                    "ZRAM",
-                    "alpha2",
-                    "BT",
-                    "ZT",
-                    "Zco"
+                    {
+                        "id": "S",
+                        "calculable": false
+                    },
+                    {
+                        "id": "ZDV",
+                        "calculable": false
+                    },
+                    {
+                        "id": "L",
+                        "calculable": false
+                    },
+                    {
+                        "id": "W",
+                        "calculable": false
+                    },
+                    {
+                        "id": "CdWS",
+                        "calculable": false
+                    },
+                    {
+                        "id": "CdWSL",
+                        "calculable": false
+                    },
+                    {
+                        "id": "CdWR",
+                        "calculable": false
+                    },
+                    {
+                        "id": "CdGR",
+                        "calculable": false
+                    },
+                    {
+                        "id": "CdCunge",
+                        "calculable": false
+                    },
+                    {
+                        "id": "CdT",
+                        "calculable": false
+                    },
+                    {
+                        "id": "CdO",
+                        "calculable": false
+                    },
+                    {
+                        "id": "alpha",
+                        "calculable": false
+                    },
+                    {
+                        "id": "beta",
+                        "calculable": false
+                    },
+                    {
+                        "id": "ZRAM",
+                        "calculable": false
+                    },
+                    {
+                        "id": "alpha2",
+                        "calculable": false
+                    },
+                    {
+                        "id": "BT",
+                        "calculable": false
+                    },
+                    {
+                        "id": "ZT",
+                        "calculable": false
+                    },
+                    {
+                        "id": "Zco",
+                        "calculable": false
+                    }
                 ]
             },
             {
diff --git a/src/app/examples/prebarrage.json b/src/app/examples/prebarrage.json
index 273cd986d..339101438 100644
--- a/src/app/examples/prebarrage.json
+++ b/src/app/examples/prebarrage.json
@@ -2,7 +2,7 @@
     "header": {
         "source": "jalhyd",
         "format_version": "1.3",
-        "created": "2020-06-29T08:37:22.109Z"
+        "created": "2020-06-29T13:15:21.029Z"
     },
     "settings": {
         "precision": 1e-7,
@@ -195,22 +195,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "c3Zpb2",
@@ -273,22 +258,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "MG4wNG",
@@ -325,22 +295,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "YjJra2",
@@ -377,22 +332,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "enE4cn",
@@ -455,22 +395,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "NXNoNG",
@@ -507,22 +432,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "bGhodG",
@@ -559,22 +469,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "MDZ3aH",
@@ -637,22 +532,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "emZ2bX",
@@ -715,22 +595,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "bG1ucj",
@@ -793,22 +658,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "dGNnZz",
@@ -871,22 +721,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 },
                 {
                     "uid": "amprcm",
@@ -949,22 +784,7 @@
                             ]
                         }
                     ],
-                    "parameters": [
-                        {
-                            "symbol": "Q",
-                            "mode": "CALCUL"
-                        },
-                        {
-                            "symbol": "Z1",
-                            "mode": "SINGLE",
-                            "value": 0
-                        },
-                        {
-                            "symbol": "Z2",
-                            "mode": "SINGLE",
-                            "value": 0
-                        }
-                    ]
+                    "parameters": []
                 }
             ],
             "parameters": [
-- 
GitLab


From 92a448961bc55f9a904e68e89dd5dd189cd5f935 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 30 Jun 2020 12:14:32 +0200
Subject: [PATCH 086/117] Patch lifecycle issue when switching from a
 PreBarrage to another

---
 .../generic-calculator/calculator.component.html      | 10 +++++++---
 .../generic-calculator/calculator.component.ts        |  2 --
 src/app/components/pb-schema/pb-schema.component.ts   | 11 +++++++----
 src/app/formulaire/definition/form-definition.ts      |  6 ------
 4 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/src/app/components/generic-calculator/calculator.component.html b/src/app/components/generic-calculator/calculator.component.html
index 6ef040218..ceb091d14 100644
--- a/src/app/components/generic-calculator/calculator.component.html
+++ b/src/app/components/generic-calculator/calculator.component.html
@@ -77,9 +77,13 @@
                             fxFlex.lt-md="1 0 500px"
                             fxFlex.lt-sm="1 0 300px">
 
-                            <pb-schema [pbSchema]="formElements[0]" (radio)=onRadioClick($event)
-                                (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)">
-                            </pb-schema>
+                            <!-- without this loop, injecting formElements[0] in <pb-schema> makes it not 
+                                trigger lifecycle hooks when switching from a PreBarrage module to another… -->
+                            <ng-template ngFor let-fe [ngForOf]="formElements">
+                                <pb-schema *ngIf="isPbSchema(fe)" [pbSchema]="fe" (radio)=onRadioClick($event)
+                                    (validChange)=onElementValid() (nodeSelected)="onPBNodeSelected($event)">
+                                </pb-schema>
+                            </ng-template>
 
                             <div fxHide.sm fxFlex.gt-sm="0 0 16px"></div>
                         </div>
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index ca655a3e5..bdfd11828 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -441,8 +441,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
                     this._calculatorNameComponent.model = this._formulaire;
                     // reload localisation in all cases
                     this.formulaireService.loadUpdateFormulaireLocalisation(this._formulaire);
-                    // call Form init hook
-                    this._formulaire.onCalculatorInit();
                     break;
             }
         } else if (sender instanceof FormulaireDefinition) {
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 3ac6e598c..615af66cd 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -2,12 +2,12 @@ import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ViewChil
 import { MatDialog } from "@angular/material/dialog";
 
 import {
-    PreBarrage, PbBassin, PbBassinParams, PbCloison, CreateStructure, LoiDebit, Structure, Observer, IObservable
+    PreBarrage, PbBassin, PbBassinParams, PbCloison, Observer, IObservable
  } from "jalhyd";
 
 import * as mermaid from "mermaid";
 
-import { HotkeysService, Hotkey } from 'angular2-hotkeys';
+import { HotkeysService, Hotkey } from "angular2-hotkeys";
 
 import { I18nService } from "../../services/internationalisation.service";
 import { PbSchema } from "../../formulaire/elements/pb-schema";
@@ -115,10 +115,12 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     }
 
     public ngAfterViewInit(): void {
-        this.refreshEventListeners();
-        this.updateValidity();
         // subscribe to "refresh" event passed indirectly by FormulairePbCloison (change upstream/downstream basin)
         this.pbSchema.addObserver(this);
+        // @WARNING clodo trick to prevent blank diagram when switching from a PreBarrage to another
+        setTimeout(() => {
+            this.refresh();
+        }, 10);
     }
 
     /** Add click listener on every node and link in the graph */
@@ -360,6 +362,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     public onCopyClick() {
         const wall = this._selectedItem as PbCloison;
         const wallCopy = new PbCloison(wall.bassinAmont, wall.bassinAval);
+        wallCopy.loadObjectRepresentation(wall.objectRepresentation());
         this.model.addChild(wallCopy);
         this.unselect();
         this.refresh();
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index 721715aef..17f206891 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -441,12 +441,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         return new TopFormulaireElementIterator(this);
     }
 
-    /**
-     * Appelé par CalculatorComponent lorsque le Formulaire est chargé dans la vue,
-     * c'est à dire lorsqu'on affiche un module de calcul à l'écran
-     */
-    public onCalculatorInit() {}
-
     //  interface Observer
 
     public update(sender: any, data: any) {
-- 
GitLab


From c2770dc31f29681f6af73d826c66e7bb2a1d7ca6 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 30 Jun 2020 16:02:58 +0200
Subject: [PATCH 087/117] Lint code

---
 src/app/app.component.ts                               |  9 ++++-----
 src/app/app.module.ts                                  |  2 +-
 .../calculator-list/calculator-list.component.ts       |  2 +-
 .../dialog-edit-param-values.component.ts              |  5 ++++-
 .../dialog-load-session.component.ts                   |  2 +-
 .../dialog-new-pb-cloison.component.ts                 | 10 +++++-----
 .../components/jet-results/jet-results.component.ts    |  2 +-
 src/app/formulaire/elements/select-field.ts            |  2 --
 src/app/services/app-setup.service.ts                  |  2 +-
 src/app/services/formulaire.service.ts                 |  4 ++--
 src/app/services/internationalisation.service.ts       |  3 ++-
 11 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 4aab33e64..8ceb96f89 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, OnDestroy, HostListener, ViewChild, ElementRef } from "@angular/core";
+import { Component, OnInit, OnDestroy, HostListener, ViewChild, ElementRef, isDevMode } from "@angular/core";
 import { Router, Event, NavigationEnd, ActivationEnd } from "@angular/router";
 import { MatDialog } from "@angular/material/dialog";
 import { MatSidenav } from "@angular/material/sidenav";
@@ -7,7 +7,6 @@ import { CdkDragDrop, moveItemInArray } from "@angular/cdk/drag-drop";
 
 import { Observer, jalhydDateRev, jalhydVersion, CalculatorType, Session } from "jalhyd";
 
-import { environment } from "../environments/environment";
 import { I18nService } from "./services/internationalisation.service";
 import { ErrorService } from "./services/error.service";
 import { FormulaireService } from "./services/formulaire.service";
@@ -659,7 +658,7 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
     const existingNotes = Session.getInstance().documentation;
     // load
     try {
-      const data = await this.formulaireService.loadSession(f, info)
+      const data = await this.formulaireService.loadSession(f, info);
       if (data.hasErrors) {
         this.notificationsService.notify(this.intlService.localizeText("ERROR_PROBLEM_LOADING_SESSION"), 3500);
       } else {
@@ -678,7 +677,7 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
           }
         }
       }
-    } catch(err) {
+    } catch (err) {
       this.notificationsService.notify(this.intlService.localizeText("ERROR_LOADING_SESSION"), 3500);
       console.error("error loading session - ", err);
       // rollback to ensure session is clean
@@ -863,7 +862,7 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
   @HostListener("window:beforeunload", [ "$event" ]) confirmExit($event) {
     if (
       this.appSetupService.warnBeforeTabClose
-      && environment.production // otherwise prevents dev server to reload app after recompiling
+      && ! isDevMode() // otherwise prevents dev server to reload app after recompiling
     ) {
       // affecter une valeur différente de null provoque l'affichage d'un dialogue de confirmation, mais le texte n'est pas affiché
       $event.returnValue = "Your data will be lost !";
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index e7d78e13b..6cade944f 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -85,7 +85,7 @@ import { ParamLinkComponent } from "./components/param-link/param-link.component
 import { SelectModelFieldLineComponent } from "./components/select-model-field-line/select-model-field-line.component";
 import { PabProfileChartComponent } from "./components/pab-profile-chart/pab-profile-chart.component";
 import { PabTableComponent } from "./components/pab-table/pab-table.component";
-import { PbSchemaComponent } from './components/pb-schema/pb-schema.component';
+import { PbSchemaComponent } from "./components/pb-schema/pb-schema.component";
 import { VariableResultsSelectorComponent } from "./components/variable-results-selector/variable-results-selector.component";
 import { QuicknavComponent } from "./components/quicknav/quicknav.component";
 import { ModulesDiagramComponent } from "./components/modules-diagram/modules-diagram.component";
diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts
index 5f47f388c..81b255b73 100644
--- a/src/app/components/calculator-list/calculator-list.component.ts
+++ b/src/app/components/calculator-list/calculator-list.component.ts
@@ -205,7 +205,7 @@ export class CalculatorListComponent implements OnInit {
             const d = await this.httpService.httpGetBlobRequestPromise(realPath);
             const f: any = new Blob([d], { type: "application/json" });
             this.appComponent.loadSessionFile(f);
-        } catch(e) {
+        } catch (e) {
             console.error("could not load session file", e);
         }
     }
diff --git a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts
index 7da1e632c..3c419f000 100644
--- a/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts
+++ b/src/app/components/dialog-edit-param-values/dialog-edit-param-values.component.ts
@@ -215,7 +215,10 @@ export class DialogEditParamValuesComponent implements OnInit {
                 if (this.param.paramDefinition.step === 0) {
                     return 0;
                 } else {
-                    return Math.max(0, Math.ceil((this.param.paramDefinition.max - this.param.paramDefinition.min) / this.param.paramDefinition.step) + 1);
+                    return Math.max(
+                        0,
+                        Math.ceil((this.param.paramDefinition.max - this.param.paramDefinition.min) / this.param.paramDefinition.step) + 1
+                    );
                 }
             } catch (e) {
                 // min > max or something, silent fail
diff --git a/src/app/components/dialog-load-session/dialog-load-session.component.ts b/src/app/components/dialog-load-session/dialog-load-session.component.ts
index 291de8698..3f1af0f0d 100644
--- a/src/app/components/dialog-load-session/dialog-load-session.component.ts
+++ b/src/app/components/dialog-load-session/dialog-load-session.component.ts
@@ -161,7 +161,7 @@ export class DialogLoadSessionComponent {
             }
           }
           this.loadingComplete = true;
-        } catch(err) {
+        } catch (err) {
           console.error(err);
           this.loadingError = true;
         }
diff --git a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
index 7798238d6..a249ca814 100644
--- a/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
+++ b/src/app/components/dialog-new-pb-cloison/dialog-new-pb-cloison.component.ts
@@ -33,7 +33,7 @@ export class DialogNewPbCloisonComponent implements OnInit {
 
     public get availableUpstreamIndexes(): number[] {
         // add river upstream as "0"
-        let ab: number[] = [ 0 ];
+        const ab: number[] = [ 0 ];
         for (let i = 0; i < this.availableBasins.length; i++) {
             ab.push(i + 1);
         }
@@ -41,7 +41,7 @@ export class DialogNewPbCloisonComponent implements OnInit {
     }
 
     public get availableDownstreamIndexes(): number[] {
-        let ab: number[] = [ ];
+        const ab: number[] = [ ];
         for (let i = 0; i < this.availableBasins.length; i++) {
             ab.push(i + 1);
         }
@@ -58,9 +58,9 @@ export class DialogNewPbCloisonComponent implements OnInit {
      */
     public basinIsSelectable(index: number, downstream: boolean = false): boolean {
         if (downstream) {
-            return (this.upstreamIndex === 0 || index > this.upstreamIndex)
+            return (this.upstreamIndex === 0 || index > this.upstreamIndex);
         } else {
-            return (this.downstreamIndex === 0 || index < this.downstreamIndex)
+            return (this.downstreamIndex === 0 || index < this.downstreamIndex);
         }
     }
 
@@ -117,7 +117,7 @@ export class DialogNewPbCloisonComponent implements OnInit {
     public get uitextValidate() {
       return this.i18nService.localizeText("INFO_OPTION_VALIDATE");
     }
-  
+
     public get uitextCancel() {
       return this.i18nService.localizeText("INFO_OPTION_CANCEL");
     }
diff --git a/src/app/components/jet-results/jet-results.component.ts b/src/app/components/jet-results/jet-results.component.ts
index 50d8a1a1d..9d991de25 100644
--- a/src/app/components/jet-results/jet-results.component.ts
+++ b/src/app/components/jet-results/jet-results.component.ts
@@ -28,7 +28,7 @@ export class JetResultsComponent extends FixedVarResultsComponent {
         return this.hasResults && (
             this._fixedResults && this._fixedResults.result && this._fixedResults.result.sourceNub.result.ok
             ||
-            this._varResults&& this._varResults.result && this._varResults.result.sourceNub.result.ok
+            this._varResults && this._varResults.result && this._varResults.result.sourceNub.result.ok
         );
     }
 
diff --git a/src/app/formulaire/elements/select-field.ts b/src/app/formulaire/elements/select-field.ts
index 2557eb0f6..f43004c79 100644
--- a/src/app/formulaire/elements/select-field.ts
+++ b/src/app/formulaire/elements/select-field.ts
@@ -196,8 +196,6 @@ export class SelectField extends Field {
                 const loiDebit = child.properties.getPropValue("loiDebit");
                 const stCode = StructureProperties.findCompatibleStructure(loiDebit, nub as ParallelStructure);
                 const stName = StructureType[stCode];
-                // console.log(`__device_loi_debit__ : child=${child.constructor.name}, loiDebit=${loiDebit}, stCode=${stCode}, stName=${stName}`);
-                // console.log("(child.properties)", child.properties.props);
                 for (const ld of la[stName]) {
                     const e: SelectEntry = new SelectEntry(this._entriesBaseId + stName + "_" + LoiDebit[ld], ld);
                     this.addEntry(e);
diff --git a/src/app/services/app-setup.service.ts b/src/app/services/app-setup.service.ts
index 7a2d2a30b..e31d1e37b 100644
--- a/src/app/services/app-setup.service.ts
+++ b/src/app/services/app-setup.service.ts
@@ -115,7 +115,7 @@ export class ApplicationSetupService extends Observable {
      * Restore configuration values
      */
     public async restoreDefaultValues(): Promise<any> {
-        await this.readValuesFromConfig()
+        await this.readValuesFromConfig();
         // notify I18nService
         this.notifyObservers({
             action: "languagePreferenceChanged",
diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts
index 3cb284a73..6650d9ff0 100644
--- a/src/app/services/formulaire.service.ts
+++ b/src/app/services/formulaire.service.ts
@@ -96,7 +96,7 @@ export class FormulaireService extends Observable {
         try {
             const localisation = await this.loadLocalisationForLang(calc, lang);
             return localisation as StringMap;
-        } catch(e) {
+        } catch (e) {
             console.error(e);
             // try default lang (the one in the config file) ?
             const fallbackLang = this.appSetupService.fallbackLanguage;
@@ -125,7 +125,7 @@ export class FormulaireService extends Observable {
                 this._languageCache[ct] = this._languageCache[ct] || {};
                 this._languageCache[ct][lang] = localisation;
                 return localisation as StringMap;
-            } catch(e) {
+            } catch (e) {
                 throw new Error(`LOCALISATION_FILE_NOT_FOUND "${f}"`);
             }
         }
diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts
index 50e1e4cbe..07faaaf93 100644
--- a/src/app/services/internationalisation.service.ts
+++ b/src/app/services/internationalisation.service.ts
@@ -186,7 +186,8 @@ export class I18nService extends Observable implements Observer {
 
         // replace "FORM_ID_X" by form name in current session, if any
         m = m.replace(/FORM_ID_(\w{6})/g, (match, p1) => {
-            const form = ServiceFactory.instance.formulaireService.getFormulaireFromNubId(p1); // cannot inject FormulaireService => cyclic dependency :/
+            // cannot inject FormulaireService => cyclic dependency :/
+            const form = ServiceFactory.instance.formulaireService.getFormulaireFromNubId(p1);
             let formName = "**UNKNOWN_FORM**";
             if (form !== undefined) {
                 formName = form.calculatorName;
-- 
GitLab


From 9446cea3df9ee37aaba25ca4a2f5830d95bed6b5 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 30 Jun 2020 17:12:50 +0200
Subject: [PATCH 088/117] Removed unused code

---
 src/app/app.component.ts          | 18 +-----------------
 src/app/services/error.service.ts | 12 ------------
 2 files changed, 1 insertion(+), 29 deletions(-)
 delete mode 100644 src/app/services/error.service.ts

diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 8ceb96f89..a5f015149 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -8,7 +8,6 @@ import { CdkDragDrop, moveItemInArray } from "@angular/cdk/drag-drop";
 import { Observer, jalhydDateRev, jalhydVersion, CalculatorType, Session } from "jalhyd";
 
 import { I18nService } from "./services/internationalisation.service";
-import { ErrorService } from "./services/error.service";
 import { FormulaireService } from "./services/formulaire.service";
 import { FormulaireDefinition } from "./formulaire/definition/form-definition";
 import { ServiceFactory } from "./services/service-factory";
@@ -43,8 +42,7 @@ declare let device: any;
 @Component({
   selector: "nghyd-app",
   templateUrl: "./app.component.html",
-  styleUrls: ["./app.component.scss"],
-  providers: [ErrorService]
+  styleUrls: ["./app.component.scss"]
 })
 export class AppComponent implements OnInit, OnDestroy, Observer {
 
@@ -81,7 +79,6 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
   constructor(
     private intlService: I18nService,
     private appSetupService: ApplicationSetupService,
-    private errorService: ErrorService,
     private router: Router,
     private formulaireService: FormulaireService,
     private httpService: HttpService,
@@ -279,12 +276,10 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
    */
   ngOnInit() {
     this.formulaireService.addObserver(this);
-    this.subscribeErrorService();
     this._innerWidth = window.innerWidth;
   }
 
   ngOnDestroy() {
-    this.unsubscribeErrorService();
     this.formulaireService.removeObserver(this);
   }
 
@@ -411,17 +406,6 @@ export class AppComponent implements OnInit, OnDestroy, Observer {
     return fits;
   }
 
-  /**
-   * abonnement au service d'erreurs
-   */
-  private subscribeErrorService() {
-    this.errorService.addObserver(this);
-  }
-
-  private unsubscribeErrorService() {
-    this.errorService.removeObserver(this);
-  }
-
   public get enableHeaderDoc(): boolean {
     return this.currentRoute === "/list" && this._calculators.length === 0;
   }
diff --git a/src/app/services/error.service.ts b/src/app/services/error.service.ts
deleted file mode 100644
index 77620c3b7..000000000
--- a/src/app/services/error.service.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-import { Injectable } from "@angular/core";
-
-import { Observable } from "jalhyd";
-
-@Injectable()
-export class ErrorService extends Observable {
-  // TODO: add explicit constructor
-
-    doAlert(m: string) {
-        this.notifyObservers(m);
-    }
-}
-- 
GitLab


From a49c6487fd39867bc923e60d903ff9834484972a Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 30 Jun 2020 17:13:11 +0200
Subject: [PATCH 089/117] [WIP] PreBarrage results

---
 src/app/app.module.ts                         |   4 +
 src/app/calculators/prebarrage/fr.json        |  15 +-
 .../calculator-results.component.html         |   1 +
 .../calculator-results.component.ts           |  10 +
 .../fixed-results.component.html              |   1 -
 .../fixed-results.component.ts                |   1 +
 .../calculator.component.ts                   |   6 +-
 .../pb-results-table.component.html           |  30 ++
 .../pb-results-table.component.scss           |  52 +++
 .../pb-results/pb-results-table.component.ts  | 143 ++++++++
 .../pb-results/pb-results.component.html      |  23 ++
 .../pb-results/pb-results.component.scss      |   4 +
 .../pb-results/pb-results.component.ts        | 324 ++++++++++++++++++
 .../formulaire/definition/form-prebarrage.ts  |  95 ++++-
 src/app/results/prebarrage-results.ts         | 111 ++++++
 src/locale/messages.en.json                   |   1 +
 src/locale/messages.fr.json                   |   1 +
 17 files changed, 817 insertions(+), 5 deletions(-)
 create mode 100644 src/app/components/pb-results/pb-results-table.component.html
 create mode 100644 src/app/components/pb-results/pb-results-table.component.scss
 create mode 100644 src/app/components/pb-results/pb-results-table.component.ts
 create mode 100644 src/app/components/pb-results/pb-results.component.html
 create mode 100644 src/app/components/pb-results/pb-results.component.scss
 create mode 100644 src/app/components/pb-results/pb-results.component.ts
 create mode 100644 src/app/results/prebarrage-results.ts

diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 6cade944f..e60a467cc 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -73,6 +73,8 @@ import { RemousResultsComponent } from "./components/remous-results/remous-resul
 import { ResultsChartComponent } from "./components/results-chart/results-chart.component";
 import { PabResultsComponent } from "./components/pab-results/pab-results.component";
 import { PabResultsTableComponent } from "./components/pab-results/pab-results-table.component";
+import { PbResultsComponent } from "./components/pb-results/pb-results.component";
+import { PbResultsTableComponent } from "./components/pb-results/pb-results-table.component";
 import { ChartTypeSelectComponent } from "./components/results-chart/chart-type.component";
 import { LogComponent } from "./components/log/log.component";
 import { CalculatorListComponent } from "./components/calculator-list/calculator-list.component";
@@ -221,6 +223,8 @@ const appRoutes: Routes = [
     PabResultsComponent,
     PabResultsTableComponent,
     PabTableComponent,
+    PbResultsComponent,
+    PbResultsTableComponent,
     PbSchemaComponent,
     VariableResultsSelectorComponent,
     MacrorugoCompoundResultsComponent,
diff --git a/src/app/calculators/prebarrage/fr.json b/src/app/calculators/prebarrage/fr.json
index 287b79352..7b3f06d22 100644
--- a/src/app/calculators/prebarrage/fr.json
+++ b/src/app/calculators/prebarrage/fr.json
@@ -3,5 +3,18 @@
 
     "Q": "Débit",
     "Z1": "Cote de l'eau amont",
-    "Z2": "Cote de l'eau aval"
+    "Z2": "Cote de l'eau aval",
+
+    "Z": "Cote de l'eau",
+    "S": "Surface",
+    "ZF": "Cote de fond",
+    "PV": "Puissance dissipée",
+    "YMOY": "Profondeur moyenne",
+
+    "UNIT_Q": "m³/s",
+    "UNIT_S": "m²",
+    "UNIT_Z": "m",
+    "UNIT_ZF": "m",
+    "UNIT_YMOY": "m",
+    "UNIT_PV": "W/m³"
 }
diff --git a/src/app/components/calculator-results/calculator-results.component.html b/src/app/components/calculator-results/calculator-results.component.html
index e15f90423..8f454d811 100644
--- a/src/app/components/calculator-results/calculator-results.component.html
+++ b/src/app/components/calculator-results/calculator-results.component.html
@@ -2,6 +2,7 @@
     <section-results></section-results>
     <remous-results></remous-results>
     <pab-results></pab-results>
+    <pb-results></pb-results>
     <macrorugo-compound-results></macrorugo-compound-results>
     <jet-results></jet-results>
     <fixedvar-results></fixedvar-results>
diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts
index 133296818..1965eae43 100644
--- a/src/app/components/calculator-results/calculator-results.component.ts
+++ b/src/app/components/calculator-results/calculator-results.component.ts
@@ -8,6 +8,7 @@ import { MacrorugoCompoundResultsComponent } from "../macrorugo-compound-results
 import { FormulaireDefinition } from "../../formulaire/definition/form-definition";
 import { JetResultsComponent } from "../jet-results/jet-results.component";
 import { GenericCalculatorComponent } from "../generic-calculator/calculator.component";
+import { PbResultsComponent } from "../pb-results/pb-results.component";
 
 @Component({
     selector: "calc-results",
@@ -41,6 +42,12 @@ export class CalculatorResultsComponent implements AfterViewChecked {
     @ViewChild(PabResultsComponent, { static: true })
     private pabResultsComponent: PabResultsComponent;
 
+    /**
+     * composant d'affichage des résultats des prébarrages
+     */
+    @ViewChild(PbResultsComponent, { static: true })
+    private pbResultsComponent: PbResultsComponent;
+
     /**
      * composant d'affichage des résultats des passes à macrorugosités complexes
      */
@@ -70,12 +77,14 @@ export class CalculatorResultsComponent implements AfterViewChecked {
             this.sectionResultsComponent.results = undefined;
             this.remousResultsComponent.results = undefined;
             this.pabResultsComponent.results = undefined;
+            this.pbResultsComponent.results = undefined;
             this.mrcResultsComponent.results = undefined;
             this.jetResultsComponent.results = undefined;
         } else {
             this.sectionResultsComponent.results = f.results;
             this.remousResultsComponent.results = f.results;
             this.pabResultsComponent.results = f.results;
+            this.pbResultsComponent.results = f.results;
             this.mrcResultsComponent.results = f.results;
             // FixedVar and Jet are mutually incompatible (the 2nd extend the 1st)
             if (this.isJet) {
@@ -93,6 +102,7 @@ export class CalculatorResultsComponent implements AfterViewChecked {
         this.sectionResultsComponent.updateView();
         this.remousResultsComponent.updateView();
         this.pabResultsComponent.updateView();
+        this.pbResultsComponent.updateView();
         this.mrcResultsComponent.updateView();
         this.jetResultsComponent.updateView();
     }
diff --git a/src/app/components/fixedvar-results/fixed-results.component.html b/src/app/components/fixedvar-results/fixed-results.component.html
index 723677e79..46791f57e 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.html
+++ b/src/app/components/fixedvar-results/fixed-results.component.html
@@ -5,7 +5,6 @@
             <mat-icon color="primary">file_download</mat-icon>
         </button>
     </div>
-
     <!-- table des résultats fixés -->
     <div class="fixed-results-inner-container" #tableContainer>
         <table mat-table [dataSource]="dataSet" [trackBy]="tbIndex">
diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts
index afb476e03..ef9af04a6 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.ts
+++ b/src/app/components/fixedvar-results/fixed-results.component.ts
@@ -36,6 +36,7 @@ export class FixedResultsComponent extends ResultsComponentDirective {
     }
 
     public set results(r: FixedResults) {
+        console.log("->->->->-> je suis FRC et j'ai reçu des résultats", r === undefined ? "keud" : r.result);
         this._fixedResults = r;
     }
 
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index bdfd11828..2378518f5 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -569,9 +569,11 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
 
     /** réception d'un événement de clic sur un nœud du schéma de PréBarrage */
     public onPBNodeSelected(event: any) {
-        this.showPBInputData = true; // @TODO pas forcément ! (résultats de l'élément cliqué)
-        // show proper form (actually subform elements) depending on what was clicked
+        // show proper form (actually subform elements) or proper results,
+        // depending on what was clicked
         (this._formulaire as FormulairePrebarrage).nodeSelected(event.node);
+        // refresh results component
+        this.resultsComponent.updateView();
     }
 
     public openHelp() {
diff --git a/src/app/components/pb-results/pb-results-table.component.html b/src/app/components/pb-results/pb-results-table.component.html
new file mode 100644
index 000000000..75f0451ff
--- /dev/null
+++ b/src/app/components/pb-results/pb-results-table.component.html
@@ -0,0 +1,30 @@
+<div class="pb-results-table-container" #pbResultsTable fxLayout="row wrap" fxLayoutAlign="center center">
+    <div fxFlex="1 1 100%">
+        <div class="pb-results-table-buttons">
+            <button mat-icon-button (click)="exportAsSpreadsheet()" [title]="uitextExportAsSpreadsheet">
+                <mat-icon color="primary">file_download</mat-icon>
+            </button>
+            <button mat-icon-button *ngIf="! isFullscreen" (click)="setFullscreen(pbResultsTable)" [title]="uitextEnterFSTitle">
+                <mat-icon color="primary" class="scaled12">fullscreen</mat-icon>
+            </button>
+            <button mat-icon-button *ngIf="isFullscreen" (click)="exitFullscreen()" [title]="uitextExitFSTitle">
+                <mat-icon color="primary" class="scaled12">fullscreen_exit</mat-icon>
+            </button>
+        </div>
+
+        <div class="pb-results-table-scrollable-container" [ngClass]="{'full-height': isFullscreen}">
+            <!-- scrollable -->
+            <div class="pb-results-table-inner-container" #tableContainer>
+                <table mat-table [dataSource]="dataSet">
+                    <ng-container *ngFor="let h of headers; let i = index" [matColumnDef]="h">
+                        <th mat-header-cell *matHeaderCellDef [innerHTML]="h"></th>
+                        <td mat-cell *matCellDef="let element" [innerHTML]="element[i]"></td>
+                    </ng-container>
+
+                    <tr mat-header-row *matHeaderRowDef="headers"></tr>
+                    <tr mat-row *matRowDef="let row; columns: headers;"></tr>
+                </table>
+            </div>
+        </div>
+    </div>
+</div>
diff --git a/src/app/components/pb-results/pb-results-table.component.scss b/src/app/components/pb-results/pb-results-table.component.scss
new file mode 100644
index 000000000..9e49c5ca0
--- /dev/null
+++ b/src/app/components/pb-results/pb-results-table.component.scss
@@ -0,0 +1,52 @@
+/** @see additional styles in src/styles.css */
+
+:host {
+    display: block;
+    margin-bottom: 1.5em;
+}
+
+.pb-results-table-container {
+    background-color: white;
+}
+
+.pb-results-table-buttons {
+    padding-right: 4px;
+    padding-top: 4px;
+    text-align: right;
+    background-color: white;
+
+    button {
+        margin-left: 3px;
+        width: auto;
+
+        mat-icon {
+            &.scaled12 {
+                transform: scale(1.2)
+            }
+        }
+    }
+}
+
+.pb-results-table-scrollable-container {
+    overflow-x: scroll;
+    border: solid #ccc 1px;
+
+    &.full-height {
+        height: calc(100vh - 40px); // rend le mode plein-écran scrollable verticalement, sinon ça dépasse
+    }
+}
+
+table.mat-table {
+
+    .mat-header-row {
+        height: 40px;
+    }
+
+    .mat-row {
+        height: 32px;
+
+        &:nth-child(odd) {
+            background-color: #f4f4f4;
+        }
+    }
+}
diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts
new file mode 100644
index 000000000..b1ab9838b
--- /dev/null
+++ b/src/app/components/pb-results/pb-results-table.component.ts
@@ -0,0 +1,143 @@
+import { Component, ViewChild, ElementRef } from "@angular/core";
+
+import { PreBarrage, PbBassin } from "jalhyd";
+
+import { I18nService } from "../../services/internationalisation.service";
+import { ResultsComponentDirective } from "../fixedvar-results/results.component";
+import { AppComponent } from "../../app.component";
+import { fv } from "../../util";
+import { PrebarrageResults } from "../../results/prebarrage-results";
+
+@Component({
+    selector: "pb-results-table",
+    templateUrl: "./pb-results-table.component.html",
+    styleUrls: [
+        "./pb-results-table.component.scss"
+    ]
+})
+export class PbResultsTableComponent extends ResultsComponentDirective {
+
+    /** résultats non mis en forme */
+    private _pbResults: PrebarrageResults;
+
+    /** entêtes des colonnes */
+    private _headers: string[];
+
+    /** résultats mis en forme */
+    private _dataSet: any[];
+
+    @ViewChild("tableContainer")
+    table: ElementRef;
+
+    constructor(
+        protected intlService: I18nService
+    ) {
+        super();
+    }
+
+    /* private getJetTypes(re: Result, vi: number): string {
+        // jet type for each device
+        const devices = re.sourceNub.getChildren();
+        const jetTypes: string[] = devices.map((device) => {
+            const jt = device.result.resultElements[vi].getValue("ENUM_StructureJetType");
+            let jetType = this.intlService.localizeText("INFO_ENUM_STRUCTUREJETTYPE_" + jt);
+            if (devices.length > 1) {
+                // evil HTML injection in table cell (simpler)
+                jetType = this.intlService.localizeText("INFO_LIB_FS_OUVRAGE") + " n°"
+                    + (device.findPositionInParent() + 1) + ": " + jetType;
+            }
+            return jetType;
+        });
+        return `<div class="inner-cell-line">` + jetTypes.join(`, </div><div class="inner-cell-line">`) + `</div>`;
+    } */
+
+    public set results(r: PrebarrageResults) {
+        this._pbResults = r;
+        console.log("Set results dans PBRTC !", r);
+
+        this._dataSet = [];
+        if (
+            this._pbResults
+            && this._pbResults.bassinsResults
+            && this._pbResults.bassinsResults.length > 0
+            && ! this._pbResults.hasOnlyErrors()
+        ) {
+            const pr = this._pbResults;
+            const pb = pr.result.sourceNub as PreBarrage;
+            // when a parameter is variating, index of the variating parameter
+            // values to build the data from
+            const vi = pr.variableIndex;
+
+            // refresh headers here if language changed
+            this._headers = pr.headers;
+
+            // upstream line
+            if (pr.result.resultElements[vi].vCalc) { // le calcul peut avoir échoué
+                this._dataSet.push([
+                    this.intlService.localizeText("INFO_LIB_AMONT"),
+                    "", "",
+                    fv(pb.prms.Z1.V),
+                    "", "",
+                    fv(pb.prms.Q.V)
+                ]);
+            }
+
+            // basins 1 - n
+            for (let i = 0; i < pr.bassinsResults.length; i++) {
+                if (
+                    Object.keys(pr.bassinsResults[i].resultElements[vi].values).length > 0 // no vCalc in this case
+                ) {
+                    const rb = pr.bassinsResults[i].resultElements[vi].values;
+                    const basin = pr.bassinsResults[i].sourceNub as PbBassin;
+                    this._dataSet.push([
+                        i + 1, // n° cloison
+                        fv(basin.prms.S.V),
+                        fv(basin.prms.ZF.V),
+                        fv(rb.Z),
+                        fv(rb.PV),
+                        fv(rb.YMOY),
+                        fv(rb.Q)
+                    ]);
+                }
+            }
+
+            // downstream line
+            if (pr.result.resultElements[vi].vCalc) { // le calcul peut avoir échoué
+                this._dataSet.push([
+                    this.intlService.localizeText("INFO_LIB_AVAL"),
+                    "", "",
+                    fv(pb.prms.Z2.V),
+                    "", "",
+                    fv(pb.prms.Q.V)
+                ]);
+            }
+        }
+    }
+
+    public get headers() {
+        return this._headers;
+    }
+
+    /**
+     * Returns a combination of parameters and results for mat-table
+     */
+    public get dataSet() {
+        return this._dataSet;
+    }
+
+    public exportAsSpreadsheet() {
+        AppComponent.exportAsSpreadsheet(this.table.nativeElement);
+    }
+
+    public get uitextExportAsSpreadsheet() {
+        return this.intlService.localizeText("INFO_RESULTS_EXPORT_AS_SPREADSHEET");
+    }
+
+    public get uitextEnterFSTitle() {
+        return this.intlService.localizeText("INFO_CHART_BUTTON_TITLE_ENTER_FS");
+    }
+
+    public get uitextExitFSTitle() {
+        return this.intlService.localizeText("INFO_CHART_BUTTON_TITLE_EXIT_FS");
+    }
+}
diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html
new file mode 100644
index 000000000..db8aa6d91
--- /dev/null
+++ b/src/app/components/pb-results/pb-results.component.html
@@ -0,0 +1,23 @@
+<div class="container">
+
+    <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log>
+
+    <variable-results-selector [results]="pbResults" (indexChange)="variableIndexChanged()">
+    </variable-results-selector>
+
+    <log #iterationLog></log>
+
+    <!-- tableau de résultats des bassins -->
+    <pb-results-table *ngIf="showBasinsResults" [results]="pbResults"></pb-results-table>
+
+    <!-- <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]"
+        [currentItem]="'charts'" [align]="'left'"></quicknav> -->
+
+    <!-- <div id="pb-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start">
+        <pb-profile-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
+        </pb-profile-chart>
+        <results-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
+        </results-chart>
+    </div> -->
+
+</div>
diff --git a/src/app/components/pb-results/pb-results.component.scss b/src/app/components/pb-results/pb-results.component.scss
new file mode 100644
index 000000000..446313ba6
--- /dev/null
+++ b/src/app/components/pb-results/pb-results.component.scss
@@ -0,0 +1,4 @@
+results-chart {
+    margin-left: 1em;
+    margin-right: 1em;
+}
diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts
new file mode 100644
index 000000000..5a031da13
--- /dev/null
+++ b/src/app/components/pb-results/pb-results.component.ts
@@ -0,0 +1,324 @@
+import { Component, ViewChild, DoCheck } from "@angular/core";
+
+import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd";
+
+import { LogComponent } from "../log/log.component";
+import { CalculatorResults } from "../../results/calculator-results";
+import { PbResultsTableComponent } from "./pb-results-table.component";
+import { PrebarrageResults } from "../../results/prebarrage-results";
+import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component";
+import { I18nService } from "../../services/internationalisation.service";
+import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart.component";
+import { FixedResults } from "../../results/fixed-results";
+
+@Component({
+    selector: "pb-results",
+    templateUrl: "./pb-results.component.html",
+    styleUrls: [
+        "./pb-results.component.scss"
+    ]
+})
+export class PbResultsComponent implements DoCheck {
+
+    /** résultats des bassins, non mis en forme */
+    private _pbResults: PrebarrageResults;
+
+    /** true si les résultats doiventt être remis à jour */
+    private _doUpdate = false;
+
+    @ViewChild(PbResultsTableComponent)
+    private pbResultsTableComponent: PbResultsTableComponent;
+
+    @ViewChild(VariableResultsSelectorComponent)
+    private variableResultsSelectorComponent: VariableResultsSelectorComponent;
+
+    @ViewChild("generalLog")
+    private generalLogComponent: LogComponent;
+
+    @ViewChild("iterationLog")
+    private iterationLogComponent: LogComponent;
+
+    /* @ViewChild(PabProfileChartComponent)
+    private profileChartComponent: PabProfileChartComponent; */
+
+    constructor(
+        private i18nService: I18nService,
+    ) { }
+
+    public set results(rs: CalculatorResults[]) {
+        this._pbResults = undefined;
+        for (const r of rs) {
+            if (r instanceof PrebarrageResults) {
+                this._pbResults = r as PrebarrageResults;
+            }
+        }
+        this.updateView();
+    }
+
+    public get pbResults() {
+        return this._pbResults;
+    }
+
+    public get hasResults(): boolean {
+        return this._pbResults && this._pbResults.hasResults;
+    }
+
+    public get showBasinsResults(): boolean {
+        let ret = this._pbResults && this._pbResults.hasResults;
+        if (
+            this._pbResults
+            && this._pbResults.variatedParameters
+            && this._pbResults.variatedParameters.length > 0
+        ) {
+            ret = ret
+            && this._pbResults.variableIndex !== undefined
+            && this._pbResults.result.resultElements[this._pbResults.variableIndex] !== undefined
+            && this._pbResults.result.resultElements[this._pbResults.variableIndex].ok;
+        }
+        return ret;
+    }
+
+    /**
+     * update results table and chart when the variable index changed (event sent by
+     * PabVariableResultsSelectorComponent); variable index is already set in
+     * pabResults at this time
+     */
+    public variableIndexChanged() {
+        this.updateView();
+    }
+
+    public updateView() {
+        if (this.iterationLogComponent) {
+            this.iterationLogComponent.log = undefined;
+        }
+        if (this.generalLogComponent) {
+            this.generalLogComponent.log = undefined;
+        }
+        if (this.pbResultsTableComponent) {
+            this.pbResultsTableComponent.results = undefined;
+        }
+        if (this.variableResultsSelectorComponent) {
+            this.variableResultsSelectorComponent.results = undefined;
+        }
+        /* if (this.profileChartComponent) {
+            this.profileChartComponent.results = undefined;
+        } */
+        // set _doUpdate flag so that results are rebuilt on the next Angular display cycle
+        this._doUpdate = false;
+        if (this._pbResults !== undefined) {
+            this._doUpdate = this._doUpdate || this._pbResults.hasResults || this._pbResults.hasLog;
+        }
+    }
+
+    public ngDoCheck() {
+        if (this._doUpdate) {
+            this._doUpdate = !this.updateResults();
+        }
+    }
+
+    /* private mergeGlobalLog(result: Result, log: cLog) {
+        if (result) {
+            if (result.hasGlobalLog()) {
+                log.addLog(result.globalLog);
+            }
+            // if no parameter is varying, 1st element log is considered "global"
+            if (this.pbResults.variatedParameters.length === 0) {
+                if (result.hasResultElements() && result.resultElement.hasLog()) {
+                    log.addLog(result.log);
+                }
+            }
+        }
+    } */
+
+    /**
+     * Returns the number of errors, warnings, infos among children logs
+     */
+    /* private logStats(): any {
+        const ret = {
+            info: 0,
+            warning: 0,
+            error: 0
+        };
+        if (this._pbResults.result && this._pbResults.result.hasLog()) {
+            for (const re of this._pbResults.result.resultElements) {
+                if (re.hasLog()) {
+                    for (const m of re.log.messages) {
+                        const s = m.getSeverity();
+                        switch (s) {
+                            case MessageSeverity.INFO:
+                                ret.info ++;
+                                break;
+                            case MessageSeverity.WARNING:
+                                ret.warning ++;
+                                break;
+                            case MessageSeverity.ERROR:
+                                ret.error ++;
+                                break;
+                        }
+                    }
+                }
+            }
+        }
+        for (const cr of this._pbResults.cloisonsResults) {
+            if (cr && cr.hasLog()) {
+                for (const re of cr.resultElements) {
+                    if (re.hasLog()) {
+                        for (const m of re.log.messages) {
+                            const s = m.getSeverity();
+                            switch (s) {
+                                case MessageSeverity.INFO:
+                                    ret.info ++;
+                                    break;
+                                case MessageSeverity.WARNING:
+                                    ret.warning ++;
+                                    break;
+                                case MessageSeverity.ERROR:
+                                    ret.error ++;
+                                    break;
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.hasLog()) {
+            for (const re of this._pbResults.cloisonAvalResults.resultElements) {
+                if (re.hasLog()) {
+                    for (const m of re.log.messages) {
+                        const s = m.getSeverity();
+                        switch (s) {
+                            case MessageSeverity.INFO:
+                                ret.info ++;
+                                break;
+                            case MessageSeverity.WARNING:
+                                ret.warning ++;
+                                break;
+                            case MessageSeverity.ERROR:
+                                ret.error ++;
+                                break;
+                        }
+                    }
+                }
+            }
+        }
+        return ret;
+    } */
+
+    /*
+     * Retourne les logs à afficher dans le composant de log global, au dessus
+     * du sélecteur d'itération : messages globaux et / ou résumé des messages
+     * spécifiques à chaque ResultElement
+     */
+    /* private get globalLog(): cLog {
+        const l = new cLog();
+        if (this._pbResults && this.pbResults.variatedParameters.length > 0) {
+            this.mergeGlobalLog(this._pbResults.result, l);
+            // un problème avec la PAB en général / les cloisons, à une étape quelconque ?
+            if (
+                (this.pbResults.hasLog)
+                && l.messages.length === 0 // existing global messages make generic message below useless
+            ) {
+                const logStats = this.logStats();
+                const m = new Message(MessageCode.WARNING_PROBLEMS_ENCOUNTERED);
+                m.extraVar.info = "" + logStats.info; // to avoid displaying fixed number of digits
+                m.extraVar.warning = "" + logStats.warning;
+                m.extraVar.error = "" + logStats.error;
+                l.add(m);
+                // l.add(new Message(MessageCode.WARNING_PROBLEMS_ENCOUNTERED));
+            }
+        } // sinon pas de log global (aucun paramètre ne varie)
+        return l;
+    } */
+
+    /**
+     * Retourne les logs à afficher dans le composant de log global, au dessus
+     * du sélecteur d'itération : messages globaux et / ou résumé des messages
+     * spécifiques à chaque ResultElement
+     */
+    /* private get iterationLog(): cLog {
+        const l = new cLog();
+        if (this._pbResults) {
+            if (this.pbResults.variatedParameters.length > 0) {
+                // A. si un paramètre varie
+                const vi = this._pbResults.variableIndex;
+                // log de la PAB pour l'itération en cours
+                if (
+                    this._pbResults.result
+                    && this._pbResults.result.hasResultElements()
+                    && this._pbResults.result.resultElements[vi]
+                    && this._pbResults.result.resultElements[vi].hasLog()
+                ) {
+                    l.addLog(this._pbResults.result.resultElements[vi].log);
+                }
+                // logs des enfants pour l'itération en cours
+                for (const cr of this._pbResults.cloisonsResults) {
+                    if (cr && cr.hasResultElements() && cr.resultElements[vi].hasLog()) {
+                        l.addLog(cr.resultElements[vi].log);
+                    }
+                }
+                if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.resultElements[vi].hasLog()) {
+                    l.addLog(this._pbResults.cloisonAvalResults.resultElements[vi].log);
+                }
+            } else {
+                // B. si aucun paramètre ne varie
+                this.mergeGlobalLog(this._pbResults.result, l); // faut bien mettre le log global quelque part
+                // logs des enfants
+                for (const cr of this._pbResults.cloisonsResults) {
+                    if (cr && cr.hasResultElements() && cr.resultElement.hasLog()) {
+                        l.addLog(cr.resultElement.log);
+                    }
+                }
+                if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.resultElement.hasLog()) {
+                    l.addLog(this._pbResults.cloisonAvalResults.resultElement.log);
+                }
+            }
+        }
+        return l;
+    } */
+
+    /**
+     * met à jour l'affichage des résultats
+     * @returns true si les résultats ont pu être mis à jour
+     */
+    private updateResults() {
+        console.log("------------ update results -----------");
+        let pabUpdated: boolean;
+        let profileChartUpdated: boolean;
+        let selectorUpdated: boolean;
+
+        // results or not, there might be a log
+        const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ?
+        if (logUpdated) {
+            // order of logs is important !
+            /* this.iterationLogComponent.log = this.iterationLog;
+            this.generalLogComponent.log = this.globalLog; */
+        }
+
+        if (this.hasResults) {
+            pabUpdated = this.pbResultsTableComponent !== undefined;
+            if (pabUpdated) {
+                this.pbResultsTableComponent.results = this._pbResults;
+            }
+            selectorUpdated = this.variableResultsSelectorComponent !== undefined;
+            if (selectorUpdated) {
+                this.variableResultsSelectorComponent.results = this._pbResults;
+            }
+            /* profileChartUpdated = this.profileChartComponent !== undefined;
+            if (profileChartUpdated) {
+                this.profileChartComponent.results = this._pbResults;
+                this.profileChartComponent.updateView();
+            } */
+        } else {
+            pabUpdated = true;
+            profileChartUpdated = true;
+            selectorUpdated = true;
+        }
+
+        return pabUpdated && logUpdated && profileChartUpdated && selectorUpdated;
+    }
+
+    public get uitextGeneralLogTitle(): string {
+        return this.i18nService.localizeText("INFO_TITREJOURNAL_GLOBAL");
+    }
+
+}
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index 0199451c3..8cd692893 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -1,4 +1,4 @@
-import { CalculatorType, PbBassin, PbCloison, IObservable } from "jalhyd";
+import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage } from "jalhyd";
 
 import { FormulaireFixedVar } from "./form-fixedvar";
 import { PbSchema } from "../elements/pb-schema";
@@ -6,6 +6,9 @@ import { FormulaireDefinition } from "./form-definition";
 import { ServiceFactory } from "../../services/service-factory";
 import { FormulairePbCloison } from "./form-pb-cloison";
 import { FieldsetContainer } from "../elements/fieldset-container";
+import { CalculatorResults } from "../../results/calculator-results";
+import { PrebarrageResults } from "../../results/prebarrage-results";
+import { NgParameter } from "../elements/ngparam";
 
 /**
  * Formulaire pour les PréBarrage
@@ -24,6 +27,34 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     /** configuration for re-creating wall form every time needed */
     private wallFormConfig: string;
 
+    protected _selectedItem: PbBassin | PbCloison;
+
+    protected _pbResults: PrebarrageResults;
+
+    constructor() {
+        super();
+        this._pbResults = new PrebarrageResults();
+    }
+
+    /* public get pbNub(): PreBarrage {
+        return this.currentNub as PreBarrage;
+    } */
+
+    public get pbResults(): PrebarrageResults {
+        return this._pbResults;
+    }
+
+    public get results(): CalculatorResults[] {
+        // ensure help links are propagated
+        this._pbResults.helpLinks = this.helpLinks;
+        console.log("RENVOI", [ this.fixedResults, this._pbResults ]);
+        return [ this.fixedResults, this._pbResults ];
+    }
+
+    public get hasResults(): boolean {
+        return this._pbResults.hasResults;
+    }
+
     public parseConfig(json?: {}) {
         if (json !== undefined) {
             this._jsonConfig = json;
@@ -82,7 +113,15 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
         this.kids.push(sch);
     }
 
+    /**
+     * Déclenché par CalculatorComponent lorsque le schéma de prébarrage
+     * envoie un événement "nodeSelected" (on a cliqué sur un nœud)
+     */
     public nodeSelected(node: PbBassin | PbCloison) {
+        // store for results formatting
+        this._selectedItem = node;
+        this.reaffectResultComponents();
+
         // show only the relevant form
         if (node === undefined) {
             this.showFormElements(this.riverForm);
@@ -156,4 +195,58 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             }
         }
     }
+
+    protected compute() {
+        this.runNubCalc(this.currentNub);
+        this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization
+        // reset variable index to avoid trying to access an index > 0 when nothing varies
+        const pabr = this.pbResults;
+        pabr.variableIndex = 0;
+
+        this.reaffectResultComponents();
+    }
+
+    protected reaffectResultComponents() {
+        const pb: PreBarrage = (this.currentNub as PreBarrage);
+        const computedParam: NgParameter = this.getComputedParameter();
+        const varParams: NgParameter[] = this.getVariatedParameters();
+
+        // pour le sélecteur d'itérations
+        if (varParams) {
+            this.pbResults.variatedParameters = varParams;
+        }
+
+        // résultats selon l'objet sélectionné sur le schéma
+        if (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison) {
+            // cacher les résultats de bassins
+            this.pbResults.reset();
+
+            // afficher les résultats de cloison
+            console.log("RRC => cloison !", this._selectedItem.uid, this._selectedItem.result);
+            this.fixedResults.result = this._selectedItem.result;
+            if (computedParam !== undefined) {
+                this.fixedResults.calculatedParameter = computedParam;
+            }
+        } else {
+            // cacher les résultats de la cloison
+            this.fixedResults.reset();
+            this.addFixedParameters();
+
+            // afficher les résultats des bassins
+            this.pbResults.reset();
+            // résultat général du Nub (amont, aval, débit)
+            this.pbResults.result = pb.result;
+            this.pbResults.calculatedParameter = computedParam;
+            // résultat de chaque bassin
+            for (const b of pb.bassins) {
+                this.pbResults.bassinsResults.push(b.result);
+            }
+        }
+    }
+
+    public resetResults() {
+        super.resetResults();
+        this._fixedResults.reset();
+        this._pbResults.reset();
+    }
 }
diff --git a/src/app/results/prebarrage-results.ts b/src/app/results/prebarrage-results.ts
new file mode 100644
index 000000000..cea988714
--- /dev/null
+++ b/src/app/results/prebarrage-results.ts
@@ -0,0 +1,111 @@
+import { Result } from "jalhyd";
+
+import { ServiceFactory } from "../services/service-factory";
+import { MultiDimensionResults } from "./multidimension-results";
+
+export class PrebarrageResults extends MultiDimensionResults {
+
+    /** résultats des bassins, dans l'ordre */
+    public bassinsResults: Result[];
+
+    /** symboles des colonnes de résultat */
+    protected _columns: string[];
+
+    public constructor() {
+        super();
+        this.reset();
+        // standard headers
+        this._columns = [
+            "BASSIN",
+            "S",
+            "ZF",
+            "Z",
+            "PV",
+            "YMOY",
+            "Q"
+        ];
+    }
+
+    /** headers symbols */
+    public get columns() {
+        return this._columns;
+    }
+
+    /** translated headers texts */
+    public get headers() {
+        return this._columns.map((h) => {
+            // calculator type for translation
+            const sn = this.result.sourceNub;
+            let ct = sn.calcType;
+            if (sn.parent) {
+                ct = sn.parent.calcType;
+            }
+            let label = ServiceFactory.instance.formulaireService.expandVariableNameAndUnit(ct , h);
+            label += this.getHelpLink(h);
+            return label;
+        });
+    }
+
+    public reset() {
+        super.reset();
+        this.bassinsResults = [];
+        this.result = undefined;
+    }
+
+    /**
+     * Returns true if at least one log message is present in the PAB result or any
+     * of the children results
+     */
+    public get hasLog(): boolean {
+        if (this.bassinsResults) {
+            for (const cr of this.bassinsResults) {
+                if (cr && cr.hasLog()) {
+                    return true;
+                }
+            }
+        }
+        return (this.result && this.result.hasLog());
+    }
+
+    // do not test result.ok else log messages will prevent partial results from being displayed
+    public get hasResults(): boolean {
+        return this.result !== undefined && ! this.result.hasOnlyErrors;
+    }
+
+    /** retourne true si au moins un calcul a échoué (le log a un code négatif) */
+    public hasError(): boolean {
+        let err = false;
+        // log principal
+        err = (err || this.result.hasErrorMessages());
+        // logs des bassins
+        for (const c of this.bassinsResults) {
+            err = (err || c.hasErrorMessages());
+        }
+
+        return err;
+    }
+
+    /** retourne true si le calcul à l'itération i a échoué */
+    public iterationHasError(i: number): boolean {
+        let err = this.result.resultElements[i].hasErrorMessages();
+        // logs des bassins
+        for (const c of this.bassinsResults) {
+            err = (err || c.resultElements[i].hasErrorMessages());
+        }
+
+        return err;
+    }
+
+    /** retourne true si tous les calculs ont échoué */
+    public hasOnlyErrors(): boolean {
+        let err = true;
+        // log principal
+        err = (err && this.result.hasOnlyErrors);
+        // logs des bassins
+        for (const c of this.bassinsResults) {
+            err = (err && c.hasOnlyErrors);
+        }
+
+        return err;
+    }
+}
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index db13bcf97..999715697 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -217,6 +217,7 @@
     "INFO_LIB_AMONT": "Upstream",
     "INFO_LIB_AVAL": "Downstream",
     "INFO_LIB_B": "Surface width",
+    "INFO_LIB_BASSIN": "Basin",
     "INFO_LIB_BB": "Pool width",
     "INFO_LIB_BETA": "Beta coefficient",
     "INFO_LIB_BT": "Half opening of the triangle",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 17286526d..7c9254fe8 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -217,6 +217,7 @@
     "INFO_LIB_AMONT": "Amont",
     "INFO_LIB_AVAL": "Aval",
     "INFO_LIB_B": "Largeur au miroir",
+    "INFO_LIB_BASSIN": "Bassin",
     "INFO_LIB_BB": "Largeur du bassin",
     "INFO_LIB_BETA": "Coefficient béta",
     "INFO_LIB_BT": "Demi-ouverture du triangle",
-- 
GitLab


From 11b3a5888f634dc693e1adbac6c0226a73eacea4 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Mon, 6 Jul 2020 14:30:57 +0200
Subject: [PATCH 090/117] Disable CLI analytics in config file (easier for CI)

---
 angular.json | 21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

diff --git a/angular.json b/angular.json
index 5e5ff3530..5242f68a4 100644
--- a/angular.json
+++ b/angular.json
@@ -22,9 +22,21 @@
               "src/locale",
               "src/favicon.ico",
               "src/.htaccess",
-              { "glob": "**/*.json", "input": "src/", "output": "/" },
-              { "glob": "**/*.md", "input": "src/", "output": "/" },
-              { "glob": "**/*.png", "input": "src/", "output": "/" }
+              {
+                "glob": "**/*.json",
+                "input": "src/",
+                "output": "/"
+              },
+              {
+                "glob": "**/*.md",
+                "input": "src/",
+                "output": "/"
+              },
+              {
+                "glob": "**/*.png",
+                "input": "src/",
+                "output": "/"
+              }
             ],
             "styles": [
               "src/styles.scss",
@@ -156,5 +168,8 @@
     "@schematics/angular:directive": {
       "prefix": "app"
     }
+  },
+  "cli": {
+    "analytics": false
   }
 }
\ No newline at end of file
-- 
GitLab


From 679ede5f4d8d60b379505bdb46c36ec20a5eca06 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 7 Jul 2020 13:45:40 +0200
Subject: [PATCH 091/117] Updated e2e for PreBarrage

---
 e2e/calculator.po.ts | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/e2e/calculator.po.ts b/e2e/calculator.po.ts
index 1edff79f8..1f6459a1a 100644
--- a/e2e/calculator.po.ts
+++ b/e2e/calculator.po.ts
@@ -129,6 +129,8 @@ export class CalculatorPage {
       ||
       await element(by.css("pab-results pab-results-table")).isPresent()
       ||
+      await element(by.css("pb-results pb-results-table")).isPresent()
+      ||
       await element(by.css("macrorugo-compound-results macrorugo-compound-results-table")).isPresent()
       ||
       await element(by.css("jet-results .fixed-results-container")).isPresent()
-- 
GitLab


From 82724574762d946d55b2ef30c46998c349d10084 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 7 Jul 2020 13:45:50 +0200
Subject: [PATCH 092/117] Updated dependencies

---
 package-lock.json | 1161 +++++++++++++++++++++++----------------------
 package.json      |   14 +-
 2 files changed, 596 insertions(+), 579 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 19e987aa4..3bc4005a3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,12 +11,12 @@
       "dev": true
     },
     "@angular-devkit/architect": {
-      "version": "0.901.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.9.tgz",
-      "integrity": "sha512-Xokyh7bv4qICHpb5Xui1jPTi6ZZvzR5tbTIxT0DFWqw16TEkFgkNubQsW6mFSR3g3CXdySMfOwWExfa/rE1ggA==",
+      "version": "0.901.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.10.tgz",
+      "integrity": "sha512-JRYT5wBLe0zb1VoQIVV/Q6RmwW1whYMb4wx9LwEFvux6qzaHit/xaWV2xCIarZzM/LR3fOwk2bQjkRrS4/yJfg==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.9",
+        "@angular-devkit/core": "9.1.10",
         "rxjs": "6.5.4"
       },
       "dependencies": {
@@ -38,21 +38,21 @@
       }
     },
     "@angular-devkit/build-angular": {
-      "version": "0.901.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.9.tgz",
-      "integrity": "sha512-eC6iZQR5tr9dz/SkR3/3Y8Fau/2IzEfHlFCf2mqsOLkbc0MWyM/3RcuZQhRGdVOyzDCIbfzJGY0N3ejkEn2EUg==",
+      "version": "0.901.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.10.tgz",
+      "integrity": "sha512-1OU5wuKNA9fIOyPOgNyRwom2W8KnWNiIeDNenDgPdU0qhzUS6xEGZH9LQbu6siWUtEfltxTJWC73wZWm78LYMA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.901.9",
-        "@angular-devkit/build-optimizer": "0.901.9",
-        "@angular-devkit/build-webpack": "0.901.9",
-        "@angular-devkit/core": "9.1.9",
+        "@angular-devkit/architect": "0.901.10",
+        "@angular-devkit/build-optimizer": "0.901.10",
+        "@angular-devkit/build-webpack": "0.901.10",
+        "@angular-devkit/core": "9.1.10",
         "@babel/core": "7.9.0",
         "@babel/generator": "7.9.3",
         "@babel/preset-env": "7.9.0",
         "@babel/template": "7.8.6",
         "@jsdevtools/coverage-istanbul-loader": "3.0.3",
-        "@ngtools/webpack": "9.1.9",
+        "@ngtools/webpack": "9.1.10",
         "ajv": "6.12.0",
         "autoprefixer": "9.7.4",
         "babel-loader": "8.0.6",
@@ -60,7 +60,7 @@
         "cacache": "15.0.0",
         "caniuse-lite": "^1.0.30001032",
         "circular-dependency-plugin": "5.2.0",
-        "copy-webpack-plugin": "6.0.2",
+        "copy-webpack-plugin": "6.0.3",
         "core-js": "3.6.4",
         "css-loader": "3.5.1",
         "cssnano": "4.1.10",
@@ -202,9 +202,9 @@
       }
     },
     "@angular-devkit/build-optimizer": {
-      "version": "0.901.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.9.tgz",
-      "integrity": "sha512-AcDhE7RHmaVEaDB02MHp1PR2gdUg3+G/12pDC3GeAlfP1GD/sVBpcqPL6DHFp0dMm/FsvSfVSaXpzD7jZBeIKQ==",
+      "version": "0.901.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.10.tgz",
+      "integrity": "sha512-twbHoicbxEfSqPWD8BroYrAjUdCTFlp4RSEL/da/UI7QuDPIWILsKVLAGeBMD3NII8VfOw746S5oZQbrvYU/aQ==",
       "dev": true,
       "requires": {
         "loader-utils": "2.0.0",
@@ -229,13 +229,13 @@
       }
     },
     "@angular-devkit/build-webpack": {
-      "version": "0.901.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.9.tgz",
-      "integrity": "sha512-Bha9LruitixhtJm72FGzqfDfgsOsrMT3EbNSql2muyoELIYbLDOvNZjcDD06CPcOAWSg6/tH9caOTFS2Zj9yOw==",
+      "version": "0.901.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.10.tgz",
+      "integrity": "sha512-7rMH7vehVCTlP1y1h0rAKCYAksnDOWTUIjJ2mdfCvVy3CHrqcBMk68748bv3AOvNY6jzppHh8XD/SyMSh2cmzQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.901.9",
-        "@angular-devkit/core": "9.1.9",
+        "@angular-devkit/architect": "0.901.10",
+        "@angular-devkit/core": "9.1.10",
         "rxjs": "6.5.4"
       },
       "dependencies": {
@@ -257,9 +257,9 @@
       }
     },
     "@angular-devkit/core": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.9.tgz",
-      "integrity": "sha512-SWgBh4an/Vezjw2BZ5S+bKvuK5lH6gOtR8d5YjN9vxpJSZ0GimrGjfnLlWOkwWAsU8jfn4JzofECUHwX/7EW6Q==",
+      "version": "9.1.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.10.tgz",
+      "integrity": "sha512-HPY/ifVqNd0Muh2RG1wyWQAxPhLgscDyhE5rBty6LVr7i5VwqJpSD5F0NTOemV8SXAyZ5orn1MVWO/TmL6ktrw==",
       "dev": true,
       "requires": {
         "ajv": "6.12.0",
@@ -311,12 +311,12 @@
       }
     },
     "@angular-devkit/schematics": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.9.tgz",
-      "integrity": "sha512-aKuMmS3wshOTl9+01jiB50ml09fRN1WfOOtoNqwvKTEi87DrT6Mn3l0eVQo8PJK/bIq/FBmPgsIl2nsETiBSxg==",
+      "version": "9.1.10",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.10.tgz",
+      "integrity": "sha512-rMNK2/cWSWhTB35nu9oxPyr130qq/OGkRctAHHG8bGm4K6RH30bPTjbHNbo3L2dc3ZJLHoE9Y8uGMLrZ2XqtNQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.9",
+        "@angular-devkit/core": "9.1.10",
         "ora": "4.0.3",
         "rxjs": "6.5.4"
       },
@@ -360,16 +360,16 @@
       }
     },
     "@angular/cli": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.9.tgz",
-      "integrity": "sha512-k8C0OY3oHoixd3buCgF8+VFe8YZGSGiprnbVMEF2WJHUUw87lPCu/d7dbID3AtVwdKdAB275rAt6IZEIzXInbw==",
+      "version": "9.1.10",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.10.tgz",
+      "integrity": "sha512-jCxdw+oCK1ZgkBoD/TE8wKMoByaxHj8eb3yv4gB62aL66dg3A8MAPEQBOD7K3tBYDnxE6Z7QX+3f2Xc5Ivfvdw==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.901.9",
-        "@angular-devkit/core": "9.1.9",
-        "@angular-devkit/schematics": "9.1.9",
-        "@schematics/angular": "9.1.9",
-        "@schematics/update": "0.901.9",
+        "@angular-devkit/architect": "0.901.10",
+        "@angular-devkit/core": "9.1.10",
+        "@angular-devkit/schematics": "9.1.10",
+        "@schematics/angular": "9.1.10",
+        "@schematics/update": "0.901.10",
         "@yarnpkg/lockfile": "1.1.0",
         "ansi-colors": "4.1.1",
         "debug": "4.1.1",
@@ -716,9 +716,9 @@
       }
     },
     "@babel/compat-data": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.3.tgz",
-      "integrity": "sha512-BDIfJ9uNZuI0LajPfoYV28lX8kyCPMHY6uY4WH1lJdcicmAfxCK5ASzaeV0D/wsUaRH/cLk+amuxtC37sZ8TUg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.10.4.tgz",
+      "integrity": "sha512-t+rjExOrSVvjQQXNp5zAIYDp00KjdvGl/TpDX5REPr0S9IAIPQMTilcfG6q8c0QFmj9lSTVySV2VTsyggvtNIw==",
       "dev": true,
       "requires": {
         "browserslist": "^4.12.0",
@@ -751,21 +751,21 @@
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
-          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.3"
+            "@babel/highlight": "^7.10.4"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
-          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+          "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.3",
+            "@babel/helper-validator-identifier": "^7.10.4",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
@@ -823,31 +823,31 @@
       }
     },
     "@babel/helper-annotate-as-pure": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz",
-      "integrity": "sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz",
+      "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.3.tgz",
-      "integrity": "sha512-lo4XXRnBlU6eRM92FkiZxpo1xFLmv3VsPFk61zJKMm7XYJfwqXHsYJTY6agoc4a3L8QPw1HqWehO18coZgbT6A==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz",
+      "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==",
       "dev": true,
       "requires": {
-        "@babel/helper-explode-assignable-expression": "^7.10.3",
-        "@babel/types": "^7.10.3"
+        "@babel/helper-explode-assignable-expression": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-compilation-targets": {
-      "version": "7.10.2",
-      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.2.tgz",
-      "integrity": "sha512-hYgOhF4To2UTB4LTaZepN/4Pl9LD4gfbJx8A34mqoluT8TLbof1mhUlYuNWTEebONa8+UlCC4X0TEXu7AOUyGA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.10.4.tgz",
+      "integrity": "sha512-a3rYhlsGV0UHNDvrtOXBg8/OpfV0OKTkxKPzIplS1zpx7CygDcWWxckxZeDd3gzPzC4kUT0A4nVFDK0wGMh4MQ==",
       "dev": true,
       "requires": {
-        "@babel/compat-data": "^7.10.1",
+        "@babel/compat-data": "^7.10.4",
         "browserslist": "^4.12.0",
         "invariant": "^2.2.4",
         "levenary": "^1.1.1",
@@ -855,390 +855,390 @@
       }
     },
     "@babel/helper-create-regexp-features-plugin": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz",
-      "integrity": "sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz",
+      "integrity": "sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-regex": "^7.10.1",
+        "@babel/helper-annotate-as-pure": "^7.10.4",
+        "@babel/helper-regex": "^7.10.4",
         "regexpu-core": "^4.7.0"
       }
     },
     "@babel/helper-define-map": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.3.tgz",
-      "integrity": "sha512-bxRzDi4Sin/k0drWCczppOhov1sBSdBvXJObM1NLHQzjhXhwRtn7aRWGvLJWCYbuu2qUk3EKs6Ci9C9ps8XokQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz",
+      "integrity": "sha512-nIij0oKErfCnLUCWaCaHW0Bmtl2RO9cN7+u2QT8yqTywgALKlyUVOvHDElh+b5DwVC6YB1FOYFOTWcN/+41EDA==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.10.3",
-        "@babel/types": "^7.10.3",
+        "@babel/helper-function-name": "^7.10.4",
+        "@babel/types": "^7.10.4",
         "lodash": "^4.17.13"
       }
     },
     "@babel/helper-explode-assignable-expression": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.3.tgz",
-      "integrity": "sha512-0nKcR64XrOC3lsl+uhD15cwxPvaB6QKUDlD84OT9C3myRbhJqTMYir69/RWItUvHpharv0eJ/wk7fl34ONSwZw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz",
+      "integrity": "sha512-4K71RyRQNPRrR85sr5QY4X3VwG4wtVoXZB9+L3r1Gp38DhELyHCtovqydRi7c1Ovb17eRGiQ/FD5s8JdU0Uy5A==",
       "dev": true,
       "requires": {
-        "@babel/traverse": "^7.10.3",
-        "@babel/types": "^7.10.3"
+        "@babel/traverse": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-function-name": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.3.tgz",
-      "integrity": "sha512-FvSj2aiOd8zbeqijjgqdMDSyxsGHaMt5Tr0XjQsGKHD3/1FP3wksjnLAWzxw7lvXiej8W1Jt47SKTZ6upQNiRw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz",
+      "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-get-function-arity": "^7.10.3",
-        "@babel/template": "^7.10.3",
-        "@babel/types": "^7.10.3"
+        "@babel/helper-get-function-arity": "^7.10.4",
+        "@babel/template": "^7.10.4",
+        "@babel/types": "^7.10.4"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
-          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.3"
+            "@babel/highlight": "^7.10.4"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
-          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+          "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.3",
+            "@babel/helper-validator-identifier": "^7.10.4",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
-          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+          "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.3",
-            "@babel/parser": "^7.10.3",
-            "@babel/types": "^7.10.3"
+            "@babel/code-frame": "^7.10.4",
+            "@babel/parser": "^7.10.4",
+            "@babel/types": "^7.10.4"
           }
         }
       }
     },
     "@babel/helper-get-function-arity": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.3.tgz",
-      "integrity": "sha512-iUD/gFsR+M6uiy69JA6fzM5seno8oE85IYZdbVVEuQaZlEzMO2MXblh+KSPJgsZAUx0EEbWXU0yJaW7C9CdAVg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz",
+      "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.3"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-hoist-variables": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.3.tgz",
-      "integrity": "sha512-9JyafKoBt5h20Yv1+BXQMdcXXavozI1vt401KBiRc2qzUepbVnd7ogVNymY1xkQN9fekGwfxtotH2Yf5xsGzgg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz",
+      "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.3"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-member-expression-to-functions": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.3.tgz",
-      "integrity": "sha512-q7+37c4EPLSjNb2NmWOjNwj0+BOyYlssuQ58kHEWk1Z78K5i8vTUsteq78HMieRPQSl/NtpQyJfdjt3qZ5V2vw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz",
+      "integrity": "sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.3"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-module-imports": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.3.tgz",
-      "integrity": "sha512-Jtqw5M9pahLSUWA+76nhK9OG8nwYXzhQzVIGFoNaHnXF/r4l7kz4Fl0UAW7B6mqC5myoJiBP5/YQlXQTMfHI9w==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz",
+      "integrity": "sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.3"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-module-transforms": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.1.tgz",
-      "integrity": "sha512-RLHRCAzyJe7Q7sF4oy2cB+kRnU4wDZY/H2xJFGof+M+SJEGhZsb+GFj5j1AD8NiSaVBJ+Pf0/WObiXu/zxWpFg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz",
+      "integrity": "sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "^7.10.1",
-        "@babel/helper-replace-supers": "^7.10.1",
-        "@babel/helper-simple-access": "^7.10.1",
-        "@babel/helper-split-export-declaration": "^7.10.1",
-        "@babel/template": "^7.10.1",
-        "@babel/types": "^7.10.1",
+        "@babel/helper-module-imports": "^7.10.4",
+        "@babel/helper-replace-supers": "^7.10.4",
+        "@babel/helper-simple-access": "^7.10.4",
+        "@babel/helper-split-export-declaration": "^7.10.4",
+        "@babel/template": "^7.10.4",
+        "@babel/types": "^7.10.4",
         "lodash": "^4.17.13"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
-          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.3"
+            "@babel/highlight": "^7.10.4"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
-          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+          "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.3",
+            "@babel/helper-validator-identifier": "^7.10.4",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
-          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+          "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.3",
-            "@babel/parser": "^7.10.3",
-            "@babel/types": "^7.10.3"
+            "@babel/code-frame": "^7.10.4",
+            "@babel/parser": "^7.10.4",
+            "@babel/types": "^7.10.4"
           }
         }
       }
     },
     "@babel/helper-optimise-call-expression": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.3.tgz",
-      "integrity": "sha512-kT2R3VBH/cnSz+yChKpaKRJQJWxdGoc6SjioRId2wkeV3bK0wLLioFpJROrX0U4xr/NmxSSAWT/9Ih5snwIIzg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz",
+      "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.3"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-plugin-utils": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.3.tgz",
-      "integrity": "sha512-j/+j8NAWUTxOtx4LKHybpSClxHoq6I91DQ/mKgAXn5oNUPIUiGppjPIX3TDtJWPrdfP9Kfl7e4fgVMiQR9VE/g==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+      "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==",
       "dev": true
     },
     "@babel/helper-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.1.tgz",
-      "integrity": "sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.4.tgz",
+      "integrity": "sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ==",
       "dev": true,
       "requires": {
         "lodash": "^4.17.13"
       }
     },
     "@babel/helper-remap-async-to-generator": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.3.tgz",
-      "integrity": "sha512-sLB7666ARbJUGDO60ZormmhQOyqMX/shKBXZ7fy937s+3ID8gSrneMvKSSb+8xIM5V7Vn6uNVtOY1vIm26XLtA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.10.4.tgz",
+      "integrity": "sha512-86Lsr6NNw3qTNl+TBcF1oRZMaVzJtbWTyTko+CQL/tvNvcGYEFKbLXDPxtW0HKk3McNOk4KzY55itGWCAGK5tg==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-wrap-function": "^7.10.1",
-        "@babel/template": "^7.10.3",
-        "@babel/traverse": "^7.10.3",
-        "@babel/types": "^7.10.3"
+        "@babel/helper-annotate-as-pure": "^7.10.4",
+        "@babel/helper-wrap-function": "^7.10.4",
+        "@babel/template": "^7.10.4",
+        "@babel/traverse": "^7.10.4",
+        "@babel/types": "^7.10.4"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
-          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.3"
+            "@babel/highlight": "^7.10.4"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
-          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+          "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.3",
+            "@babel/helper-validator-identifier": "^7.10.4",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
-          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+          "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.3",
-            "@babel/parser": "^7.10.3",
-            "@babel/types": "^7.10.3"
+            "@babel/code-frame": "^7.10.4",
+            "@babel/parser": "^7.10.4",
+            "@babel/types": "^7.10.4"
           }
         }
       }
     },
     "@babel/helper-replace-supers": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.1.tgz",
-      "integrity": "sha512-SOwJzEfpuQwInzzQJGjGaiG578UYmyi2Xw668klPWV5n07B73S0a9btjLk/52Mlcxa+5AdIYqws1KyXRfMoB7A==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz",
+      "integrity": "sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A==",
       "dev": true,
       "requires": {
-        "@babel/helper-member-expression-to-functions": "^7.10.1",
-        "@babel/helper-optimise-call-expression": "^7.10.1",
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/helper-member-expression-to-functions": "^7.10.4",
+        "@babel/helper-optimise-call-expression": "^7.10.4",
+        "@babel/traverse": "^7.10.4",
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-simple-access": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.1.tgz",
-      "integrity": "sha512-VSWpWzRzn9VtgMJBIWTZ+GP107kZdQ4YplJlCmIrjoLVSi/0upixezHCDG8kpPVTBJpKfxTH01wDhh+jS2zKbw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz",
+      "integrity": "sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/template": "^7.10.4",
+        "@babel/types": "^7.10.4"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
-          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.3"
+            "@babel/highlight": "^7.10.4"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
-          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+          "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.3",
+            "@babel/helper-validator-identifier": "^7.10.4",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
-          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+          "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.3",
-            "@babel/parser": "^7.10.3",
-            "@babel/types": "^7.10.3"
+            "@babel/code-frame": "^7.10.4",
+            "@babel/parser": "^7.10.4",
+            "@babel/types": "^7.10.4"
           }
         }
       }
     },
     "@babel/helper-split-export-declaration": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.1.tgz",
-      "integrity": "sha512-UQ1LVBPrYdbchNhLwj6fetj46BcFwfS4NllJo/1aJsT+1dLTEnXJL0qHqtY7gPzF8S2fXBJamf1biAXV3X077g==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz",
+      "integrity": "sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.10.1"
+        "@babel/types": "^7.10.4"
       }
     },
     "@babel/helper-validator-identifier": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz",
-      "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
+      "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
       "dev": true
     },
     "@babel/helper-wrap-function": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.1.tgz",
-      "integrity": "sha512-C0MzRGteVDn+H32/ZgbAv5r56f2o1fZSA/rj/TYo8JEJNHg+9BdSmKBUND0shxWRztWhjlT2cvHYuynpPsVJwQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz",
+      "integrity": "sha512-6py45WvEF0MhiLrdxtRjKjufwLL1/ob2qDJgg5JgNdojBAZSAKnAjkyOCNug6n+OBl4VW76XjvgSFTdaMcW0Ug==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/template": "^7.10.1",
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/helper-function-name": "^7.10.4",
+        "@babel/template": "^7.10.4",
+        "@babel/traverse": "^7.10.4",
+        "@babel/types": "^7.10.4"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
-          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.3"
+            "@babel/highlight": "^7.10.4"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
-          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+          "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.3",
+            "@babel/helper-validator-identifier": "^7.10.4",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
-          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+          "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.3",
-            "@babel/parser": "^7.10.3",
-            "@babel/types": "^7.10.3"
+            "@babel/code-frame": "^7.10.4",
+            "@babel/parser": "^7.10.4",
+            "@babel/types": "^7.10.4"
           }
         }
       }
     },
     "@babel/helpers": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.1.tgz",
-      "integrity": "sha512-muQNHF+IdU6wGgkaJyhhEmI54MOZBKsFfsXFhboz1ybwJ1Kl7IHlbm2a++4jwrmY5UYsgitt5lfqo1wMFcHmyw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.10.4.tgz",
+      "integrity": "sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.10.1",
-        "@babel/traverse": "^7.10.1",
-        "@babel/types": "^7.10.1"
+        "@babel/template": "^7.10.4",
+        "@babel/traverse": "^7.10.4",
+        "@babel/types": "^7.10.4"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
-          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.3"
+            "@babel/highlight": "^7.10.4"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
-          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+          "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.3",
+            "@babel/helper-validator-identifier": "^7.10.4",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
         },
         "@babel/template": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.3.tgz",
-          "integrity": "sha512-5BjI4gdtD+9fHZUsaxPHPNpwa+xRkDO7c7JbhYn2afvrkDu5SfAAbi9AIMXw2xEhO/BR35TqiW97IqNvCo/GqA==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz",
+          "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==",
           "dev": true,
           "requires": {
-            "@babel/code-frame": "^7.10.3",
-            "@babel/parser": "^7.10.3",
-            "@babel/types": "^7.10.3"
+            "@babel/code-frame": "^7.10.4",
+            "@babel/parser": "^7.10.4",
+            "@babel/types": "^7.10.4"
           }
         }
       }
@@ -1263,101 +1263,101 @@
       }
     },
     "@babel/parser": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.3.tgz",
-      "integrity": "sha512-oJtNJCMFdIMwXGmx+KxuaD7i3b8uS7TTFYW/FNG2BT8m+fmGHoiPYoH0Pe3gya07WuFmM5FCDIr1x0irkD/hyA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.10.4.tgz",
+      "integrity": "sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA==",
       "dev": true
     },
     "@babel/plugin-proposal-async-generator-functions": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.3.tgz",
-      "integrity": "sha512-WUUWM7YTOudF4jZBAJIW9D7aViYC/Fn0Pln4RIHlQALyno3sXSjqmTA4Zy1TKC2D49RCR8Y/Pn4OIUtEypK3CA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.10.4.tgz",
+      "integrity": "sha512-MJbxGSmejEFVOANAezdO39SObkURO5o/8b6fSH6D1pi9RZQt+ldppKPXfqgUWpSQ9asM6xaSaSJIaeWMDRP0Zg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.3",
-        "@babel/helper-remap-async-to-generator": "^7.10.3",
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/helper-remap-async-to-generator": "^7.10.4",
         "@babel/plugin-syntax-async-generators": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-dynamic-import": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.1.tgz",
-      "integrity": "sha512-Cpc2yUVHTEGPlmiQzXj026kqwjEQAD9I4ZC16uzdbgWgitg/UHKHLffKNCQZ5+y8jpIZPJcKcwsr2HwPh+w3XA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.10.4.tgz",
+      "integrity": "sha512-up6oID1LeidOOASNXgv/CFbgBqTuKJ0cJjz6An5tWD+NVBNlp3VNSBxv2ZdU7SYl3NxJC7agAQDApZusV6uFwQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-dynamic-import": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-json-strings": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.1.tgz",
-      "integrity": "sha512-m8r5BmV+ZLpWPtMY2mOKN7wre6HIO4gfIiV+eOmsnZABNenrt/kzYBwrh+KOfgumSWpnlGs5F70J8afYMSJMBg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.10.4.tgz",
+      "integrity": "sha512-fCL7QF0Jo83uy1K0P2YXrfX11tj3lkpN7l4dMv9Y9VkowkhkQDwFHFd8IiwyK5MZjE8UpbgokkgtcReH88Abaw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-json-strings": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-nullish-coalescing-operator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.1.tgz",
-      "integrity": "sha512-56cI/uHYgL2C8HVuHOuvVowihhX0sxb3nnfVRzUeVHTWmRHTZrKuAh/OBIMggGU/S1g/1D2CRCXqP+3u7vX7iA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.10.4.tgz",
+      "integrity": "sha512-wq5n1M3ZUlHl9sqT2ok1T2/MTt6AXE0e1Lz4WzWBr95LsAZ5qDXe4KnFuauYyEyLiohvXFMdbsOTMyLZs91Zlw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-numeric-separator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.1.tgz",
-      "integrity": "sha512-jjfym4N9HtCiNfyyLAVD8WqPYeHUrw4ihxuAynWj6zzp2gf9Ey2f7ImhFm6ikB3CLf5Z/zmcJDri6B4+9j9RsA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.10.4.tgz",
+      "integrity": "sha512-73/G7QoRoeNkLZFxsoCCvlg4ezE4eM+57PnOqgaPOozd5myfj7p0muD1mRVJvbUWbOzD+q3No2bWbaKy+DJ8DA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
       }
     },
     "@babel/plugin-proposal-object-rest-spread": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.3.tgz",
-      "integrity": "sha512-ZZh5leCIlH9lni5bU/wB/UcjtcVLgR8gc+FAgW2OOY+m9h1II3ItTO1/cewNUcsIDZSYcSaz/rYVls+Fb0ExVQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz",
+      "integrity": "sha512-6vh4SqRuLLarjgeOf4EaROJAHjvu9Gl+/346PbDH9yWbJyfnJ/ah3jmYKYtswEyCoWZiidvVHjHshd4WgjB9BA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.3",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
-        "@babel/plugin-transform-parameters": "^7.10.1"
+        "@babel/plugin-transform-parameters": "^7.10.4"
       }
     },
     "@babel/plugin-proposal-optional-catch-binding": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.1.tgz",
-      "integrity": "sha512-VqExgeE62YBqI3ogkGoOJp1R6u12DFZjqwJhqtKc2o5m1YTUuUWnos7bZQFBhwkxIFpWYJ7uB75U7VAPPiKETA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.10.4.tgz",
+      "integrity": "sha512-LflT6nPh+GK2MnFiKDyLiqSqVHkQnVf7hdoAvyTnnKj9xB3docGRsdPuxp6qqqW19ifK3xgc9U5/FwrSaCNX5g==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-optional-catch-binding": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-optional-chaining": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.3.tgz",
-      "integrity": "sha512-yyG3n9dJ1vZ6v5sfmIlMMZ8azQoqx/5/nZTSWX1td6L1H1bsjzA8TInDChpafCZiJkeOFzp/PtrfigAQXxI1Ng==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.10.4.tgz",
+      "integrity": "sha512-ZIhQIEeavTgouyMSdZRap4VPPHqJJ3NEs2cuHs5p0erH+iz6khB0qfgU8g7UuJkG88+fBMy23ZiU+nuHvekJeQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.3",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-optional-chaining": "^7.8.0"
       }
     },
     "@babel/plugin-proposal-unicode-property-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz",
-      "integrity": "sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz",
+      "integrity": "sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-syntax-async-generators": {
@@ -1397,12 +1397,12 @@
       }
     },
     "@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.1.tgz",
-      "integrity": "sha512-uTd0OsHrpe3tH5gRPTxG8Voh99/WCU78vIm5NMRYPAqC8lR4vajt6KkCAknCHrx24vkPdd/05yfdGSB4EIY2mg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-syntax-object-rest-spread": {
@@ -1433,318 +1433,318 @@
       }
     },
     "@babel/plugin-syntax-top-level-await": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.1.tgz",
-      "integrity": "sha512-hgA5RYkmZm8FTFT3yu2N9Bx7yVVOKYT6yEdXXo6j2JTm0wNxgqaGeQVaSHRjhfnQbX91DtjFB6McRFSlcJH3xQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz",
+      "integrity": "sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-arrow-functions": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.1.tgz",
-      "integrity": "sha512-6AZHgFJKP3DJX0eCNJj01RpytUa3SOGawIxweHkNX2L6PYikOZmoh5B0d7hIHaIgveMjX990IAa/xK7jRTN8OA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.10.4.tgz",
+      "integrity": "sha512-9J/oD1jV0ZCBcgnoFWFq1vJd4msoKb/TCpGNFyyLt0zABdcvgK3aYikZ8HjzB14c26bc7E3Q1yugpwGy2aTPNA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-async-to-generator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.1.tgz",
-      "integrity": "sha512-XCgYjJ8TY2slj6SReBUyamJn3k2JLUIiiR5b6t1mNCMSvv7yx+jJpaewakikp0uWFQSF7ChPPoe3dHmXLpISkg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.10.4.tgz",
+      "integrity": "sha512-F6nREOan7J5UXTLsDsZG3DXmZSVofr2tGNwfdrVwkDWHfQckbQXnXSPfD7iO+c/2HGqycwyLST3DnZ16n+cBJQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-remap-async-to-generator": "^7.10.1"
+        "@babel/helper-module-imports": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/helper-remap-async-to-generator": "^7.10.4"
       }
     },
     "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.1.tgz",
-      "integrity": "sha512-B7K15Xp8lv0sOJrdVAoukKlxP9N59HS48V1J3U/JGj+Ad+MHq+am6xJVs85AgXrQn4LV8vaYFOB+pr/yIuzW8Q==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.10.4.tgz",
+      "integrity": "sha512-WzXDarQXYYfjaV1szJvN3AD7rZgZzC1JtjJZ8dMHUyiK8mxPRahynp14zzNjU3VkPqPsO38CzxiWO1c9ARZ8JA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-block-scoping": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.1.tgz",
-      "integrity": "sha512-8bpWG6TtF5akdhIm/uWTyjHqENpy13Fx8chg7pFH875aNLwX8JxIxqm08gmAT+Whe6AOmaTeLPe7dpLbXt+xUw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.10.4.tgz",
+      "integrity": "sha512-J3b5CluMg3hPUii2onJDRiaVbPtKFPLEaV5dOPY5OeAbDi1iU/UbbFFTgwb7WnanaDy7bjU35kc26W3eM5Qa0A==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "lodash": "^4.17.13"
       }
     },
     "@babel/plugin-transform-classes": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.3.tgz",
-      "integrity": "sha512-irEX0ChJLaZVC7FvvRoSIxJlmk0IczFLcwaRXUArBKYHCHbOhe57aG8q3uw/fJsoSXvZhjRX960hyeAGlVBXZw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-define-map": "^7.10.3",
-        "@babel/helper-function-name": "^7.10.3",
-        "@babel/helper-optimise-call-expression": "^7.10.3",
-        "@babel/helper-plugin-utils": "^7.10.3",
-        "@babel/helper-replace-supers": "^7.10.1",
-        "@babel/helper-split-export-declaration": "^7.10.1",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.10.4.tgz",
+      "integrity": "sha512-2oZ9qLjt161dn1ZE0Ms66xBncQH4In8Sqw1YWgBUZuGVJJS5c0OFZXL6dP2MRHrkU/eKhWg8CzFJhRQl50rQxA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-annotate-as-pure": "^7.10.4",
+        "@babel/helper-define-map": "^7.10.4",
+        "@babel/helper-function-name": "^7.10.4",
+        "@babel/helper-optimise-call-expression": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/helper-replace-supers": "^7.10.4",
+        "@babel/helper-split-export-declaration": "^7.10.4",
         "globals": "^11.1.0"
       }
     },
     "@babel/plugin-transform-computed-properties": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.3.tgz",
-      "integrity": "sha512-GWzhaBOsdbjVFav96drOz7FzrcEW6AP5nax0gLIpstiFaI3LOb2tAg06TimaWU6YKOfUACK3FVrxPJ4GSc5TgA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.10.4.tgz",
+      "integrity": "sha512-JFwVDXcP/hM/TbyzGq3l/XWGut7p46Z3QvqFMXTfk6/09m7xZHJUN9xHfsv7vqqD4YnfI5ueYdSJtXqqBLyjBw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.3"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-destructuring": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.1.tgz",
-      "integrity": "sha512-V/nUc4yGWG71OhaTH705pU8ZSdM6c1KmmLP8ys59oOYbT7RpMYAR3MsVOt6OHL0WzG7BlTU076va9fjJyYzJMA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.10.4.tgz",
+      "integrity": "sha512-+WmfvyfsyF603iPa6825mq6Qrb7uLjTOsa3XOFzlYcYDHSS4QmpOWOL0NNBY5qMbvrcf3tq0Cw+v4lxswOBpgA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-dotall-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz",
-      "integrity": "sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz",
+      "integrity": "sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.1.tgz",
-      "integrity": "sha512-wIEpkX4QvX8Mo9W6XF3EdGttrIPZWozHfEaDTU0WJD/TDnXMvdDh30mzUl/9qWhnf7naicYartcEfUghTCSNpA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.10.4.tgz",
+      "integrity": "sha512-GL0/fJnmgMclHiBTTWXNlYjYsA7rDrtsazHG6mglaGSTh0KsrW04qml+Bbz9FL0LcJIRwBWL5ZqlNHKTkU3xAA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.1.tgz",
-      "integrity": "sha512-lr/przdAbpEA2BUzRvjXdEDLrArGRRPwbaF9rvayuHRvdQ7lUTTkZnhZrJ4LE2jvgMRFF4f0YuPQ20vhiPYxtA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.10.4.tgz",
+      "integrity": "sha512-S5HgLVgkBcRdyQAHbKj+7KyuWx8C6t5oETmUuwz1pt3WTWJhsUV0WIIXuVvfXMxl/QQyHKlSCNNtaIamG8fysw==",
       "dev": true,
       "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-for-of": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.1.tgz",
-      "integrity": "sha512-US8KCuxfQcn0LwSCMWMma8M2R5mAjJGsmoCBVwlMygvmDUMkTCykc84IqN1M7t+agSfOmLYTInLCHJM+RUoz+w==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.10.4.tgz",
+      "integrity": "sha512-ItdQfAzu9AlEqmusA/65TqJ79eRcgGmpPPFvBnGILXZH975G0LNjP1yjHvGgfuCxqrPPueXOPe+FsvxmxKiHHQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-function-name": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.1.tgz",
-      "integrity": "sha512-//bsKsKFBJfGd65qSNNh1exBy5Y9gD9ZN+DvrJ8f7HXr4avE5POW6zB7Rj6VnqHV33+0vXWUwJT0wSHubiAQkw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.10.4.tgz",
+      "integrity": "sha512-OcDCq2y5+E0dVD5MagT5X+yTRbcvFjDI2ZVAottGH6tzqjx/LKpgkUepu3hp/u4tZBzxxpNGwLsAvGBvQ2mJzg==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-function-name": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-literals": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.1.tgz",
-      "integrity": "sha512-qi0+5qgevz1NHLZroObRm5A+8JJtibb7vdcPQF1KQE12+Y/xxl8coJ+TpPW9iRq+Mhw/NKLjm+5SHtAHCC7lAw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.10.4.tgz",
+      "integrity": "sha512-Xd/dFSTEVuUWnyZiMu76/InZxLTYilOSr1UlHV+p115Z/Le2Fi1KXkJUYz0b42DfndostYlPub3m8ZTQlMaiqQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.1.tgz",
-      "integrity": "sha512-UmaWhDokOFT2GcgU6MkHC11i0NQcL63iqeufXWfRy6pUOGYeCGEKhvfFO6Vz70UfYJYHwveg62GS83Rvpxn+NA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.10.4.tgz",
+      "integrity": "sha512-0bFOvPyAoTBhtcJLr9VcwZqKmSjFml1iVxvPL0ReomGU53CX53HsM4h2SzckNdkQcHox1bpAqzxBI1Y09LlBSw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-modules-amd": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.1.tgz",
-      "integrity": "sha512-31+hnWSFRI4/ACFr1qkboBbrTxoBIzj7qA69qlq8HY8p7+YCzkCT6/TvQ1a4B0z27VeWtAeJd6pr5G04dc1iHw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.10.4.tgz",
+      "integrity": "sha512-3Fw+H3WLUrTlzi3zMiZWp3AR4xadAEMv6XRCYnd5jAlLM61Rn+CRJaZMaNvIpcJpQ3vs1kyifYvEVPFfoSkKOA==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
+        "@babel/helper-module-transforms": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
     "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.1.tgz",
-      "integrity": "sha512-AQG4fc3KOah0vdITwt7Gi6hD9BtQP/8bhem7OjbaMoRNCH5Djx42O2vYMfau7QnAzQCa+RJnhJBmFFMGpQEzrg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.10.4.tgz",
+      "integrity": "sha512-Xj7Uq5o80HDLlW64rVfDBhao6OX89HKUmb+9vWYaLXBZOma4gA6tw4Ni1O5qVDoZWUV0fxMYA0aYzOawz0l+1w==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-simple-access": "^7.10.1",
+        "@babel/helper-module-transforms": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/helper-simple-access": "^7.10.4",
         "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
     "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.3.tgz",
-      "integrity": "sha512-GWXWQMmE1GH4ALc7YXW56BTh/AlzvDWhUNn9ArFF0+Cz5G8esYlVbXfdyHa1xaD1j+GnBoCeoQNlwtZTVdiG/A==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.10.4.tgz",
+      "integrity": "sha512-Tb28LlfxrTiOTGtZFsvkjpyjCl9IoaRI52AEU/VIwOwvDQWtbNJsAqTXzh+5R7i74e/OZHH2c2w2fsOqAfnQYQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-hoist-variables": "^7.10.3",
-        "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.3",
+        "@babel/helper-hoist-variables": "^7.10.4",
+        "@babel/helper-module-transforms": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4",
         "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
     "@babel/plugin-transform-modules-umd": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.1.tgz",
-      "integrity": "sha512-EIuiRNMd6GB6ulcYlETnYYfgv4AxqrswghmBRQbWLHZxN4s7mupxzglnHqk9ZiUpDI4eRWewedJJNj67PWOXKA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.10.4.tgz",
+      "integrity": "sha512-mohW5q3uAEt8T45YT7Qc5ws6mWgJAaL/8BfWD9Dodo1A3RKWli8wTS+WiQ/knF+tXlPirW/1/MqzzGfCExKECA==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-module-transforms": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.3.tgz",
-      "integrity": "sha512-I3EH+RMFyVi8Iy/LekQm948Z4Lz4yKT7rK+vuCAeRm0kTa6Z5W7xuhRxDNJv0FPya/her6AUgrDITb70YHtTvA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.10.4.tgz",
+      "integrity": "sha512-V6LuOnD31kTkxQPhKiVYzYC/Jgdq53irJC/xBSmqcNcqFGV+PER4l6rU5SH2Vl7bH9mLDHcc0+l9HUOe4RNGKA==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.8.3"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.4"
       }
     },
     "@babel/plugin-transform-new-target": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.1.tgz",
-      "integrity": "sha512-MBlzPc1nJvbmO9rPr1fQwXOM2iGut+JC92ku6PbiJMMK7SnQc1rytgpopveE3Evn47gzvGYeCdgfCDbZo0ecUw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.10.4.tgz",
+      "integrity": "sha512-YXwWUDAH/J6dlfwqlWsztI2Puz1NtUAubXhOPLQ5gjR/qmQ5U96DY4FQO8At33JN4XPBhrjB8I4eMmLROjjLjw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-object-super": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.1.tgz",
-      "integrity": "sha512-WnnStUDN5GL+wGQrJylrnnVlFhFmeArINIR9gjhSeYyvroGhBrSAXYg/RHsnfzmsa+onJrTJrEClPzgNmmQ4Gw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.10.4.tgz",
+      "integrity": "sha512-5iTw0JkdRdJvr7sY0vHqTpnruUpTea32JHmq/atIWqsnNussbRzjEDyWep8UNztt1B5IusBYg8Irb0bLbiEBCQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-replace-supers": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/helper-replace-supers": "^7.10.4"
       }
     },
     "@babel/plugin-transform-parameters": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.1.tgz",
-      "integrity": "sha512-tJ1T0n6g4dXMsL45YsSzzSDZCxiHXAQp/qHrucOq5gEHncTA3xDxnd5+sZcoQp+N1ZbieAaB8r/VUCG0gqseOg==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.10.4.tgz",
+      "integrity": "sha512-RurVtZ/D5nYfEg0iVERXYKEgDFeesHrHfx8RT05Sq57ucj2eOYAP6eu5fynL4Adju4I/mP/I6SO0DqNWAXjfLQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-get-function-arity": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-get-function-arity": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-property-literals": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.1.tgz",
-      "integrity": "sha512-Kr6+mgag8auNrgEpbfIWzdXYOvqDHZOF0+Bx2xh4H2EDNwcbRb9lY6nkZg8oSjsX+DH9Ebxm9hOqtKW+gRDeNA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.10.4.tgz",
+      "integrity": "sha512-ofsAcKiUxQ8TY4sScgsGeR2vJIsfrzqvFb9GvJ5UdXDzl+MyYCaBj/FGzXuv7qE0aJcjWMILny1epqelnFlz8g==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-regenerator": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.3.tgz",
-      "integrity": "sha512-H5kNeW0u8mbk0qa1jVIVTeJJL6/TJ81ltD4oyPx0P499DhMJrTmmIFCmJ3QloGpQG8K9symccB7S7SJpCKLwtw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.10.4.tgz",
+      "integrity": "sha512-3thAHwtor39A7C04XucbMg17RcZ3Qppfxr22wYzZNcVIkPHfpM9J0SO8zuCV6SZa265kxBJSrfKTvDCYqBFXGw==",
       "dev": true,
       "requires": {
         "regenerator-transform": "^0.14.2"
       }
     },
     "@babel/plugin-transform-reserved-words": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.1.tgz",
-      "integrity": "sha512-qN1OMoE2nuqSPmpTqEM7OvJ1FkMEV+BjVeZZm9V9mq/x1JLKQ4pcv8riZJMNN3u2AUGl0ouOMjRr2siecvHqUQ==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.10.4.tgz",
+      "integrity": "sha512-hGsw1O6Rew1fkFbDImZIEqA8GoidwTAilwCyWqLBM9f+e/u/sQMQu7uX6dyokfOayRuuVfKOW4O7HvaBWM+JlQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.1.tgz",
-      "integrity": "sha512-AR0E/lZMfLstScFwztApGeyTHJ5u3JUKMjneqRItWeEqDdHWZwAOKycvQNCasCK/3r5YXsuNG25funcJDu7Y2g==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz",
+      "integrity": "sha512-AC2K/t7o07KeTIxMoHneyX90v3zkm5cjHJEokrPEAGEy3UCp8sLKfnfOIGdZ194fyN4wfX/zZUWT9trJZ0qc+Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-spread": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.1.tgz",
-      "integrity": "sha512-8wTPym6edIrClW8FI2IoaePB91ETOtg36dOkj3bYcNe7aDMN2FXEoUa+WrmPc4xa1u2PQK46fUX2aCb+zo9rfw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.10.4.tgz",
+      "integrity": "sha512-1e/51G/Ni+7uH5gktbWv+eCED9pP8ZpRhZB3jOaI3mmzfvJTWHkuyYTv0Z5PYtyM+Tr2Ccr9kUdQxn60fI5WuQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-sticky-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.1.tgz",
-      "integrity": "sha512-j17ojftKjrL7ufX8ajKvwRilwqTok4q+BjkknmQw9VNHnItTyMP5anPFzxFJdCQs7clLcWpCV3ma+6qZWLnGMA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.10.4.tgz",
+      "integrity": "sha512-Ddy3QZfIbEV0VYcVtFDCjeE4xwVTJWTmUtorAJkn6u/92Z/nWJNV+mILyqHKrUxXYKA2EoCilgoPePymKL4DvQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1",
-        "@babel/helper-regex": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4",
+        "@babel/helper-regex": "^7.10.4"
       }
     },
     "@babel/plugin-transform-template-literals": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.3.tgz",
-      "integrity": "sha512-yaBn9OpxQra/bk0/CaA4wr41O0/Whkg6nqjqApcinxM7pro51ojhX6fv1pimAnVjVfDy14K0ULoRL70CA9jWWA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.10.4.tgz",
+      "integrity": "sha512-4NErciJkAYe+xI5cqfS8pV/0ntlY5N5Ske/4ImxAVX7mk9Rxt2bwDTGv1Msc2BRJvWQcmYEC+yoMLdX22aE4VQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.3"
+        "@babel/helper-annotate-as-pure": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.1.tgz",
-      "integrity": "sha512-qX8KZcmbvA23zDi+lk9s6hC1FM7jgLHYIjuLgULgc8QtYnmB3tAVIYkNoKRQ75qWBeyzcoMoK8ZQmogGtC/w0g==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.10.4.tgz",
+      "integrity": "sha512-QqNgYwuuW0y0H+kUE/GWSR45t/ccRhe14Fs/4ZRouNNQsyd4o3PG4OtHiIrepbM2WKUBDAXKCAK/Lk4VhzTaGA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/plugin-transform-unicode-regex": {
-      "version": "7.10.1",
-      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.1.tgz",
-      "integrity": "sha512-Y/2a2W299k0VIUdbqYm9X2qS6fE0CUBhhiPpimK6byy7OJ/kORLlIX+J6UrjgNu5awvs62k+6RSslxhcvVw2Tw==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.10.4.tgz",
+      "integrity": "sha512-wNfsc4s8N2qnIwpO/WP2ZiSyjfpTamT2C9V9FDH/Ljub9zw6P3SjkXcFmc0RQUt96k2fmIvtla2MMjgTwIAC+A==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.10.1",
-        "@babel/helper-plugin-utils": "^7.10.1"
+        "@babel/helper-create-regexp-features-plugin": "^7.10.4",
+        "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
     "@babel/preset-env": {
@@ -1857,21 +1857,21 @@
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
-          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.3"
+            "@babel/highlight": "^7.10.4"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
-          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+          "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.3",
+            "@babel/helper-validator-identifier": "^7.10.4",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
@@ -1879,50 +1879,50 @@
       }
     },
     "@babel/traverse": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.3.tgz",
-      "integrity": "sha512-qO6623eBFhuPm0TmmrUFMT1FulCmsSeJuVGhiLodk2raUDFhhTECLd9E9jC4LBIWziqt4wgF6KuXE4d+Jz9yug==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.10.4.tgz",
+      "integrity": "sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.10.3",
-        "@babel/generator": "^7.10.3",
-        "@babel/helper-function-name": "^7.10.3",
-        "@babel/helper-split-export-declaration": "^7.10.1",
-        "@babel/parser": "^7.10.3",
-        "@babel/types": "^7.10.3",
+        "@babel/code-frame": "^7.10.4",
+        "@babel/generator": "^7.10.4",
+        "@babel/helper-function-name": "^7.10.4",
+        "@babel/helper-split-export-declaration": "^7.10.4",
+        "@babel/parser": "^7.10.4",
+        "@babel/types": "^7.10.4",
         "debug": "^4.1.0",
         "globals": "^11.1.0",
         "lodash": "^4.17.13"
       },
       "dependencies": {
         "@babel/code-frame": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz",
-          "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
+          "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
           "dev": true,
           "requires": {
-            "@babel/highlight": "^7.10.3"
+            "@babel/highlight": "^7.10.4"
           }
         },
         "@babel/generator": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.3.tgz",
-          "integrity": "sha512-drt8MUHbEqRzNR0xnF8nMehbY11b1SDkRw03PSNH/3Rb2Z35oxkddVSi3rcaak0YJQ86PCuE7Qx1jSFhbLNBMA==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.10.4.tgz",
+          "integrity": "sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng==",
           "dev": true,
           "requires": {
-            "@babel/types": "^7.10.3",
+            "@babel/types": "^7.10.4",
             "jsesc": "^2.5.1",
             "lodash": "^4.17.13",
             "source-map": "^0.5.0"
           }
         },
         "@babel/highlight": {
-          "version": "7.10.3",
-          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz",
-          "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==",
+          "version": "7.10.4",
+          "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
+          "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
           "dev": true,
           "requires": {
-            "@babel/helper-validator-identifier": "^7.10.3",
+            "@babel/helper-validator-identifier": "^7.10.4",
             "chalk": "^2.0.0",
             "js-tokens": "^4.0.0"
           }
@@ -1951,12 +1951,12 @@
       }
     },
     "@babel/types": {
-      "version": "7.10.3",
-      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.3.tgz",
-      "integrity": "sha512-nZxaJhBXBQ8HVoIcGsf9qWep3Oh3jCENK54V4mRF7qaJabVsAYdbTtmSD8WmAp1R6ytPiu5apMwSXyxB1WlaBA==",
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.10.4.tgz",
+      "integrity": "sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg==",
       "dev": true,
       "requires": {
-        "@babel/helper-validator-identifier": "^7.10.3",
+        "@babel/helper-validator-identifier": "^7.10.4",
         "lodash": "^4.17.13",
         "to-fast-properties": "^2.0.0"
       }
@@ -2373,9 +2373,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -2458,12 +2458,12 @@
       }
     },
     "@ngtools/webpack": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.9.tgz",
-      "integrity": "sha512-7UzRL54JcK1m2PvgpchV26TF9OYipj/8+dygdjaidqOyQujWpHncdtq/ScbUsoJ44nHjIRJPhaGE00NLpWZvnA==",
+      "version": "9.1.10",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.10.tgz",
+      "integrity": "sha512-/oRnmMfYiR0sxSuEj4hJwPgY1fxBC3iRR5ar09n0ILI5cH+zCPiC4+QhChQFkXhOYW3MjSRY6USW4Tg0pwR0gQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.9",
+        "@angular-devkit/core": "9.1.10",
         "enhanced-resolve": "4.1.1",
         "rxjs": "6.5.4",
         "webpack-sources": "1.4.3"
@@ -2538,23 +2538,23 @@
       }
     },
     "@schematics/angular": {
-      "version": "9.1.9",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.9.tgz",
-      "integrity": "sha512-c8YGZ6pDfr8IDD1qaOjlEBAkEz14KFSxDj0hCWs0xIM0py513tu5sW8+ziYxGG4bgqpsgVR/KAxuY78iBfUVag==",
+      "version": "9.1.10",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.10.tgz",
+      "integrity": "sha512-zW/ujCcv8375v32O1vuwtREwOuwCwak1wsb9hTgv06vdrWEVo/0COr3Dm3RMo+9c4uYBEwwUhSiyjOxGUlVrRQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.9",
-        "@angular-devkit/schematics": "9.1.9"
+        "@angular-devkit/core": "9.1.10",
+        "@angular-devkit/schematics": "9.1.10"
       }
     },
     "@schematics/update": {
-      "version": "0.901.9",
-      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.9.tgz",
-      "integrity": "sha512-VChX0VO/oyfCF3y+HjMTU2qN3vGgJYxEI1V+Q9aAlwl95t3GAufuaFY1CNW3YV4XkYIjD88e3yWl8d5yO4qf4w==",
+      "version": "0.901.10",
+      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.10.tgz",
+      "integrity": "sha512-apVw5ZRscQ7TODY3qGjxXACfzaSVz8aCfEZwXiE+gEn+ApnNnzHUDE1fXnIOZnnxLt7OWTekMi70sg2U9Aa00A==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.9",
-        "@angular-devkit/schematics": "9.1.9",
+        "@angular-devkit/core": "9.1.10",
+        "@angular-devkit/schematics": "9.1.10",
         "@yarnpkg/lockfile": "1.1.0",
         "ini": "1.3.5",
         "npm-package-arg": "^8.0.0",
@@ -2719,9 +2719,9 @@
       "integrity": "sha512-13gmo3M2qVvjQrWNseqM3+cR6S2Ss3grbR2NZltgMq94wOwqJYQdgn8qzwDshzgXqMlSUtyPZjysImmktu22ew=="
     },
     "@types/node": {
-      "version": "14.0.14",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.14.tgz",
-      "integrity": "sha512-syUgf67ZQpaJj01/tRTknkMNoBBLWJOBODF0Zm4NrXmiSuxjymFrxnTu1QVYRubhVkRcZLYZG8STTwJRdVm/WQ==",
+      "version": "14.0.18",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.18.tgz",
+      "integrity": "sha512-0Z3nS5acM0cIV4JPzrj9g/GH0Et5vmADWtip3YOXOp1NpOLU8V3KoZDc8ny9c1pe/YSYYzQkAWob6dyV/EWg4g==",
       "dev": true
     },
     "@types/pako": {
@@ -4438,13 +4438,13 @@
       }
     },
     "browserslist": {
-      "version": "4.12.1",
-      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.1.tgz",
-      "integrity": "sha512-WMjXwFtPskSW1pQUDJRxvRKRkeCr7usN0O/Za76N+F4oadaTdQHotSGcX9jT/Hs7mSKPkyMFNvqawB/1HzYDKQ==",
+      "version": "4.13.0",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.13.0.tgz",
+      "integrity": "sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ==",
       "dev": true,
       "requires": {
-        "caniuse-lite": "^1.0.30001088",
-        "electron-to-chromium": "^1.3.481",
+        "caniuse-lite": "^1.0.30001093",
+        "electron-to-chromium": "^1.3.488",
         "escalade": "^3.0.1",
         "node-releases": "^1.1.58"
       }
@@ -4894,9 +4894,9 @@
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30001088",
-      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001088.tgz",
-      "integrity": "sha512-6eYUrlShRYveyqKG58HcyOfPgh3zb2xqs7NvT2VVtP3hEUeeWvc3lqhpeMTxYWBBeeaT9A4bKsrtjATm66BTHg==",
+      "version": "1.0.30001094",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001094.tgz",
+      "integrity": "sha512-ufHZNtMaDEuRBpTbqD93tIQnngmJ+oBknjvr0IbFympSdtFpAUFmNv4mVKbb53qltxFx0nK3iy32S9AqkLzUNA==",
       "dev": true
     },
     "canonical-path": {
@@ -5721,21 +5721,21 @@
       "dev": true
     },
     "copy-webpack-plugin": {
-      "version": "6.0.2",
-      "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.2.tgz",
-      "integrity": "sha512-9Gm8X0c6eXlKnmltMPFCBeGOKjtcRIyTt4VaO3k1TkNgVTe5Ov2lYsYVuyLp0kp8DItO3apewflM+1GYgh6V2Q==",
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.3.tgz",
+      "integrity": "sha512-q5m6Vz4elsuyVEIUXr7wJdIdePWTubsqVbEMvf1WQnHGv0Q+9yPRu7MtYFPt+GBOXRav9lvIINifTQ1vSCs+eA==",
       "dev": true,
       "requires": {
         "cacache": "^15.0.4",
-        "fast-glob": "^3.2.2",
+        "fast-glob": "^3.2.4",
         "find-cache-dir": "^3.3.1",
         "glob-parent": "^5.1.1",
         "globby": "^11.0.1",
         "loader-utils": "^2.0.0",
         "normalize-path": "^3.0.0",
-        "p-limit": "^2.3.0",
+        "p-limit": "^3.0.1",
         "schema-utils": "^2.7.0",
-        "serialize-javascript": "^3.1.0",
+        "serialize-javascript": "^4.0.0",
         "webpack-sources": "^1.4.3"
       },
       "dependencies": {
@@ -5746,9 +5746,9 @@
           "dev": true
         },
         "ajv": {
-          "version": "6.12.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -5902,9 +5902,9 @@
           "dev": true
         },
         "p-limit": {
-          "version": "2.3.0",
-          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
-          "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+          "version": "3.0.1",
+          "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.1.tgz",
+          "integrity": "sha512-mw/p92EyOzl2MhauKodw54Rx5ZK4624rNfgNaBguFZkHzyUG9WsDzFF5/yQVEJinbJDdP4jEfMN+uBquiGnaLg==",
           "dev": true,
           "requires": {
             "p-try": "^2.0.0"
@@ -6754,9 +6754,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -7923,9 +7923,9 @@
       }
     },
     "electron": {
-      "version": "9.0.5",
-      "resolved": "https://registry.npmjs.org/electron/-/electron-9.0.5.tgz",
-      "integrity": "sha512-bnL9H48LuQ250DML8xUscsKiuSu+xv5umXbpBXYJ0BfvYVmFfNbG3jCfhrsH7aP6UcQKVxOG1R/oQExd0EFneQ==",
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/electron/-/electron-9.1.0.tgz",
+      "integrity": "sha512-VRAF8KX1m0py9I9sf0kw1kWfeC87mlscfFcbcRdLBsNJ44/GrJhi3+E8rKbpHUeZNQxsPaVA5Zu5Lxb6dV/scQ==",
       "dev": true,
       "requires": {
         "@electron/get": "^1.0.1",
@@ -7934,9 +7934,9 @@
       },
       "dependencies": {
         "@types/node": {
-          "version": "12.12.47",
-          "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.47.tgz",
-          "integrity": "sha512-yzBInQFhdY8kaZmqoL2+3U5dSTMrKaYcb561VU+lDzAYvqt+2lojvBEy+hmpSNuXnPTx7m9+04CzWYOUqWME2A==",
+          "version": "12.12.48",
+          "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.48.tgz",
+          "integrity": "sha512-m3Nmo/YaDUfYzdCQlxjF5pIy7TNyDTAJhIa//xtHcF0dlgYIBKULKnmloCPtByDxtZXrWV8Pge1AKT6/lRvVWg==",
           "dev": true
         }
       }
@@ -8275,9 +8275,9 @@
       }
     },
     "electron-to-chromium": {
-      "version": "1.3.482",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.482.tgz",
-      "integrity": "sha512-iRK2JHR6Q3x20Pkl1Rf+gzalOwmVG+PF2J9BHiVOCPotloQmDSG6dT+Vtf2D+3JT3fpzoDNdtHgGuRO6OAUlhQ==",
+      "version": "1.3.489",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.489.tgz",
+      "integrity": "sha512-1FfqjT+IXbs/H9bGJwRIyQQqOXIo7mOVUnv8s7nb2ff01fD0Z8dn1YjKovLDCFe4900Dal2uutR0YzXN5ldqEQ==",
       "dev": true
     },
     "elementtree": {
@@ -9326,9 +9326,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -13919,9 +13919,9 @@
       }
     },
     "npm-registry-fetch": {
-      "version": "4.0.4",
-      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.4.tgz",
-      "integrity": "sha512-6jb34hX/iYNQebqWUHtU8YF6Cjb1H6ouTFPClYsyiW6lpFkljTpdeftm53rRojtja1rKAvKNIIiTS5Sjpw4wsA==",
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.5.tgz",
+      "integrity": "sha512-yQ0/U4fYpCCqmueB2g8sc+89ckQ3eXpmU4+Yi2j5o/r0WkKvE2+Y0tK3DEILAtn2UaQTkjTHxIXe2/CSdit+/Q==",
       "dev": true,
       "requires": {
         "JSONStream": "^1.3.4",
@@ -15723,9 +15723,9 @@
       "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew=="
     },
     "primeng": {
-      "version": "9.1.0",
-      "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.1.0.tgz",
-      "integrity": "sha512-EeW+WA7uT4/7UBJ23Gfb4x8MaTdFpeV9XxAy68K/XIoeTmZ2hNJrdVdfF63y6k7nxwA/mOrkIMshY0eM8nMzoQ=="
+      "version": "9.1.3",
+      "resolved": "https://registry.npmjs.org/primeng/-/primeng-9.1.3.tgz",
+      "integrity": "sha512-5+XGWrLNYToMIXR/r+sMcGAgz/rSYjo6Ms8rygV5uuLmHNB+mXpaRxMCajKSnmVFLZPeyATtVRm9RcA4Y/VizQ=="
     },
     "printj": {
       "version": "1.1.2",
@@ -15740,12 +15740,6 @@
         "clipboard": "^2.0.0"
       }
     },
-    "private": {
-      "version": "0.1.8",
-      "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
-      "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==",
-      "dev": true
-    },
     "process": {
       "version": "0.11.10",
       "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
@@ -16378,9 +16372,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -16612,13 +16606,12 @@
       "dev": true
     },
     "regenerator-transform": {
-      "version": "0.14.4",
-      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz",
-      "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==",
+      "version": "0.14.5",
+      "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz",
+      "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==",
       "dev": true,
       "requires": {
-        "@babel/runtime": "^7.8.4",
-        "private": "^0.1.8"
+        "@babel/runtime": "^7.8.4"
       }
     },
     "regex-not": {
@@ -16954,9 +16947,9 @@
       "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q="
     },
     "rxjs": {
-      "version": "6.5.5",
-      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
-      "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
+      "version": "6.6.0",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.0.tgz",
+      "integrity": "sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg==",
       "requires": {
         "tslib": "^1.9.0"
       },
@@ -17020,9 +17013,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -17306,9 +17299,9 @@
       }
     },
     "serialize-javascript": {
-      "version": "3.1.0",
-      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
-      "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
+      "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
       "dev": true,
       "requires": {
         "randombytes": "^2.1.0"
@@ -18011,9 +18004,9 @@
       "dev": true
     },
     "ssf": {
-      "version": "0.10.3",
-      "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.10.3.tgz",
-      "integrity": "sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==",
+      "version": "0.11.2",
+      "resolved": "https://registry.npmjs.org/ssf/-/ssf-0.11.2.tgz",
+      "integrity": "sha512-+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==",
       "requires": {
         "frac": "~1.1.2"
       }
@@ -18511,9 +18504,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -18975,9 +18968,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -19106,6 +19099,15 @@
             "ajv-keywords": "^3.4.1"
           }
         },
+        "serialize-javascript": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
+          "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
+          "dev": true,
+          "requires": {
+            "randombytes": "^2.1.0"
+          }
+        },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -20410,9 +20412,9 @@
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.2",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
-          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -20532,6 +20534,15 @@
           "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
           "dev": true
         },
+        "serialize-javascript": {
+          "version": "3.1.0",
+          "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.1.0.tgz",
+          "integrity": "sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg==",
+          "dev": true,
+          "requires": {
+            "randombytes": "^2.1.0"
+          }
+        },
         "source-map": {
           "version": "0.6.1",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -21098,6 +21109,11 @@
       "resolved": "https://registry.npmjs.org/wmf/-/wmf-1.0.2.tgz",
       "integrity": "sha512-/p9K7bEh0Dj6WbXg4JG0xvLQmIadrner1bi45VMJTfnbVHsc7yIajZyoSoK60/dtVBs12Fm6WkUI5/3WAVsNMw=="
     },
+    "word": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/word/-/word-0.3.0.tgz",
+      "integrity": "sha512-OELeY0Q61OXpdUfTp+oweA/vtLVg5VDOXh+3he3PNzLGG/y0oylSOC1xRVj0+l4vQ3tj/bB1HVHv1ocXkQceFA=="
+    },
     "word-wrap": {
       "version": "1.2.3",
       "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
@@ -21226,9 +21242,9 @@
       "dev": true
     },
     "xlsx": {
-      "version": "0.16.2",
-      "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.16.2.tgz",
-      "integrity": "sha512-XTqOy7YpCUtGbvCYaCh1t1RsZ/y8cSCbZCOYtqqZ4/EmHkyv+/ghxmCvvR8yc4Tn5fhny+3j7voKwJaRlffNKA==",
+      "version": "0.16.3",
+      "resolved": "https://registry.npmjs.org/xlsx/-/xlsx-0.16.3.tgz",
+      "integrity": "sha512-LInZ1OK6vpe+Em8XDZ5gDH3WixARwxI7UWc+3chLeafI6gUwECEgL43k4Tjbs1uRfkxpM7wQFy5DLE0hFBRqRw==",
       "requires": {
         "adler-32": "~1.2.0",
         "cfb": "^1.1.4",
@@ -21236,8 +21252,9 @@
         "commander": "~2.17.1",
         "crc-32": "~1.2.0",
         "exit-on-epipe": "~1.0.1",
-        "ssf": "~0.10.3",
-        "wmf": "~1.0.1"
+        "ssf": "~0.11.2",
+        "wmf": "~1.0.1",
+        "word": "~0.3.0"
       },
       "dependencies": {
         "commander": {
diff --git a/package.json b/package.json
index 8e4a1972f..3998ce2f1 100644
--- a/package.json
+++ b/package.json
@@ -73,28 +73,28 @@
     "ngx-matomo": "^0.1.4",
     "ngx-webstorage-service": "^4.1.0",
     "pako": "^1.0.11",
-    "primeng": "^9.1.0",
+    "primeng": "^9.1.3",
     "roboto-fontface": "^0.10.0",
-    "rxjs": "^6.5.5",
+    "rxjs": "^6.6.0",
     "screenfull": "^5.0.2",
     "svg-pan-zoom": "^3.6.1",
     "tslib": "^2.0.0",
-    "xlsx": "^0.16.2",
+    "xlsx": "^0.16.3",
     "zone.js": "^0.10.3"
   },
   "devDependencies": {
-    "@angular-devkit/build-angular": "^0.901.9",
-    "@angular/cli": "^9.1.9",
+    "@angular-devkit/build-angular": "^0.901.10",
+    "@angular/cli": "^9.1.10",
     "@angular/compiler-cli": "^9.1.11",
     "@angular/language-service": "^9.1.11",
     "@compodoc/compodoc": "^1.1.11",
     "@types/file-saver": "^2.0.1",
     "@types/jasmine": "^3.5.11",
     "@types/jasminewd2": "^2.0.8",
-    "@types/node": "^14.0.14",
+    "@types/node": "^14.0.18",
     "codelyzer": "^5.2.2",
     "cordova": "^9.0.0",
-    "electron": "^9.0.5",
+    "electron": "^9.1.0",
     "electron-builder": "^22.7.0",
     "fs-extra": "^9.0.1",
     "jasmine-core": "^3.5.0",
-- 
GitLab


From 0a9eaa22592d11fba46a96fa0fd27e5ce07b09cf Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 7 Jul 2020 15:51:36 +0200
Subject: [PATCH 093/117] Update to Angular 10

---
 angular.json      |   22 +-
 package-lock.json | 2027 ++++++++++++++++++++++++++++-----------------
 package.json      |   38 +-
 3 files changed, 1285 insertions(+), 802 deletions(-)

diff --git a/angular.json b/angular.json
index 5242f68a4..eab58ab6f 100644
--- a/angular.json
+++ b/angular.json
@@ -51,7 +51,27 @@
               "node_modules/marked/lib/marked.js",
               "node_modules/katex/dist/katex.min.js"
             ],
-            "showCircularDependencies": false
+            "showCircularDependencies": false,
+            "allowedCommonJsDependencies": [
+              "chartjs-plugin-zoom",
+              "angular2-chartjs/dist/chart.module",
+              "angular2-hotkeys.js",
+              "base-64",
+              "he",
+              "svg-pan-zoom",
+              "mermaid",
+              "pako",
+              "file-saver",
+              "hammerjs",
+              "chart.js",
+              "mousetrap",
+              "xlsx",
+              "scope-css",
+              "lodash",
+              "graphlibrary",
+              "dagre-layout",
+              "dagre-d3-renderer"
+            ]
           },
           "configurations": {
             "production": {
diff --git a/package-lock.json b/package-lock.json
index 3bc4005a3..83e77b7e5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,19 +11,19 @@
       "dev": true
     },
     "@angular-devkit/architect": {
-      "version": "0.901.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.10.tgz",
-      "integrity": "sha512-JRYT5wBLe0zb1VoQIVV/Q6RmwW1whYMb4wx9LwEFvux6qzaHit/xaWV2xCIarZzM/LR3fOwk2bQjkRrS4/yJfg==",
+      "version": "0.1000.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1000.1.tgz",
+      "integrity": "sha512-GpoJ+p38feerxwfpJgrjwv/2c47qIX+TMdfKVqbswxLnzK21hXjd0zn6UfovAFwLeL1hRu2O00NDsmQn01gdoA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.10",
-        "rxjs": "6.5.4"
+        "@angular-devkit/core": "10.0.1",
+        "rxjs": "6.5.5"
       },
       "dependencies": {
         "rxjs": {
-          "version": "6.5.4",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+          "version": "6.5.5",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+          "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
@@ -38,78 +38,91 @@
       }
     },
     "@angular-devkit/build-angular": {
-      "version": "0.901.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.10.tgz",
-      "integrity": "sha512-1OU5wuKNA9fIOyPOgNyRwom2W8KnWNiIeDNenDgPdU0qhzUS6xEGZH9LQbu6siWUtEfltxTJWC73wZWm78LYMA==",
-      "dev": true,
-      "requires": {
-        "@angular-devkit/architect": "0.901.10",
-        "@angular-devkit/build-optimizer": "0.901.10",
-        "@angular-devkit/build-webpack": "0.901.10",
-        "@angular-devkit/core": "9.1.10",
-        "@babel/core": "7.9.0",
-        "@babel/generator": "7.9.3",
-        "@babel/preset-env": "7.9.0",
+      "version": "0.1000.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1000.1.tgz",
+      "integrity": "sha512-rRYtHzy27BM3XjPVqlpQOs+RXAgtiT1Qr6EiLiMcb8Twg4aWHzKF+IITLQL9CSYkpOnY40vHjWZuEVu0qIhEPQ==",
+      "dev": true,
+      "requires": {
+        "@angular-devkit/architect": "0.1000.1",
+        "@angular-devkit/build-optimizer": "0.1000.1",
+        "@angular-devkit/build-webpack": "0.1000.1",
+        "@angular-devkit/core": "10.0.1",
+        "@babel/core": "7.9.6",
+        "@babel/generator": "7.9.6",
+        "@babel/plugin-transform-runtime": "7.9.6",
+        "@babel/preset-env": "7.9.6",
+        "@babel/runtime": "7.9.6",
         "@babel/template": "7.8.6",
         "@jsdevtools/coverage-istanbul-loader": "3.0.3",
-        "@ngtools/webpack": "9.1.10",
-        "ajv": "6.12.0",
-        "autoprefixer": "9.7.4",
-        "babel-loader": "8.0.6",
+        "@ngtools/webpack": "10.0.1",
+        "ajv": "6.12.2",
+        "autoprefixer": "9.8.0",
+        "babel-loader": "8.1.0",
         "browserslist": "^4.9.1",
-        "cacache": "15.0.0",
+        "cacache": "15.0.3",
         "caniuse-lite": "^1.0.30001032",
         "circular-dependency-plugin": "5.2.0",
         "copy-webpack-plugin": "6.0.3",
         "core-js": "3.6.4",
-        "css-loader": "3.5.1",
+        "css-loader": "3.5.3",
         "cssnano": "4.1.10",
         "file-loader": "6.0.0",
         "find-cache-dir": "3.3.1",
         "glob": "7.1.6",
-        "jest-worker": "25.1.0",
+        "jest-worker": "26.0.0",
         "karma-source-map-support": "1.4.0",
-        "less": "3.11.3",
-        "less-loader": "5.0.0",
-        "license-webpack-plugin": "2.1.4",
+        "less-loader": "6.1.0",
+        "license-webpack-plugin": "2.2.0",
         "loader-utils": "2.0.0",
         "mini-css-extract-plugin": "0.9.0",
         "minimatch": "3.0.4",
-        "open": "7.0.3",
+        "open": "7.0.4",
         "parse5": "4.0.0",
-        "postcss": "7.0.27",
+        "pnp-webpack-plugin": "1.6.4",
+        "postcss": "7.0.31",
         "postcss-import": "12.0.1",
         "postcss-loader": "3.0.0",
-        "raw-loader": "4.0.0",
+        "raw-loader": "4.0.1",
         "regenerator-runtime": "0.13.5",
+        "resolve-url-loader": "3.1.1",
         "rimraf": "3.0.2",
-        "rollup": "2.1.0",
-        "rxjs": "6.5.4",
-        "sass": "1.26.3",
+        "rollup": "2.10.9",
+        "rxjs": "6.5.5",
+        "sass": "1.26.5",
         "sass-loader": "8.0.2",
-        "semver": "7.1.3",
+        "semver": "7.3.2",
         "source-map": "0.7.3",
-        "source-map-loader": "0.2.4",
-        "speed-measure-webpack-plugin": "1.3.1",
-        "style-loader": "1.1.3",
+        "source-map-loader": "1.0.0",
+        "source-map-support": "0.5.19",
+        "speed-measure-webpack-plugin": "1.3.3",
+        "style-loader": "1.2.1",
         "stylus": "0.54.7",
         "stylus-loader": "3.0.2",
-        "terser": "4.6.10",
-        "terser-webpack-plugin": "3.0.3",
+        "terser": "4.7.0",
+        "terser-webpack-plugin": "3.0.1",
         "tree-kill": "1.2.2",
-        "webpack": "4.42.0",
+        "webpack": "4.43.0",
         "webpack-dev-middleware": "3.7.2",
         "webpack-dev-server": "3.11.0",
         "webpack-merge": "4.2.2",
         "webpack-sources": "1.4.3",
-        "webpack-subresource-integrity": "1.4.0",
+        "webpack-subresource-integrity": "1.4.1",
         "worker-plugin": "4.0.3"
       },
       "dependencies": {
+        "@babel/runtime": {
+          "version": "7.9.6",
+          "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz",
+          "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==",
+          "dev": true,
+          "requires": {
+            "regenerator-runtime": "^0.13.4"
+          }
+        },
         "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -160,24 +173,24 @@
           }
         },
         "rxjs": {
-          "version": "6.5.4",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+          "version": "6.5.5",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+          "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
         },
         "semver": {
-          "version": "7.1.3",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
-          "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
+          "version": "7.3.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
           "dev": true
         },
         "terser": {
-          "version": "4.6.10",
-          "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz",
-          "integrity": "sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==",
+          "version": "4.7.0",
+          "resolved": "https://registry.npmjs.org/terser/-/terser-4.7.0.tgz",
+          "integrity": "sha512-Lfb0RiZcjRDXCC3OSHJpEkxJ9Qeqs6mp2v4jf2MHfy8vGERmVDuvjXdd/EnP5Deme5F2yBRBymKmKHCBg2echw==",
           "dev": true,
           "requires": {
             "commander": "^2.20.0",
@@ -202,47 +215,32 @@
       }
     },
     "@angular-devkit/build-optimizer": {
-      "version": "0.901.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.10.tgz",
-      "integrity": "sha512-twbHoicbxEfSqPWD8BroYrAjUdCTFlp4RSEL/da/UI7QuDPIWILsKVLAGeBMD3NII8VfOw746S5oZQbrvYU/aQ==",
+      "version": "0.1000.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.1.tgz",
+      "integrity": "sha512-Q60lxyetBcMKUiNMc1vGUExuJMashHB9CF8HVenX80R9ihaA/GHAUrD2PbKBpLVoC4T291uUhfcA8MB1fJNRfw==",
       "dev": true,
       "requires": {
         "loader-utils": "2.0.0",
         "source-map": "0.7.3",
-        "tslib": "1.11.1",
-        "typescript": "3.6.5",
+        "tslib": "2.0.0",
         "webpack-sources": "1.4.3"
-      },
-      "dependencies": {
-        "tslib": {
-          "version": "1.11.1",
-          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz",
-          "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==",
-          "dev": true
-        },
-        "typescript": {
-          "version": "3.6.5",
-          "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.5.tgz",
-          "integrity": "sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ==",
-          "dev": true
-        }
       }
     },
     "@angular-devkit/build-webpack": {
-      "version": "0.901.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.10.tgz",
-      "integrity": "sha512-7rMH7vehVCTlP1y1h0rAKCYAksnDOWTUIjJ2mdfCvVy3CHrqcBMk68748bv3AOvNY6jzppHh8XD/SyMSh2cmzQ==",
+      "version": "0.1000.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1000.1.tgz",
+      "integrity": "sha512-m+abxD38LYdHw+w53Rmc4MbuwDP7rfevAZ/1QR2WFYj0BI5QsTYGlpmieI2TXiwiwvTILn9UzYZAA16nKvmUwA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.901.10",
-        "@angular-devkit/core": "9.1.10",
-        "rxjs": "6.5.4"
+        "@angular-devkit/architect": "0.1000.1",
+        "@angular-devkit/core": "10.0.1",
+        "rxjs": "6.5.5"
       },
       "dependencies": {
         "rxjs": {
-          "version": "6.5.4",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+          "version": "6.5.5",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+          "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
@@ -257,22 +255,22 @@
       }
     },
     "@angular-devkit/core": {
-      "version": "9.1.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.10.tgz",
-      "integrity": "sha512-HPY/ifVqNd0Muh2RG1wyWQAxPhLgscDyhE5rBty6LVr7i5VwqJpSD5F0NTOemV8SXAyZ5orn1MVWO/TmL6ktrw==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-10.0.1.tgz",
+      "integrity": "sha512-AXsxN00zbixi/9HyzzsDGm6rtMferxKfhG8WPJfp/0TLeJrmiLs5wdNjk8LhfTZABSTYx/QxRgOI6OnBoXePgg==",
       "dev": true,
       "requires": {
-        "ajv": "6.12.0",
+        "ajv": "6.12.2",
         "fast-json-stable-stringify": "2.1.0",
         "magic-string": "0.25.7",
-        "rxjs": "6.5.4",
+        "rxjs": "6.5.5",
         "source-map": "0.7.3"
       },
       "dependencies": {
         "ajv": {
-          "version": "6.12.0",
-          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
-          "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
+          "version": "6.12.2",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz",
+          "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==",
           "dev": true,
           "requires": {
             "fast-deep-equal": "^3.1.1",
@@ -294,9 +292,9 @@
           "dev": true
         },
         "rxjs": {
-          "version": "6.5.4",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+          "version": "6.5.5",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+          "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
@@ -311,20 +309,20 @@
       }
     },
     "@angular-devkit/schematics": {
-      "version": "9.1.10",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.10.tgz",
-      "integrity": "sha512-rMNK2/cWSWhTB35nu9oxPyr130qq/OGkRctAHHG8bGm4K6RH30bPTjbHNbo3L2dc3ZJLHoE9Y8uGMLrZ2XqtNQ==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-10.0.1.tgz",
+      "integrity": "sha512-lG70f4KsZews/z1npzJC7ccJgz3RXyLetyg+wa5uGWV+Silpr7XX+3U65DjPwG/+921woifeqRMbOhK+zCCaVA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.10",
-        "ora": "4.0.3",
-        "rxjs": "6.5.4"
+        "@angular-devkit/core": "10.0.1",
+        "ora": "4.0.4",
+        "rxjs": "6.5.5"
       },
       "dependencies": {
         "rxjs": {
-          "version": "6.5.4",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+          "version": "6.5.5",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+          "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
@@ -339,16 +337,20 @@
       }
     },
     "@angular/animations": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.11.tgz",
-      "integrity": "sha512-VKAExUnEJfo1PDQKagpx2pn+QMZCsPLRiADzTdl4U0VPylK3ALbn4ZNY9UbdwyE2plitz++LkH7sEGGfh+PNrQ=="
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-10.0.2.tgz",
+      "integrity": "sha512-3fMR574KnaeAon7ZlwYCB2qkUoZ255Y2KwU6Z/ki37U66QZc8XMqf/d4oUiTZgLsJG4a5Whse0IX8Jz5/HAvQQ==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@angular/cdk": {
-      "version": "9.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.2.4.tgz",
-      "integrity": "sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-10.0.1.tgz",
+      "integrity": "sha512-tEgaTDQplptbOf4cHHdVScH0h5QNvkWDhabAWpWaT4/dVXEsp+p2E9Pzkemesi/gNmUIetVjGaicX5VqsijZSQ==",
       "requires": {
-        "parse5": "^5.0.0"
+        "parse5": "^5.0.0",
+        "tslib": "^2.0.0"
       },
       "dependencies": {
         "parse5": {
@@ -360,31 +362,31 @@
       }
     },
     "@angular/cli": {
-      "version": "9.1.10",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.10.tgz",
-      "integrity": "sha512-jCxdw+oCK1ZgkBoD/TE8wKMoByaxHj8eb3yv4gB62aL66dg3A8MAPEQBOD7K3tBYDnxE6Z7QX+3f2Xc5Ivfvdw==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-10.0.1.tgz",
+      "integrity": "sha512-6Ht3022UcaWTBDnQKgcvTHbOP4ITjzn1DcZWKN0+zKk4PNqOwWtOEF2CBokOG79gTQVdrp2p5YQo5uX6UG7KMQ==",
       "dev": true,
       "requires": {
-        "@angular-devkit/architect": "0.901.10",
-        "@angular-devkit/core": "9.1.10",
-        "@angular-devkit/schematics": "9.1.10",
-        "@schematics/angular": "9.1.10",
-        "@schematics/update": "0.901.10",
+        "@angular-devkit/architect": "0.1000.1",
+        "@angular-devkit/core": "10.0.1",
+        "@angular-devkit/schematics": "10.0.1",
+        "@schematics/angular": "10.0.1",
+        "@schematics/update": "0.1000.1",
         "@yarnpkg/lockfile": "1.1.0",
         "ansi-colors": "4.1.1",
         "debug": "4.1.1",
         "ini": "1.3.5",
         "inquirer": "7.1.0",
         "npm-package-arg": "8.0.1",
-        "npm-pick-manifest": "6.0.0",
-        "open": "7.0.3",
+        "npm-pick-manifest": "6.1.0",
+        "open": "7.0.4",
         "pacote": "9.5.12",
         "read-package-tree": "5.3.1",
         "rimraf": "3.0.2",
-        "semver": "7.1.3",
+        "semver": "7.3.2",
         "symbol-observable": "1.2.0",
         "universal-analytics": "0.4.20",
-        "uuid": "7.0.2"
+        "uuid": "8.1.0"
       },
       "dependencies": {
         "ansi-colors": {
@@ -573,9 +575,9 @@
           "dev": true
         },
         "semver": {
-          "version": "7.1.3",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
-          "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
+          "version": "7.3.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
           "dev": true
         },
         "strip-ansi": {
@@ -597,9 +599,9 @@
           }
         },
         "uuid": {
-          "version": "7.0.2",
-          "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz",
-          "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==",
+          "version": "8.1.0",
+          "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.1.0.tgz",
+          "integrity": "sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==",
           "dev": true
         },
         "yallist": {
@@ -611,19 +613,25 @@
       }
     },
     "@angular/common": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.11.tgz",
-      "integrity": "sha512-Vh5lF7zWwDK9RedmYXUc8vUXyrecR3j1mAWlTlnmcHYxxFThPzN/dr0slQcPi6nyJn0EmyRKUGvAoZx4rIb7wg=="
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-10.0.2.tgz",
+      "integrity": "sha512-zpNB2XD6jinXZjfihoO5Q1Yg7urfpZTt/fitdmwFHCcQ/1qZ9T2BVh8+VqVRkh6Pjxmtvu0uPnJ1a/aZ5f9r9A==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@angular/compiler": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.11.tgz",
-      "integrity": "sha512-MbVheCG0U8gt6xtiipau20N26mD2sXjLChVmRKgO6rbDruxboNMZfEd94q9NP9JRaUsVnjXvY7GMDldoymdXig=="
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-10.0.2.tgz",
+      "integrity": "sha512-TNE5ESDlRCVneb/K62HOEgLpxuZZTlw8RcmOy5vt3SngEVc576OE/aYsEA6MCwTlqj16GLSS3jGm9HBJcBKUVw==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@angular/compiler-cli": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.11.tgz",
-      "integrity": "sha512-9qIxbtpRXOQnRm6inxCa5HuH87MSuMzuceD0YBVzl8v+vLtewon9KXYMmF4kTBhWa/LEa8FrajljLh0azf3VLg==",
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-10.0.2.tgz",
+      "integrity": "sha512-LGX86k1hOyaw5aPCjFfoLuPhVLKMENOdCBeNBzZB+H2CUGHfv8OWFB1EzjZO1N07VGR7JoMx9ZWSP7ornhuS4Q==",
       "dev": true,
       "requires": {
         "canonical-path": "1.0.0",
@@ -637,6 +645,7 @@
         "semver": "^6.3.0",
         "source-map": "^0.6.1",
         "sourcemap-codec": "^1.4.8",
+        "tslib": "^2.0.0",
         "yargs": "15.3.0"
       },
       "dependencies": {
@@ -666,45 +675,66 @@
       }
     },
     "@angular/core": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.11.tgz",
-      "integrity": "sha512-KAlEedBo761O1aeoTJVziOSHi8Fttk9ipvbDZXYT/o0W/KdVwubxP34g9t5aD8LCcF8+L0z4VLw++HjdJAUpwg=="
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-10.0.2.tgz",
+      "integrity": "sha512-r4M1D2NOdkmmFyvYLHRYSIBKTGNXQarZHDZcm5oEq2eTsRVe2u9MYIeOpHKeVQCQK7XKQVB13IZQP3XpUvljFg==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@angular/flex-layout": {
-      "version": "9.0.0-beta.31",
-      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-9.0.0-beta.31.tgz",
-      "integrity": "sha512-g94u2mecDl87ORvFRuOBshV/S/ETE4bybClU2e1xXKWNG+rhRHchChneHSonc29ZLyROTjHhmAtKOYojL92uLA=="
+      "version": "10.0.0-beta.32",
+      "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-10.0.0-beta.32.tgz",
+      "integrity": "sha512-JvuY4dUoy5jyCTIrFiq7n30Znakh1pD3nbg0h0hs2r3t1OiDQb0ZSI1wcumosG/vYHsuJQTuNhbfaIZzA1x8nA==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@angular/forms": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.11.tgz",
-      "integrity": "sha512-t4WHrh6ot1r8zdV+3fJz7g9rCok77c9CiIevhH2dR/idxD+HtFR0wqmcBQzsn+rNVB0f0TiSHDrj+TeELIFyWw=="
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-10.0.2.tgz",
+      "integrity": "sha512-qnfApb5Q58SFdl8za8i6ijvP0UfVGxxTtIVnf8czVU5Jz5/KYDbPeChVw/aPl3hfXq8jt0Q6Yl99aAm/BNyhpQ==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@angular/language-service": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.11.tgz",
-      "integrity": "sha512-jfm4etbqldj6MTwECwyoAs7tXEAR8K/8P8dBZnsELhY+V8oFidTJI3NY52PB3Ym7leSPorYdOAeUMMuQfPaVxg==",
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-10.0.2.tgz",
+      "integrity": "sha512-kEMJ3DkprpoGJvEjvH/PZrBKtgCbLtFYtrXHRDy2+92vgCT0Xz6TwzZ2qlwlQSijffOgsV5LwdjI4oxpgVKReQ==",
       "dev": true
     },
     "@angular/material": {
-      "version": "9.2.4",
-      "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.2.4.tgz",
-      "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA=="
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@angular/material/-/material-10.0.1.tgz",
+      "integrity": "sha512-4xGIupOiPbyYG/tTbVhgjATRZSRf+Xj2FGkX3csSlIOvhrFtN1B9gTlcbOjzWHPpWTFChZALzMXA/841KA9QqA==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@angular/platform-browser": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.11.tgz",
-      "integrity": "sha512-KDxoiFhW4UD+EqchcKpQVSLwg9Rd3JbWytZLchFV6nH8BFnshfJtw2tyPT8bMhFVG9n9zSR4QSGaozWgoDs9mw=="
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-10.0.2.tgz",
+      "integrity": "sha512-FLS3fYSuWvrDc7PiVCvs4joWZZxDe9+alJi90Sub1oBS/EnxmZpkS0Gr7zQv4MjAvVhNCVoTzL3CaV/SIoZqaw==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@angular/platform-browser-dynamic": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.11.tgz",
-      "integrity": "sha512-Qw3rfVFF0Wtu+UwraqKPCgTA3uoNPGf4vKSfuCuXTrG0p7j+3mCP59aUv5gGH7GV1UQ++jZRx5pbWF43zrC8Hw=="
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-10.0.2.tgz",
+      "integrity": "sha512-R1rt1/Ynm0DHgzMBcduCPoDg2y3MrYZVgT+N0DLobr2nCaVD74vGsJBVCRv7/m1sdCxyhPlOvq8Bm5sRauw2fw==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@angular/router": {
-      "version": "9.1.11",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.11.tgz",
-      "integrity": "sha512-D6CCDeSK/F6dWSB/a1g/zB072xG5LadLSV8afQ57oX1KHePx21LcoRG4tUtFMMHh/jZXRc9pMQIR1/9FrrXF3Q=="
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-10.0.2.tgz",
+      "integrity": "sha512-IcA3W+r5T0NC8TM4J9F0VOxG0wr7nJOSef6Qek6utZd6ByLlXxOhBrPIC5Ou+QNZeg9OuI2FBt6coea9jgmNOA==",
+      "requires": {
+        "tslib": "^2.0.0"
+      }
     },
     "@babel/code-frame": {
       "version": "7.5.5",
@@ -727,19 +757,19 @@
       }
     },
     "@babel/core": {
-      "version": "7.9.0",
-      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz",
-      "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==",
+      "version": "7.9.6",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.6.tgz",
+      "integrity": "sha512-nD3deLvbsApbHAHttzIssYqgb883yU/d9roe4RZymBCDaZryMJDbptVpEpeQuRh4BJ+SYI8le9YGxKvFEvl1Wg==",
       "dev": true,
       "requires": {
         "@babel/code-frame": "^7.8.3",
-        "@babel/generator": "^7.9.0",
+        "@babel/generator": "^7.9.6",
         "@babel/helper-module-transforms": "^7.9.0",
-        "@babel/helpers": "^7.9.0",
-        "@babel/parser": "^7.9.0",
+        "@babel/helpers": "^7.9.6",
+        "@babel/parser": "^7.9.6",
         "@babel/template": "^7.8.6",
-        "@babel/traverse": "^7.9.0",
-        "@babel/types": "^7.9.0",
+        "@babel/traverse": "^7.9.6",
+        "@babel/types": "^7.9.6",
         "convert-source-map": "^1.7.0",
         "debug": "^4.1.0",
         "gensync": "^1.0.0-beta.1",
@@ -803,12 +833,12 @@
       }
     },
     "@babel/generator": {
-      "version": "7.9.3",
-      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.3.tgz",
-      "integrity": "sha512-RpxM252EYsz9qLUIq6F7YJyK1sv0wWDBFuztfDGWaQKzHjqDHysxSiRUpA/X9jmfqo+WzkAVKFaUily5h+gDCQ==",
+      "version": "7.9.6",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz",
+      "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.9.0",
+        "@babel/types": "^7.9.6",
         "jsesc": "^2.5.1",
         "lodash": "^4.17.13",
         "source-map": "^0.5.0"
@@ -1690,6 +1720,18 @@
         "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
+    "@babel/plugin-transform-runtime": {
+      "version": "7.9.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.9.6.tgz",
+      "integrity": "sha512-qcmiECD0mYOjOIt8YHNsAP1SxPooC/rDmfmiSK9BNY72EitdSc7l44WTEklaWuFtbOEBjNhWWyph/kOImbNJ4w==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-module-imports": "^7.8.3",
+        "@babel/helper-plugin-utils": "^7.8.3",
+        "resolve": "^1.8.1",
+        "semver": "^5.5.1"
+      }
+    },
     "@babel/plugin-transform-shorthand-properties": {
       "version": "7.10.4",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.10.4.tgz",
@@ -1748,13 +1790,13 @@
       }
     },
     "@babel/preset-env": {
-      "version": "7.9.0",
-      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz",
-      "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==",
+      "version": "7.9.6",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.6.tgz",
+      "integrity": "sha512-0gQJ9RTzO0heXOhzftog+a/WyOuqMrAIugVYxMYf83gh1CQaQDjMtsOpqOwXyDL/5JcWsrCm8l4ju8QC97O7EQ==",
       "dev": true,
       "requires": {
-        "@babel/compat-data": "^7.9.0",
-        "@babel/helper-compilation-targets": "^7.8.7",
+        "@babel/compat-data": "^7.9.6",
+        "@babel/helper-compilation-targets": "^7.9.6",
         "@babel/helper-module-imports": "^7.8.3",
         "@babel/helper-plugin-utils": "^7.8.3",
         "@babel/plugin-proposal-async-generator-functions": "^7.8.3",
@@ -1762,7 +1804,7 @@
         "@babel/plugin-proposal-json-strings": "^7.8.3",
         "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3",
         "@babel/plugin-proposal-numeric-separator": "^7.8.3",
-        "@babel/plugin-proposal-object-rest-spread": "^7.9.0",
+        "@babel/plugin-proposal-object-rest-spread": "^7.9.6",
         "@babel/plugin-proposal-optional-catch-binding": "^7.8.3",
         "@babel/plugin-proposal-optional-chaining": "^7.9.0",
         "@babel/plugin-proposal-unicode-property-regex": "^7.8.3",
@@ -1779,9 +1821,9 @@
         "@babel/plugin-transform-async-to-generator": "^7.8.3",
         "@babel/plugin-transform-block-scoped-functions": "^7.8.3",
         "@babel/plugin-transform-block-scoping": "^7.8.3",
-        "@babel/plugin-transform-classes": "^7.9.0",
+        "@babel/plugin-transform-classes": "^7.9.5",
         "@babel/plugin-transform-computed-properties": "^7.8.3",
-        "@babel/plugin-transform-destructuring": "^7.8.3",
+        "@babel/plugin-transform-destructuring": "^7.9.5",
         "@babel/plugin-transform-dotall-regex": "^7.8.3",
         "@babel/plugin-transform-duplicate-keys": "^7.8.3",
         "@babel/plugin-transform-exponentiation-operator": "^7.8.3",
@@ -1789,14 +1831,14 @@
         "@babel/plugin-transform-function-name": "^7.8.3",
         "@babel/plugin-transform-literals": "^7.8.3",
         "@babel/plugin-transform-member-expression-literals": "^7.8.3",
-        "@babel/plugin-transform-modules-amd": "^7.9.0",
-        "@babel/plugin-transform-modules-commonjs": "^7.9.0",
-        "@babel/plugin-transform-modules-systemjs": "^7.9.0",
+        "@babel/plugin-transform-modules-amd": "^7.9.6",
+        "@babel/plugin-transform-modules-commonjs": "^7.9.6",
+        "@babel/plugin-transform-modules-systemjs": "^7.9.6",
         "@babel/plugin-transform-modules-umd": "^7.9.0",
         "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3",
         "@babel/plugin-transform-new-target": "^7.8.3",
         "@babel/plugin-transform-object-super": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.8.7",
+        "@babel/plugin-transform-parameters": "^7.9.5",
         "@babel/plugin-transform-property-literals": "^7.8.3",
         "@babel/plugin-transform-regenerator": "^7.8.7",
         "@babel/plugin-transform-reserved-words": "^7.8.3",
@@ -1807,8 +1849,8 @@
         "@babel/plugin-transform-typeof-symbol": "^7.8.4",
         "@babel/plugin-transform-unicode-regex": "^7.8.3",
         "@babel/preset-modules": "^0.1.3",
-        "@babel/types": "^7.9.0",
-        "browserslist": "^4.9.1",
+        "@babel/types": "^7.9.6",
+        "browserslist": "^4.11.1",
         "core-js-compat": "^3.6.2",
         "invariant": "^2.2.2",
         "levenary": "^1.1.1",
@@ -2457,22 +2499,44 @@
         "glob-to-regexp": "^0.3.0"
       }
     },
+    "@netflix/nerror": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@netflix/nerror/-/nerror-1.1.3.tgz",
+      "integrity": "sha512-b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==",
+      "requires": {
+        "assert-plus": "^1.0.0",
+        "extsprintf": "^1.4.0",
+        "lodash": "^4.17.15"
+      },
+      "dependencies": {
+        "extsprintf": {
+          "version": "1.4.0",
+          "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz",
+          "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8="
+        },
+        "lodash": {
+          "version": "4.17.15",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
+          "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
+        }
+      }
+    },
     "@ngtools/webpack": {
-      "version": "9.1.10",
-      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.10.tgz",
-      "integrity": "sha512-/oRnmMfYiR0sxSuEj4hJwPgY1fxBC3iRR5ar09n0ILI5cH+zCPiC4+QhChQFkXhOYW3MjSRY6USW4Tg0pwR0gQ==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-10.0.1.tgz",
+      "integrity": "sha512-/uUTczGcH2WJoVovCLHXdPdTzN0yQZontcf5MkoDjlA0selUdRFntV9cnUWoray9SVxzgoHqjRxBANCTsiiuuw==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.10",
+        "@angular-devkit/core": "10.0.1",
         "enhanced-resolve": "4.1.1",
-        "rxjs": "6.5.4",
+        "rxjs": "6.5.5",
         "webpack-sources": "1.4.3"
       },
       "dependencies": {
         "rxjs": {
-          "version": "6.5.4",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+          "version": "6.5.5",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+          "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
@@ -2490,7 +2554,6 @@
       "version": "2.1.3",
       "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz",
       "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==",
-      "dev": true,
       "requires": {
         "@nodelib/fs.stat": "2.0.3",
         "run-parallel": "^1.1.9"
@@ -2499,8 +2562,7 @@
         "@nodelib/fs.stat": {
           "version": "2.0.3",
           "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
-          "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==",
-          "dev": true
+          "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA=="
         }
       }
     },
@@ -2514,7 +2576,6 @@
       "version": "1.2.4",
       "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz",
       "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==",
-      "dev": true,
       "requires": {
         "@nodelib/fs.scandir": "2.1.3",
         "fastq": "^1.6.0"
@@ -2538,29 +2599,29 @@
       }
     },
     "@schematics/angular": {
-      "version": "9.1.10",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.10.tgz",
-      "integrity": "sha512-zW/ujCcv8375v32O1vuwtREwOuwCwak1wsb9hTgv06vdrWEVo/0COr3Dm3RMo+9c4uYBEwwUhSiyjOxGUlVrRQ==",
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-10.0.1.tgz",
+      "integrity": "sha512-SrWr2FzenwuofRpcaLhzJYNFVJmJwKxlKu32dWAVnclpteMO0Hnp/jVI/e70HIc6zoWzgJ4yArmwBTA+Q26yaA==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.10",
-        "@angular-devkit/schematics": "9.1.10"
+        "@angular-devkit/core": "10.0.1",
+        "@angular-devkit/schematics": "10.0.1"
       }
     },
     "@schematics/update": {
-      "version": "0.901.10",
-      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.10.tgz",
-      "integrity": "sha512-apVw5ZRscQ7TODY3qGjxXACfzaSVz8aCfEZwXiE+gEn+ApnNnzHUDE1fXnIOZnnxLt7OWTekMi70sg2U9Aa00A==",
+      "version": "0.1000.1",
+      "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1000.1.tgz",
+      "integrity": "sha512-AiU3RiKMfzxquzxANgDMO88iTkk9pVKQ5fZV4UwiyZO5q/fUCW4FFx9h4Nc7e9adchM+VaCz/uEAWqrVdsPv9Q==",
       "dev": true,
       "requires": {
-        "@angular-devkit/core": "9.1.10",
-        "@angular-devkit/schematics": "9.1.10",
+        "@angular-devkit/core": "10.0.1",
+        "@angular-devkit/schematics": "10.0.1",
         "@yarnpkg/lockfile": "1.1.0",
         "ini": "1.3.5",
         "npm-package-arg": "^8.0.0",
         "pacote": "9.5.12",
-        "rxjs": "6.5.4",
-        "semver": "7.1.3",
+        "rxjs": "6.5.5",
+        "semver": "7.3.2",
         "semver-intersect": "1.4.0"
       },
       "dependencies": {
@@ -2594,18 +2655,18 @@
           }
         },
         "rxjs": {
-          "version": "6.5.4",
-          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz",
-          "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==",
+          "version": "6.5.5",
+          "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz",
+          "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==",
           "dev": true,
           "requires": {
             "tslib": "^1.9.0"
           }
         },
         "semver": {
-          "version": "7.1.3",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz",
-          "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==",
+          "version": "7.3.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
+          "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==",
           "dev": true
         },
         "tslib": {
@@ -2703,9 +2764,9 @@
       "dev": true
     },
     "@types/marked": {
-      "version": "0.7.4",
-      "resolved": "https://registry.npmjs.org/@types/marked/-/marked-0.7.4.tgz",
-      "integrity": "sha512-fdg0NO4qpuHWtZk6dASgsrBggY+8N4dWthl1bAQG9ceKUNKFjqpHaDKCAhRUI6y8vavG7hLSJ4YBwJtZyZEXqw=="
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@types/marked/-/marked-1.1.0.tgz",
+      "integrity": "sha512-j8XXj6/l9kFvCwMyVqozznqpd/nk80krrW+QiIJN60Uu9gX5Pvn4/qPJ2YngQrR3QREPwmrE1f9/EWKVTFzoEw=="
     },
     "@types/minimatch": {
       "version": "3.0.3",
@@ -2787,178 +2848,177 @@
       "dev": true
     },
     "@webassemblyjs/ast": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz",
-      "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz",
+      "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/helper-module-context": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/wast-parser": "1.8.5"
+        "@webassemblyjs/helper-module-context": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/wast-parser": "1.9.0"
       }
     },
     "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz",
-      "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz",
+      "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==",
       "dev": true
     },
     "@webassemblyjs/helper-api-error": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz",
-      "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz",
+      "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==",
       "dev": true
     },
     "@webassemblyjs/helper-buffer": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz",
-      "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz",
+      "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==",
       "dev": true
     },
     "@webassemblyjs/helper-code-frame": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz",
-      "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz",
+      "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/wast-printer": "1.8.5"
+        "@webassemblyjs/wast-printer": "1.9.0"
       }
     },
     "@webassemblyjs/helper-fsm": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz",
-      "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz",
+      "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==",
       "dev": true
     },
     "@webassemblyjs/helper-module-context": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz",
-      "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz",
+      "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "mamacro": "^0.0.3"
+        "@webassemblyjs/ast": "1.9.0"
       }
     },
     "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz",
-      "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz",
+      "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==",
       "dev": true
     },
     "@webassemblyjs/helper-wasm-section": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz",
-      "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz",
+      "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-buffer": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/wasm-gen": "1.8.5"
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0"
       }
     },
     "@webassemblyjs/ieee754": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz",
-      "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz",
+      "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==",
       "dev": true,
       "requires": {
         "@xtuc/ieee754": "^1.2.0"
       }
     },
     "@webassemblyjs/leb128": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz",
-      "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz",
+      "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==",
       "dev": true,
       "requires": {
         "@xtuc/long": "4.2.2"
       }
     },
     "@webassemblyjs/utf8": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz",
-      "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz",
+      "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==",
       "dev": true
     },
     "@webassemblyjs/wasm-edit": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz",
-      "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz",
+      "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-buffer": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/helper-wasm-section": "1.8.5",
-        "@webassemblyjs/wasm-gen": "1.8.5",
-        "@webassemblyjs/wasm-opt": "1.8.5",
-        "@webassemblyjs/wasm-parser": "1.8.5",
-        "@webassemblyjs/wast-printer": "1.8.5"
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/helper-wasm-section": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0",
+        "@webassemblyjs/wasm-opt": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0",
+        "@webassemblyjs/wast-printer": "1.9.0"
       }
     },
     "@webassemblyjs/wasm-gen": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz",
-      "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz",
+      "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/ieee754": "1.8.5",
-        "@webassemblyjs/leb128": "1.8.5",
-        "@webassemblyjs/utf8": "1.8.5"
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/ieee754": "1.9.0",
+        "@webassemblyjs/leb128": "1.9.0",
+        "@webassemblyjs/utf8": "1.9.0"
       }
     },
     "@webassemblyjs/wasm-opt": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz",
-      "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz",
+      "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-buffer": "1.8.5",
-        "@webassemblyjs/wasm-gen": "1.8.5",
-        "@webassemblyjs/wasm-parser": "1.8.5"
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-buffer": "1.9.0",
+        "@webassemblyjs/wasm-gen": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0"
       }
     },
     "@webassemblyjs/wasm-parser": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz",
-      "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz",
+      "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-api-error": "1.8.5",
-        "@webassemblyjs/helper-wasm-bytecode": "1.8.5",
-        "@webassemblyjs/ieee754": "1.8.5",
-        "@webassemblyjs/leb128": "1.8.5",
-        "@webassemblyjs/utf8": "1.8.5"
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-api-error": "1.9.0",
+        "@webassemblyjs/helper-wasm-bytecode": "1.9.0",
+        "@webassemblyjs/ieee754": "1.9.0",
+        "@webassemblyjs/leb128": "1.9.0",
+        "@webassemblyjs/utf8": "1.9.0"
       }
     },
     "@webassemblyjs/wast-parser": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz",
-      "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz",
+      "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/floating-point-hex-parser": "1.8.5",
-        "@webassemblyjs/helper-api-error": "1.8.5",
-        "@webassemblyjs/helper-code-frame": "1.8.5",
-        "@webassemblyjs/helper-fsm": "1.8.5",
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/floating-point-hex-parser": "1.9.0",
+        "@webassemblyjs/helper-api-error": "1.9.0",
+        "@webassemblyjs/helper-code-frame": "1.9.0",
+        "@webassemblyjs/helper-fsm": "1.9.0",
         "@xtuc/long": "4.2.2"
       }
     },
     "@webassemblyjs/wast-printer": {
-      "version": "1.8.5",
-      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz",
-      "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==",
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz",
+      "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/wast-parser": "1.8.5",
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/wast-parser": "1.9.0",
         "@xtuc/long": "4.2.2"
       }
     },
@@ -2990,6 +3050,12 @@
         "through": ">=2.2.7 <3"
       }
     },
+    "abab": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.3.tgz",
+      "integrity": "sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg==",
+      "dev": true
+    },
     "abbrev": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
@@ -3036,6 +3102,53 @@
       "integrity": "sha512-7Bv1We7ZGuU79zZbb6rRqcpxo3OY+zrdtloZWoyD8fmGX+FeXRjE+iuGkZjSXLVovLzrsvMGMy0EkwA0E0umxg==",
       "dev": true
     },
+    "adjust-sourcemap-loader": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz",
+      "integrity": "sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA==",
+      "dev": true,
+      "requires": {
+        "assert": "1.4.1",
+        "camelcase": "5.0.0",
+        "loader-utils": "1.2.3",
+        "object-path": "0.11.4",
+        "regex-parser": "2.2.10"
+      },
+      "dependencies": {
+        "camelcase": {
+          "version": "5.0.0",
+          "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz",
+          "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==",
+          "dev": true
+        },
+        "emojis-list": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+          "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+          "dev": true
+        },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.2.3",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+          "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^2.0.0",
+            "json5": "^1.0.1"
+          }
+        }
+      }
+    },
     "adler-32": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/adler-32/-/adler-32-1.2.0.tgz",
@@ -3419,9 +3532,9 @@
       }
     },
     "app-root-path": {
-      "version": "2.2.1",
-      "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz",
-      "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz",
+      "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==",
       "dev": true
     },
     "aproba": {
@@ -3455,6 +3568,12 @@
         "commander": "^2.11.0"
       }
     },
+    "arity-n": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz",
+      "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=",
+      "dev": true
+    },
     "arr-diff": {
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
@@ -3497,11 +3616,6 @@
       "integrity": "sha1-z+nYwmYoudxa7MYqn12PHzUsEZU=",
       "dev": true
     },
-    "array-ify": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz",
-      "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4="
-    },
     "array-union": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
@@ -3570,37 +3684,18 @@
       }
     },
     "assert": {
-      "version": "1.5.0",
-      "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
-      "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz",
+      "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=",
       "dev": true,
       "requires": {
-        "object-assign": "^4.1.1",
         "util": "0.10.3"
-      },
-      "dependencies": {
-        "inherits": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
-          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
-          "dev": true
-        },
-        "util": {
-          "version": "0.10.3",
-          "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
-          "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
-          "dev": true,
-          "requires": {
-            "inherits": "2.0.1"
-          }
-        }
       }
     },
     "assert-plus": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
-      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
-      "dev": true
+      "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
     },
     "assign-symbols": {
       "version": "1.0.0",
@@ -3709,8 +3804,7 @@
     "at-least-node": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
-      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
-      "dev": true
+      "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
     },
     "atob": {
       "version": "2.1.2",
@@ -3719,18 +3813,18 @@
       "dev": true
     },
     "autoprefixer": {
-      "version": "9.7.4",
-      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz",
-      "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==",
+      "version": "9.8.0",
+      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.0.tgz",
+      "integrity": "sha512-D96ZiIHXbDmU02dBaemyAg53ez+6F5yZmapmgKcjm35yEe1uVDYI8hGW3VYoGRaG290ZFf91YxHrR518vC0u/A==",
       "dev": true,
       "requires": {
-        "browserslist": "^4.8.3",
-        "caniuse-lite": "^1.0.30001020",
+        "browserslist": "^4.12.0",
+        "caniuse-lite": "^1.0.30001061",
         "chalk": "^2.4.2",
         "normalize-range": "^0.1.2",
         "num2fraction": "^1.2.2",
-        "postcss": "^7.0.26",
-        "postcss-value-parser": "^4.0.2"
+        "postcss": "^7.0.30",
+        "postcss-value-parser": "^4.1.0"
       }
     },
     "aws-sign2": {
@@ -3755,17 +3849,36 @@
       }
     },
     "babel-loader": {
-      "version": "8.0.6",
-      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz",
-      "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==",
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz",
+      "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==",
       "dev": true,
       "requires": {
-        "find-cache-dir": "^2.0.0",
-        "loader-utils": "^1.0.2",
-        "mkdirp": "^0.5.1",
-        "pify": "^4.0.1"
+        "find-cache-dir": "^2.1.0",
+        "loader-utils": "^1.4.0",
+        "mkdirp": "^0.5.3",
+        "pify": "^4.0.1",
+        "schema-utils": "^2.6.5"
       },
       "dependencies": {
+        "ajv": {
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
+          }
+        },
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
         "find-cache-dir": {
           "version": "2.1.0",
           "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz",
@@ -3813,6 +3926,17 @@
           "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
           "dev": true
         },
+        "schema-utils": {
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
+            "ajv-keywords": "^3.4.1"
+          }
+        },
         "semver": {
           "version": "5.7.1",
           "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
@@ -3973,7 +4097,8 @@
     "big-integer": {
       "version": "1.6.43",
       "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.43.tgz",
-      "integrity": "sha512-9dULc9jsKmXl0Aeunug8wbF+58n+hQoFjqClN7WeZwGLh0XJUWyJJ9Ee+Ep+Ql/J9fRsTVaeThp8MhiCCrY0Jg=="
+      "integrity": "sha512-9dULc9jsKmXl0Aeunug8wbF+58n+hQoFjqClN7WeZwGLh0XJUWyJJ9Ee+Ep+Ql/J9fRsTVaeThp8MhiCCrY0Jg==",
+      "dev": true
     },
     "big.js": {
       "version": "5.2.2",
@@ -4234,6 +4359,7 @@
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz",
       "integrity": "sha1-1g1dzCDLptx+HymbNdPh+V2vuuY=",
+      "dev": true,
       "requires": {
         "big-integer": "^1.6.7"
       }
@@ -4699,12 +4825,12 @@
       "dev": true
     },
     "cacache": {
-      "version": "15.0.0",
-      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.0.tgz",
-      "integrity": "sha512-L0JpXHhplbJSiDGzyJJnJCTL7er7NzbBgxzVqLswEb4bO91Zbv17OUMuUeu/q0ZwKn3V+1HM4wb9tO4eVE/K8g==",
+      "version": "15.0.3",
+      "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.3.tgz",
+      "integrity": "sha512-bc3jKYjqv7k4pWh7I/ixIjfcjPul4V4jme/WbjvwGS5LzoPL/GzXr4C5EgPNLO/QEZl9Oi61iGitYEdwcrwLCQ==",
       "dev": true,
       "requires": {
-        "chownr": "^1.1.2",
+        "chownr": "^2.0.0",
         "fs-minipass": "^2.0.0",
         "glob": "^7.1.4",
         "infer-owner": "^1.0.4",
@@ -4714,12 +4840,12 @@
         "minipass-flush": "^1.0.5",
         "minipass-pipeline": "^1.2.2",
         "mkdirp": "^1.0.3",
-        "move-concurrently": "^1.0.1",
-        "p-map": "^3.0.0",
+        "move-file": "^2.0.0",
+        "p-map": "^4.0.0",
         "promise-inflight": "^1.0.1",
-        "rimraf": "^2.7.1",
+        "rimraf": "^3.0.2",
         "ssri": "^8.0.0",
-        "tar": "^6.0.1",
+        "tar": "^6.0.2",
         "unique-filename": "^1.1.1"
       },
       "dependencies": {
@@ -4753,14 +4879,23 @@
           "dev": true
         },
         "p-map": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
-          "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
+          "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
           "dev": true,
           "requires": {
             "aggregate-error": "^3.0.0"
           }
         },
+        "rimraf": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+          "dev": true,
+          "requires": {
+            "glob": "^7.1.3"
+          }
+        },
         "yallist": {
           "version": "3.1.1",
           "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
@@ -5140,9 +5275,9 @@
       }
     },
     "chownr": {
-      "version": "1.1.4",
-      "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
-      "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
+      "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
       "dev": true
     },
     "chrome-trace-event": {
@@ -5352,22 +5487,39 @@
       "dev": true
     },
     "codelyzer": {
-      "version": "5.2.2",
-      "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.2.tgz",
-      "integrity": "sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA==",
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.0.tgz",
+      "integrity": "sha512-edJIQCIcxD9DhVSyBEdJ38AbLikm515Wl91t5RDGNT88uA6uQdTm4phTWfn9JhzAI8kXNUcfYyAE90lJElpGtA==",
       "dev": true,
       "requires": {
-        "app-root-path": "^2.2.1",
+        "@angular/compiler": "9.0.0",
+        "@angular/core": "9.0.0",
+        "app-root-path": "^3.0.0",
         "aria-query": "^3.0.0",
         "axobject-query": "2.0.2",
         "css-selector-tokenizer": "^0.7.1",
         "cssauron": "^1.4.0",
         "damerau-levenshtein": "^1.0.4",
+        "rxjs": "^6.5.3",
         "semver-dsl": "^1.0.1",
         "source-map": "^0.5.7",
-        "sprintf-js": "^1.1.2"
+        "sprintf-js": "^1.1.2",
+        "tslib": "^1.10.0",
+        "zone.js": "~0.10.3"
       },
       "dependencies": {
+        "@angular/compiler": {
+          "version": "9.0.0",
+          "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz",
+          "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==",
+          "dev": true
+        },
+        "@angular/core": {
+          "version": "9.0.0",
+          "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz",
+          "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==",
+          "dev": true
+        },
         "source-map": {
           "version": "0.5.7",
           "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
@@ -5379,6 +5531,12 @@
           "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
           "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
           "dev": true
+        },
+        "tslib": {
+          "version": "1.13.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
+          "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
+          "dev": true
         }
       }
     },
@@ -5487,25 +5645,6 @@
       "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
       "dev": true
     },
-    "compare-func": {
-      "version": "1.3.2",
-      "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz",
-      "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=",
-      "requires": {
-        "array-ify": "^1.0.0",
-        "dot-prop": "^3.0.0"
-      },
-      "dependencies": {
-        "dot-prop": {
-          "version": "3.0.0",
-          "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz",
-          "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=",
-          "requires": {
-            "is-obj": "^1.0.0"
-          }
-        }
-      }
-    },
     "component-bind": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
@@ -5524,6 +5663,15 @@
       "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
       "dev": true
     },
+    "compose-function": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz",
+      "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=",
+      "dev": true,
+      "requires": {
+        "arity-n": "^1.0.4"
+      }
+    },
     "compressible": {
       "version": "2.0.17",
       "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.17.tgz",
@@ -5791,12 +5939,6 @@
             "unique-filename": "^1.1.1"
           }
         },
-        "chownr": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
-          "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
-          "dev": true
-        },
         "fast-deep-equal": {
           "version": "3.1.3",
           "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -6177,60 +6319,262 @@
       }
     },
     "cordova-android": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-8.1.0.tgz",
-      "integrity": "sha512-eAY6g9q3raJ4P03wNdSWC5MOW1EfxoomWNXsPhi7T6Q9yAqmxqn0sLEUjLL1Ib0LCH3nKQWBXdxapQ5LgbHu+g==",
-      "requires": {
-        "android-versions": "^1.4.0",
-        "compare-func": "^1.3.2",
-        "cordova-common": "^3.2.0",
-        "nopt": "^4.0.1",
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/cordova-android/-/cordova-android-9.0.0.tgz",
+      "integrity": "sha512-2ZEgApK4LPMYW0zh/mLAH3CabzCaKE0yxQTzA2wTf0Eo2HHTJnRtDCf9spGf3nPOkubyXS6+pvzz5QzNHpVTqQ==",
+      "requires": {
+        "android-versions": "^1.5.0",
+        "cordova-common": "^4.0.1",
+        "execa": "^4.0.2",
+        "fs-extra": "^9.0.1",
+        "nopt": "^4.0.3",
         "properties-parser": "^0.3.1",
-        "q": "^1.5.1",
-        "shelljs": "^0.5.3"
+        "which": "^2.0.2"
       },
       "dependencies": {
-        "cordova-common": {
-          "version": "3.2.1",
-          "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-3.2.1.tgz",
-          "integrity": "sha512-xg0EnjnA6EipxXG8cupdlYQYeDA6+ghbN+Pjq88xN1LInwP6Bo7IyGBdSV5QnfjOvzShF9BBwSxBAv0FOO0C2Q==",
-          "requires": {
-            "ansi": "^0.3.1",
-            "bplist-parser": "^0.1.0",
-            "cross-spawn": "^6.0.5",
-            "elementtree": "0.1.7",
-            "endent": "^1.1.1",
-            "fs-extra": "^8.0.0",
-            "glob": "^7.1.2",
-            "minimatch": "^3.0.0",
+        "@nodelib/fs.stat": {
+          "version": "2.0.3",
+          "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz",
+          "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA=="
+        },
+        "big-integer": {
+          "version": "1.6.48",
+          "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.48.tgz",
+          "integrity": "sha512-j51egjPa7/i+RdiRuJbPdJ2FIUYYPhvYLjzoYbcMMm62ooO6F94fETG4MTs46zPAF9Brs04OajboA/qTGuz78w=="
+        },
+        "bplist-parser": {
+          "version": "0.2.0",
+          "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz",
+          "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==",
+          "requires": {
+            "big-integer": "^1.6.44"
+          }
+        },
+        "braces": {
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+          "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+          "requires": {
+            "fill-range": "^7.0.1"
+          }
+        },
+        "cordova-common": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/cordova-common/-/cordova-common-4.0.2.tgz",
+          "integrity": "sha512-od7aNShyuBajzPY83mUEO8tERwwWdFklXETHiXP5Ft87CWeo/tSuwNPFztyTy8XYc74yXdogXKPTJeUHuVzB8Q==",
+          "requires": {
+            "@netflix/nerror": "^1.1.3",
+            "ansi": "^0.3.1",
+            "bplist-parser": "^0.2.0",
+            "cross-spawn": "^7.0.1",
+            "elementtree": "^0.1.7",
+            "endent": "^1.4.1",
+            "fast-glob": "^3.2.2",
+            "fs-extra": "^9.0.0",
+            "glob": "^7.1.6",
             "plist": "^3.0.1",
-            "q": "^1.4.1",
-            "strip-bom": "^3.0.0",
-            "underscore": "^1.8.3",
-            "which": "^1.3.0"
-          },
-          "dependencies": {
-            "fs-extra": {
-              "version": "8.1.0",
-              "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
-              "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
-              "requires": {
-                "graceful-fs": "^4.2.0",
-                "jsonfile": "^4.0.0",
-                "universalify": "^0.1.0"
-              }
-            }
+            "q": "^1.5.1",
+            "read-chunk": "^3.2.0",
+            "strip-bom": "^4.0.0",
+            "underscore": "^1.9.2"
           }
         },
-        "graceful-fs": {
-          "version": "4.2.4",
-          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
+        "cross-spawn": {
+          "version": "7.0.3",
+          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+          "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+          "requires": {
+            "path-key": "^3.1.0",
+            "shebang-command": "^2.0.0",
+            "which": "^2.0.1"
+          }
+        },
+        "endent": {
+          "version": "1.4.1",
+          "resolved": "https://registry.npmjs.org/endent/-/endent-1.4.1.tgz",
+          "integrity": "sha512-buHTb5c8AC9NshtP6dgmNLYkiT+olskbq1z6cEGvfGCF3Qphbu/1zz5Xu+yjTDln8RbxNhPoUyJ5H8MSrp1olQ==",
+          "requires": {
+            "dedent": "^0.7.0",
+            "fast-json-parse": "^1.0.3",
+            "objectorarray": "^1.0.4"
+          }
+        },
+        "execa": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/execa/-/execa-4.0.2.tgz",
+          "integrity": "sha512-QI2zLa6CjGWdiQsmSkZoGtDx2N+cQIGb3yNolGTdjSQzydzLgYYf8LRuagp7S7fPimjcrzUDSUFd/MgzELMi4Q==",
+          "requires": {
+            "cross-spawn": "^7.0.0",
+            "get-stream": "^5.0.0",
+            "human-signals": "^1.1.1",
+            "is-stream": "^2.0.0",
+            "merge-stream": "^2.0.0",
+            "npm-run-path": "^4.0.0",
+            "onetime": "^5.1.0",
+            "signal-exit": "^3.0.2",
+            "strip-final-newline": "^2.0.0"
+          }
+        },
+        "fast-glob": {
+          "version": "3.2.4",
+          "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz",
+          "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==",
+          "requires": {
+            "@nodelib/fs.stat": "^2.0.2",
+            "@nodelib/fs.walk": "^1.2.3",
+            "glob-parent": "^5.1.0",
+            "merge2": "^1.3.0",
+            "micromatch": "^4.0.2",
+            "picomatch": "^2.2.1"
+          }
+        },
+        "fill-range": {
+          "version": "7.0.1",
+          "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+          "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+          "requires": {
+            "to-regex-range": "^5.0.1"
+          }
+        },
+        "get-stream": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.1.0.tgz",
+          "integrity": "sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw==",
+          "requires": {
+            "pump": "^3.0.0"
+          }
+        },
+        "glob": {
+          "version": "7.1.6",
+          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
+          "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
+          "requires": {
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
+          }
+        },
+        "glob-parent": {
+          "version": "5.1.1",
+          "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
+          "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
+          "requires": {
+            "is-glob": "^4.0.1"
+          }
+        },
+        "is-glob": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
+          "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
+          "requires": {
+            "is-extglob": "^2.1.1"
+          }
+        },
+        "is-number": {
+          "version": "7.0.0",
+          "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+          "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+        },
+        "is-stream": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+          "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw=="
+        },
+        "merge2": {
+          "version": "1.4.1",
+          "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+          "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
+        },
+        "micromatch": {
+          "version": "4.0.2",
+          "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz",
+          "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==",
+          "requires": {
+            "braces": "^3.0.1",
+            "picomatch": "^2.0.5"
+          }
+        },
+        "nopt": {
+          "version": "4.0.3",
+          "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz",
+          "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==",
+          "requires": {
+            "abbrev": "1",
+            "osenv": "^0.1.4"
+          }
+        },
+        "npm-run-path": {
+          "version": "4.0.1",
+          "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+          "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+          "requires": {
+            "path-key": "^3.0.0"
+          }
+        },
+        "objectorarray": {
+          "version": "1.0.4",
+          "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.4.tgz",
+          "integrity": "sha512-91k8bjcldstRz1bG6zJo8lWD7c6QXcB4nTDUqiEvIL1xAsLoZlOOZZG+nd6YPz+V7zY1580J4Xxh1vZtyv4i/w=="
+        },
+        "onetime": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz",
+          "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==",
+          "requires": {
+            "mimic-fn": "^2.1.0"
+          }
+        },
+        "path-key": {
+          "version": "3.1.1",
+          "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+          "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
+        },
+        "picomatch": {
+          "version": "2.2.2",
+          "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
+          "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg=="
         },
         "q": {
           "version": "1.5.1",
           "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz",
           "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc="
+        },
+        "shebang-command": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+          "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+          "requires": {
+            "shebang-regex": "^3.0.0"
+          }
+        },
+        "shebang-regex": {
+          "version": "3.0.0",
+          "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+          "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
+        },
+        "to-regex-range": {
+          "version": "5.0.1",
+          "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+          "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+          "requires": {
+            "is-number": "^7.0.0"
+          }
+        },
+        "underscore": {
+          "version": "1.10.2",
+          "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.10.2.tgz",
+          "integrity": "sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg=="
+        },
+        "which": {
+          "version": "2.0.2",
+          "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+          "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+          "requires": {
+            "isexe": "^2.0.0"
+          }
         }
       }
     },
@@ -6652,6 +6996,7 @@
       "version": "6.0.5",
       "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
       "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+      "dev": true,
       "requires": {
         "nice-try": "^1.0.4",
         "path-key": "^2.0.1",
@@ -6733,9 +7078,9 @@
       }
     },
     "css-loader": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.1.tgz",
-      "integrity": "sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==",
+      "version": "3.5.3",
+      "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.3.tgz",
+      "integrity": "sha512-UEr9NH5Lmi7+dguAm+/JSPovNjYbm2k3TK58EiwQHzOHH5Jfq1Y+XoP2bQO6TMn7PptMd0opxxedAWcaSTRKHw==",
       "dev": true,
       "requires": {
         "camelcase": "^5.3.1",
@@ -6749,7 +7094,7 @@
         "postcss-modules-scope": "^2.2.0",
         "postcss-modules-values": "^3.0.0",
         "postcss-value-parser": "^4.0.3",
-        "schema-utils": "^2.6.5",
+        "schema-utils": "^2.6.6",
         "semver": "^6.3.0"
       },
       "dependencies": {
@@ -7331,6 +7676,17 @@
         "assert-plus": "^1.0.0"
       }
     },
+    "data-urls": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+      "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+      "dev": true,
+      "requires": {
+        "abab": "^2.0.3",
+        "whatwg-mimetype": "^2.3.0",
+        "whatwg-url": "^8.0.0"
+      }
+    },
     "date-format": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz",
@@ -7390,7 +7746,8 @@
     "deep-equal": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
-      "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
+      "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+      "dev": true
     },
     "deep-extend": {
       "version": "0.6.0",
@@ -7441,6 +7798,7 @@
       "version": "1.1.3",
       "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
       "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+      "dev": true,
       "requires": {
         "object-keys": "^1.0.12"
       }
@@ -7489,7 +7847,8 @@
     "defined": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz",
-      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM="
+      "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=",
+      "dev": true
     },
     "del": {
       "version": "4.1.1",
@@ -8354,7 +8713,6 @@
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
       "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
-      "dev": true,
       "requires": {
         "once": "^1.4.0"
       }
@@ -8363,6 +8721,7 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmjs.org/endent/-/endent-1.3.0.tgz",
       "integrity": "sha512-C8AryqPPwtydqcpO5AF6k9Bd1EpFkQtvsefJqS3y3n8TG13Jy63MascDxTOULZYqrUde+dK6BjNc6LIMr3iI2A==",
+      "dev": true,
       "requires": {
         "dedent": "^0.7.0",
         "fast-json-parse": "^1.0.3",
@@ -8533,6 +8892,7 @@
       "version": "1.13.0",
       "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.13.0.tgz",
       "integrity": "sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg==",
+      "dev": true,
       "requires": {
         "es-to-primitive": "^1.2.0",
         "function-bind": "^1.1.1",
@@ -8546,6 +8906,7 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.0.tgz",
       "integrity": "sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg==",
+      "dev": true,
       "requires": {
         "is-callable": "^1.1.4",
         "is-date-object": "^1.0.1",
@@ -9277,7 +9638,6 @@
       "version": "1.8.0",
       "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.8.0.tgz",
       "integrity": "sha512-SMIZoZdLh/fgofivvIkmknUXyPnvxRE3DhtZ5Me3Mrsk5gyPL42F0xr51TdRXskBxHfMp+07bcYzfsYEsSQA9Q==",
-      "dev": true,
       "requires": {
         "reusify": "^1.0.4"
       }
@@ -9640,6 +10000,7 @@
       "version": "0.3.3",
       "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
       "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
+      "dev": true,
       "requires": {
         "is-callable": "^1.1.3"
       }
@@ -9719,7 +10080,6 @@
       "version": "9.0.1",
       "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz",
       "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==",
-      "dev": true,
       "requires": {
         "at-least-node": "^1.0.0",
         "graceful-fs": "^4.2.0",
@@ -9730,14 +10090,12 @@
         "graceful-fs": {
           "version": "4.2.4",
           "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
-          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
-          "dev": true
+          "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
         },
         "jsonfile": {
           "version": "6.0.1",
           "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz",
           "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==",
-          "dev": true,
           "requires": {
             "graceful-fs": "^4.1.6",
             "universalify": "^1.0.0"
@@ -9746,8 +10104,7 @@
         "universalify": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz",
-          "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==",
-          "dev": true
+          "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug=="
         }
       }
     },
@@ -10328,7 +10685,8 @@
     "function-bind": {
       "version": "1.1.1",
       "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+      "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+      "dev": true
     },
     "genfun": {
       "version": "5.0.0",
@@ -10379,6 +10737,7 @@
       "version": "7.1.3",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
       "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+      "dev": true,
       "requires": {
         "fs.realpath": "^1.0.0",
         "inflight": "^1.0.4",
@@ -10662,7 +11021,8 @@
     "graceful-fs": {
       "version": "4.1.15",
       "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
-      "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA=="
+      "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+      "dev": true
     },
     "graphlibrary": {
       "version": "2.2.0",
@@ -10730,6 +11090,7 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
       "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+      "dev": true,
       "requires": {
         "function-bind": "^1.1.1"
       }
@@ -10775,7 +11136,8 @@
     "has-symbols": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
-      "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q="
+      "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+      "dev": true
     },
     "has-value": {
       "version": "1.0.0",
@@ -11111,6 +11473,11 @@
         }
       }
     },
+    "human-signals": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz",
+      "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw=="
+    },
     "humanize-ms": {
       "version": "1.2.1",
       "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
@@ -11502,7 +11869,8 @@
     "is-callable": {
       "version": "1.1.4",
       "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
-      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA=="
+      "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+      "dev": true
     },
     "is-ci": {
       "version": "2.0.0",
@@ -11550,7 +11918,8 @@
     "is-date-object": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
-      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY="
+      "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+      "dev": true
     },
     "is-descriptor": {
       "version": "0.1.6",
@@ -11592,8 +11961,7 @@
     "is-extglob": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
-      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
-      "dev": true
+      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
     },
     "is-fullwidth-code-point": {
       "version": "2.0.0",
@@ -11661,7 +12029,8 @@
     "is-obj": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
-      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
+      "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
+      "dev": true
     },
     "is-path-cwd": {
       "version": "1.0.0",
@@ -11718,6 +12087,7 @@
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
       "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+      "dev": true,
       "requires": {
         "has": "^1.0.1"
       }
@@ -11767,6 +12137,7 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
       "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+      "dev": true,
       "requires": {
         "has-symbols": "^1.0.0"
       }
@@ -12062,9 +12433,9 @@
       "dev": true
     },
     "jest-worker": {
-      "version": "25.1.0",
-      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz",
-      "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==",
+      "version": "26.0.0",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.0.0.tgz",
+      "integrity": "sha512-pPaYa2+JnwmiZjK9x7p9BoZht+47ecFCDFA/CJxspHzeDvQcfVBLWzCiWyo+EGrSiQMWZtCFo9iSvMZnAAo8vw==",
       "dev": true,
       "requires": {
         "merge-stream": "^2.0.0",
@@ -12173,6 +12544,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
       "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
+      "dev": true,
       "requires": {
         "graceful-fs": "^4.1.6"
       }
@@ -12570,41 +12942,45 @@
       }
     },
     "less-loader": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz",
-      "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==",
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-6.1.0.tgz",
+      "integrity": "sha512-/jLzOwLyqJ7Kt3xg5sHHkXtOyShWwFj410K9Si9WO+/h8rmYxxkSR0A3/hFEntWudE20zZnWMtpMYnLzqTVdUA==",
       "dev": true,
       "requires": {
-        "clone": "^2.1.1",
-        "loader-utils": "^1.1.0",
-        "pify": "^4.0.1"
+        "clone": "^2.1.2",
+        "less": "^3.11.1",
+        "loader-utils": "^2.0.0",
+        "schema-utils": "^2.6.6"
       },
       "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+        "ajv": {
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
-            "minimist": "^1.2.0"
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
           }
         },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
           "dev": true,
           "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
+            "ajv-keywords": "^3.4.1"
           }
-        },
-        "pify": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-          "dev": true
         }
       }
     },
@@ -12634,9 +13010,9 @@
       }
     },
     "license-webpack-plugin": {
-      "version": "2.1.4",
-      "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz",
-      "integrity": "sha512-1Xq72fmPbTg5KofXs+yI5L4QqPFjQ6mZxoeI6D7gfiEDOtaEIk6PGrdLaej90bpDqKNHNxlQ/MW4tMAL6xMPJQ==",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.2.0.tgz",
+      "integrity": "sha512-XPsdL/0brSHf+7dXIlRqotnCQ58RX2au6otkOg4U3dm8uH+Ka/fW4iukEs95uXm+qKe/SBs+s1Ll/aQddKG+tg==",
       "dev": true,
       "requires": {
         "@types/webpack-sources": "^0.1.5",
@@ -12864,6 +13240,12 @@
       "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
       "dev": true
     },
+    "lodash.sortby": {
+      "version": "4.7.0",
+      "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz",
+      "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
+      "dev": true
+    },
     "lodash.uniq": {
       "version": "4.5.0",
       "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
@@ -13023,6 +13405,12 @@
             "y18n": "^4.0.0"
           }
         },
+        "chownr": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+          "dev": true
+        },
         "glob": {
           "version": "7.1.6",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
@@ -13063,12 +13451,6 @@
         }
       }
     },
-    "mamacro": {
-      "version": "0.0.3",
-      "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz",
-      "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==",
-      "dev": true
-    },
     "map-cache": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
@@ -13190,8 +13572,7 @@
     "merge-stream": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
-      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
-      "dev": true
+      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w=="
     },
     "merge2": {
       "version": "1.2.3",
@@ -13286,8 +13667,7 @@
     "mimic-fn": {
       "version": "2.1.0",
       "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
-      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
-      "dev": true
+      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
     },
     "mimic-response": {
       "version": "1.0.1",
@@ -13548,6 +13928,23 @@
         "run-queue": "^1.0.3"
       }
     },
+    "move-file": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.0.0.tgz",
+      "integrity": "sha512-cdkdhNCgbP5dvS4tlGxZbD+nloio9GIimP57EjqFhwLcMjnU+XJKAZzlmg/TN/AK1LuNAdTSvm3CPPP4Xkv0iQ==",
+      "dev": true,
+      "requires": {
+        "path-exists": "^4.0.0"
+      },
+      "dependencies": {
+        "path-exists": {
+          "version": "4.0.0",
+          "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+          "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+          "dev": true
+        }
+      }
+    },
     "ms": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
@@ -13638,15 +14035,16 @@
       "integrity": "sha512-MKawthAXawXZ+pcJS6/dGuwGDunM4yuUpjLjmFlRW3pr+BbWoUFVtFNxdcf1490FkYEsLC9sfEcZ4iQkmsI8sg=="
     },
     "ngx-markdown": {
-      "version": "9.1.1",
-      "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-9.1.1.tgz",
-      "integrity": "sha512-dEuR1KBa/Ivb1HT+DvSW1p6wLSx79EZz8/WpgDxiEZfL1PADTQUziNLgmtwAEgBTDjsXFhZ/Af7Zq5J9dQf6KQ==",
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/ngx-markdown/-/ngx-markdown-10.0.0.tgz",
+      "integrity": "sha512-ShBzCbV8iFBafAm8pfXa41Q8WaXvuDoiGPLol+X6mU3bfJBLo2BUKUcm0LokgelEXRfNtTIy4UW5iuMimWdmYA==",
       "requires": {
-        "@types/marked": "^0.7.4",
+        "@types/marked": "^1.1.0",
         "emoji-toolkit": "^5.5.0",
         "katex": "^0.11.0",
         "marked": "^1.1.0",
-        "prismjs": "^1.20.0"
+        "prismjs": "^1.20.0",
+        "tslib": "^2.0.0"
       },
       "dependencies": {
         "marked": {
@@ -13684,7 +14082,8 @@
     "nice-try": {
       "version": "1.0.5",
       "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
-      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
+      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+      "dev": true
     },
     "no-case": {
       "version": "2.3.2",
@@ -13747,6 +14146,15 @@
           "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
           "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
           "dev": true
+        },
+        "util": {
+          "version": "0.11.1",
+          "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
+          "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+          "dev": true,
+          "requires": {
+            "inherits": "2.0.3"
+          }
         }
       }
     },
@@ -13760,6 +14168,7 @@
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
       "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+      "dev": true,
       "requires": {
         "abbrev": "1",
         "osenv": "^0.1.4"
@@ -13865,9 +14274,9 @@
       }
     },
     "npm-pick-manifest": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.0.0.tgz",
-      "integrity": "sha512-PdJpXMvjqt4nftNEDpCgjBUF8yI3Q3MyuAmVB9nemnnCg32F4BPL/JFBfdj8DubgHCYUFQhtLWmBPvdsFtjWMg==",
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz",
+      "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==",
       "dev": true,
       "requires": {
         "npm-install-checks": "^4.0.0",
@@ -14038,7 +14447,14 @@
     "object-keys": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.0.tgz",
-      "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg=="
+      "integrity": "sha512-6OO5X1+2tYkNyNEx6TsCxEqFfRWaqx6EtMiSbGrw8Ob8v9Ne+Hl8rBAgLBZn5wjEz3s/s6U1WXFUFOcxxAwUpg==",
+      "dev": true
+    },
+    "object-path": {
+      "version": "0.11.4",
+      "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.11.4.tgz",
+      "integrity": "sha1-NwrnUvvzfePqcKhhwju6iRVpGUk=",
+      "dev": true
     },
     "object-visit": {
       "version": "1.0.1",
@@ -14226,6 +14642,7 @@
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.3.tgz",
       "integrity": "sha512-kPoflSYkAf/Onvjr4ZLaq37vDuOXjVzfwLCRuORRzYGdXkHa/vacPT0RgR+KmtkwOYFcxTMM62BRrZk8GGKHjw==",
+      "dev": true,
       "requires": {
         "tape": "^4.8.0"
       }
@@ -14277,9 +14694,9 @@
       }
     },
     "open": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz",
-      "integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==",
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/open/-/open-7.0.4.tgz",
+      "integrity": "sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ==",
       "dev": true,
       "requires": {
         "is-docker": "^2.0.0",
@@ -14327,9 +14744,9 @@
       }
     },
     "ora": {
-      "version": "4.0.3",
-      "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz",
-      "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==",
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.4.tgz",
+      "integrity": "sha512-77iGeVU1cIdRhgFzCK8aw1fbtT1B/iZAvWjS+l/o1x0RShMgxHUZaD2yDpWsNCPwXg9z1ZA78Kbdvr8kBmG/Ww==",
       "dev": true,
       "requires": {
         "chalk": "^3.0.0",
@@ -14490,8 +14907,7 @@
     "p-finally": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
-      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
-      "dev": true
+      "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4="
     },
     "p-limit": {
       "version": "2.2.1",
@@ -14529,8 +14945,7 @@
     "p-try": {
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
-      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ=="
     },
     "package-json": {
       "version": "6.5.0",
@@ -14638,6 +15053,12 @@
             }
           }
         },
+        "chownr": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+          "dev": true
+        },
         "fs-minipass": {
           "version": "1.2.7",
           "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz",
@@ -14862,12 +15283,14 @@
     "path-key": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
-      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A="
+      "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+      "dev": true
     },
     "path-parse": {
       "version": "1.0.6",
       "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
-      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
+      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+      "dev": true
     },
     "path-to-regexp": {
       "version": "0.1.7",
@@ -15059,6 +15482,15 @@
       "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==",
       "dev": true
     },
+    "pnp-webpack-plugin": {
+      "version": "1.6.4",
+      "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz",
+      "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==",
+      "dev": true,
+      "requires": {
+        "ts-pnp": "^1.1.6"
+      }
+    },
     "posix-character-classes": {
       "version": "0.1.1",
       "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
@@ -15066,9 +15498,9 @@
       "dev": true
     },
     "postcss": {
-      "version": "7.0.27",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz",
-      "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==",
+      "version": "7.0.31",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.31.tgz",
+      "integrity": "sha512-a937VDHE1ftkjk+8/7nj/mrjtmkn69xxzJgRETXdAUU+IgOYPQNJF17haGWbeDxSyk++HA14UA98FurvPyBJOA==",
       "dev": true,
       "requires": {
         "chalk": "^2.4.2",
@@ -16182,7 +16614,6 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
       "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
-      "dev": true,
       "requires": {
         "end-of-stream": "^1.1.0",
         "once": "^1.3.1"
@@ -16362,13 +16793,13 @@
       }
     },
     "raw-loader": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.0.tgz",
-      "integrity": "sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==",
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.1.tgz",
+      "integrity": "sha512-baolhQBSi3iNh1cglJjA0mYzga+wePk7vdEX//1dTFd+v4TsQlQE0jitJSNF1OIP82rdYulH7otaVmdlDaJ64A==",
       "dev": true,
       "requires": {
-        "loader-utils": "^1.2.3",
-        "schema-utils": "^2.5.0"
+        "loader-utils": "^2.0.0",
+        "schema-utils": "^2.6.5"
       },
       "dependencies": {
         "ajv": {
@@ -16389,26 +16820,6 @@
           "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
           "dev": true
         },
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        },
         "schema-utils": {
           "version": "2.7.0",
           "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
@@ -16472,7 +16883,6 @@
       "version": "3.2.0",
       "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-3.2.0.tgz",
       "integrity": "sha512-CEjy9LCzhmD7nUpJ1oVOE6s/hBkejlcJEgLQHVnQznOSilOPb+kpKktlLfFDK3/WP43+F80xkUTM2VOkYoSYvQ==",
-      "dev": true,
       "requires": {
         "pify": "^4.0.1",
         "with-open-file": "^0.1.6"
@@ -16481,8 +16891,7 @@
         "pify": {
           "version": "4.0.1",
           "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-          "dev": true
+          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
         }
       }
     },
@@ -16585,9 +16994,9 @@
       "dev": true
     },
     "regenerate": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz",
-      "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==",
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.1.tgz",
+      "integrity": "sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A==",
       "dev": true
     },
     "regenerate-unicode-properties": {
@@ -16624,6 +17033,12 @@
         "safe-regex": "^1.1.0"
       }
     },
+    "regex-parser": {
+      "version": "2.2.10",
+      "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.10.tgz",
+      "integrity": "sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA==",
+      "dev": true
+    },
     "regexpu-core": {
       "version": "4.7.0",
       "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz",
@@ -16779,6 +17194,78 @@
       "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
       "dev": true
     },
+    "resolve-url-loader": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz",
+      "integrity": "sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ==",
+      "dev": true,
+      "requires": {
+        "adjust-sourcemap-loader": "2.0.0",
+        "camelcase": "5.3.1",
+        "compose-function": "3.0.3",
+        "convert-source-map": "1.7.0",
+        "es6-iterator": "2.0.3",
+        "loader-utils": "1.2.3",
+        "postcss": "7.0.21",
+        "rework": "1.0.1",
+        "rework-visit": "1.0.0",
+        "source-map": "0.6.1"
+      },
+      "dependencies": {
+        "convert-source-map": {
+          "version": "1.7.0",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz",
+          "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==",
+          "dev": true,
+          "requires": {
+            "safe-buffer": "~5.1.1"
+          }
+        },
+        "emojis-list": {
+          "version": "2.1.0",
+          "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz",
+          "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=",
+          "dev": true
+        },
+        "json5": {
+          "version": "1.0.1",
+          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+          "dev": true,
+          "requires": {
+            "minimist": "^1.2.0"
+          }
+        },
+        "loader-utils": {
+          "version": "1.2.3",
+          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz",
+          "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==",
+          "dev": true,
+          "requires": {
+            "big.js": "^5.2.2",
+            "emojis-list": "^2.0.0",
+            "json5": "^1.0.1"
+          }
+        },
+        "postcss": {
+          "version": "7.0.21",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz",
+          "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==",
+          "dev": true,
+          "requires": {
+            "chalk": "^2.4.2",
+            "source-map": "^0.6.1",
+            "supports-color": "^6.1.0"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
+        }
+      }
+    },
     "responselike": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz",
@@ -16811,6 +17298,7 @@
       "version": "0.0.0",
       "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz",
       "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=",
+      "dev": true,
       "requires": {
         "through": "~2.3.4"
       }
@@ -16830,7 +17318,30 @@
     "reusify": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
-      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+      "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
+    },
+    "rework": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz",
+      "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=",
+      "dev": true,
+      "requires": {
+        "convert-source-map": "^0.3.3",
+        "css": "^2.0.0"
+      },
+      "dependencies": {
+        "convert-source-map": {
+          "version": "0.3.5",
+          "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz",
+          "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=",
+          "dev": true
+        }
+      }
+    },
+    "rework-visit": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz",
+      "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=",
       "dev": true
     },
     "rfdc": {
@@ -16900,9 +17411,9 @@
       "integrity": "sha512-OlwfYEgA2RdboZohpldlvJ1xngOins5d7ejqnIBWr9KaMxsnBqotpptRXTyfNRLnFpqzX6sTDt+X+a+6udnU8g=="
     },
     "rollup": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.1.0.tgz",
-      "integrity": "sha512-gfE1455AEazVVTJoeQtcOq/U6GSxwoj4XPSWVsuWmgIxj7sBQNLDOSA82PbdMe+cP8ql8fR1jogPFe8Wg8g4SQ==",
+      "version": "2.10.9",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.10.9.tgz",
+      "integrity": "sha512-dY/EbjiWC17ZCUSyk14hkxATAMAShkMsD43XmZGWjLrgFj15M3Dw2kEkA9ns64BiLFm9PKN6vTQw8neHwK74eg==",
       "dev": true,
       "requires": {
         "fsevents": "~2.1.2"
@@ -16929,8 +17440,7 @@
     "run-parallel": {
       "version": "1.1.9",
       "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
-      "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q==",
-      "dev": true
+      "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q=="
     },
     "run-queue": {
       "version": "1.0.3",
@@ -16991,9 +17501,9 @@
       }
     },
     "sass": {
-      "version": "1.26.3",
-      "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.3.tgz",
-      "integrity": "sha512-5NMHI1+YFYw4sN3yfKjpLuV9B5l7MqQ6FlkTcC4FT+oHbBRUZoSjHrrt/mE0nFXJyY2kQtU9ou9HxvFVjLFuuw==",
+      "version": "1.26.5",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.5.tgz",
+      "integrity": "sha512-FG2swzaZUiX53YzZSjSakzvGtlds0lcbF+URuU9mxOv7WBh7NhXEVDa4kPKN4hN6fC2TkOTOKqiqp6d53N9X5Q==",
       "dev": true,
       "requires": {
         "chokidar": ">=2.0.0 <4.0.0"
@@ -17418,6 +17928,7 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
       "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+      "dev": true,
       "requires": {
         "shebang-regex": "^1.0.0"
       }
@@ -17425,18 +17936,13 @@
     "shebang-regex": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
-      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
-    },
-    "shelljs": {
-      "version": "0.5.3",
-      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
-      "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
+      "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+      "dev": true
     },
     "signal-exit": {
       "version": "3.0.2",
       "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
-      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
-      "dev": true
+      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
     },
     "simple-swizzle": {
       "version": "0.2.2",
@@ -17822,34 +18328,61 @@
       "dev": true
     },
     "source-map-loader": {
-      "version": "0.2.4",
-      "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz",
-      "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==",
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.0.0.tgz",
+      "integrity": "sha512-ZayyQCSCrQazN50aCvuS84lJT4xc1ZAcykH5blHaBdVveSwjiFK8UGMPvao0ho54DTb0Jf7m57uRRG/YYUZ2Fg==",
       "dev": true,
       "requires": {
-        "async": "^2.5.0",
-        "loader-utils": "^1.1.0"
+        "data-urls": "^2.0.0",
+        "iconv-lite": "^0.5.1",
+        "loader-utils": "^2.0.0",
+        "schema-utils": "^2.6.6",
+        "source-map": "^0.6.0"
       },
       "dependencies": {
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+        "ajv": {
+          "version": "6.12.3",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.3.tgz",
+          "integrity": "sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA==",
           "dev": true,
           "requires": {
-            "minimist": "^1.2.0"
+            "fast-deep-equal": "^3.1.1",
+            "fast-json-stable-stringify": "^2.0.0",
+            "json-schema-traverse": "^0.4.1",
+            "uri-js": "^4.2.2"
           }
         },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
+        "fast-deep-equal": {
+          "version": "3.1.3",
+          "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+          "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+          "dev": true
+        },
+        "iconv-lite": {
+          "version": "0.5.2",
+          "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.5.2.tgz",
+          "integrity": "sha512-kERHXvpSaB4aU3eANwidg79K8FlrN77m8G9V+0vOR3HYaRifrlwMEpT7ZBJqLSEIHnEgJTHcWK82wwLwwKwtag==",
           "dev": true,
           "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
+            "safer-buffer": ">= 2.1.2 < 3"
+          }
+        },
+        "schema-utils": {
+          "version": "2.7.0",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
+          "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.4",
+            "ajv": "^6.12.2",
+            "ajv-keywords": "^3.4.1"
           }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+          "dev": true
         }
       }
     },
@@ -17971,9 +18504,9 @@
       }
     },
     "speed-measure-webpack-plugin": {
-      "version": "1.3.1",
-      "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz",
-      "integrity": "sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ==",
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.3.tgz",
+      "integrity": "sha512-2ljD4Ch/rz2zG3HsLsnPfp23osuPBS0qPuz9sGpkNXTN1Ic4M+W9xB8l8rS8ob2cO4b1L+WTJw/0AJwWYVgcxQ==",
       "dev": true,
       "requires": {
         "chalk": "^2.0.1"
@@ -18294,6 +18827,7 @@
       "version": "1.1.2",
       "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.1.2.tgz",
       "integrity": "sha1-0E3iyJ4Tf019IG8Ia17S+ua+jOo=",
+      "dev": true,
       "requires": {
         "define-properties": "^1.1.2",
         "es-abstract": "^1.5.0",
@@ -18469,9 +19003,9 @@
       }
     },
     "strip-bom": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
-      "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM="
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w=="
     },
     "strip-css-comments": {
       "version": "3.0.0",
@@ -18487,6 +19021,11 @@
       "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
       "dev": true
     },
+    "strip-final-newline": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA=="
+    },
     "strip-json-comments": {
       "version": "2.0.1",
       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
@@ -18494,13 +19033,13 @@
       "dev": true
     },
     "style-loader": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz",
-      "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz",
+      "integrity": "sha512-ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==",
       "dev": true,
       "requires": {
-        "loader-utils": "^1.2.3",
-        "schema-utils": "^2.6.4"
+        "loader-utils": "^2.0.0",
+        "schema-utils": "^2.6.6"
       },
       "dependencies": {
         "ajv": {
@@ -18521,26 +19060,6 @@
           "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
           "dev": true
         },
-        "json5": {
-          "version": "1.0.1",
-          "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
-          "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
-          "dev": true,
-          "requires": {
-            "minimist": "^1.2.0"
-          }
-        },
-        "loader-utils": {
-          "version": "1.4.0",
-          "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz",
-          "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==",
-          "dev": true,
-          "requires": {
-            "big.js": "^5.2.2",
-            "emojis-list": "^3.0.0",
-            "json5": "^1.0.1"
-          }
-        },
         "schema-utils": {
           "version": "2.7.0",
           "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
@@ -18775,6 +19294,7 @@
       "version": "4.10.2",
       "resolved": "https://registry.npmjs.org/tape/-/tape-4.10.2.tgz",
       "integrity": "sha512-mgl23h7W2yuk3N85FOYrin2OvThTYWdwbk6XQ1pr2PMJieyW2FM/4Bu/+kD/wecb3aZ0Enm+Syinyq467OPq2w==",
+      "dev": true,
       "requires": {
         "deep-equal": "~1.0.1",
         "defined": "~1.0.0",
@@ -18795,6 +19315,7 @@
           "version": "7.1.4",
           "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
           "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
+          "dev": true,
           "requires": {
             "fs.realpath": "^1.0.0",
             "inflight": "^1.0.4",
@@ -18807,17 +19328,20 @@
         "minimist": {
           "version": "1.2.5",
           "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
+          "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+          "dev": true
         },
         "object-inspect": {
           "version": "1.6.0",
           "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.6.0.tgz",
-          "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ=="
+          "integrity": "sha512-GJzfBZ6DgDAmnuaM3104jR4s1Myxr3Y3zfIyN4z3UdqN69oSRacNK8UhnobDdC+7J2AHCjGwxQubNJfE70SXXQ==",
+          "dev": true
         },
         "resolve": {
           "version": "1.10.1",
           "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz",
           "integrity": "sha512-KuIe4mf++td/eFb6wkaPbMDnP6kObCaEtIDuHOUED6MNUo4K670KZUHuuvYPZDxNF0WVLw49n06M2m2dXphEzA==",
+          "dev": true,
           "requires": {
             "path-parse": "^1.0.6"
           }
@@ -18838,12 +19362,6 @@
         "yallist": "^4.0.0"
       },
       "dependencies": {
-        "chownr": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
-          "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
-          "dev": true
-        },
         "mkdirp": {
           "version": "1.0.4",
           "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
@@ -18951,17 +19469,17 @@
       }
     },
     "terser-webpack-plugin": {
-      "version": "3.0.3",
-      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.3.tgz",
-      "integrity": "sha512-bZFnotuIKq5Rqzrs+qIwFzGdKdffV9epG5vDSEbYzvKAhPeR5RbbrQysfPgbIIMhNAQtZD2hGwBfSKUXjXZZZw==",
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.0.1.tgz",
+      "integrity": "sha512-eFDtq8qPUEa9hXcUzTwKXTnugIVtlqc1Z/ZVhG8LmRT3lgRY13+pQTnFLY2N7ATB6TKCHuW/IGjoAnZz9wOIqw==",
       "dev": true,
       "requires": {
-        "cacache": "^15.0.4",
+        "cacache": "^15.0.3",
         "find-cache-dir": "^3.3.1",
         "jest-worker": "^26.0.0",
         "p-limit": "^2.3.0",
         "schema-utils": "^2.6.6",
-        "serialize-javascript": "^3.1.0",
+        "serialize-javascript": "^3.0.0",
         "source-map": "^0.6.1",
         "terser": "^4.6.13",
         "webpack-sources": "^1.4.3"
@@ -18979,88 +19497,12 @@
             "uri-js": "^4.2.2"
           }
         },
-        "cacache": {
-          "version": "15.0.4",
-          "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.4.tgz",
-          "integrity": "sha512-YlnKQqTbD/6iyoJvEY3KJftjrdBYroCbxxYXzhOzsFLWlp6KX4BOlEf4mTx0cMUfVaTS3ENL2QtDWeRYoGLkkw==",
-          "dev": true,
-          "requires": {
-            "@npmcli/move-file": "^1.0.1",
-            "chownr": "^2.0.0",
-            "fs-minipass": "^2.0.0",
-            "glob": "^7.1.4",
-            "infer-owner": "^1.0.4",
-            "lru-cache": "^5.1.1",
-            "minipass": "^3.1.1",
-            "minipass-collect": "^1.0.2",
-            "minipass-flush": "^1.0.5",
-            "minipass-pipeline": "^1.2.2",
-            "mkdirp": "^1.0.3",
-            "p-map": "^4.0.0",
-            "promise-inflight": "^1.0.1",
-            "rimraf": "^3.0.2",
-            "ssri": "^8.0.0",
-            "tar": "^6.0.2",
-            "unique-filename": "^1.1.1"
-          }
-        },
-        "chownr": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz",
-          "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
-          "dev": true
-        },
         "fast-deep-equal": {
           "version": "3.1.3",
           "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
           "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
           "dev": true
         },
-        "glob": {
-          "version": "7.1.6",
-          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
-          "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
-          "dev": true,
-          "requires": {
-            "fs.realpath": "^1.0.0",
-            "inflight": "^1.0.4",
-            "inherits": "2",
-            "minimatch": "^3.0.4",
-            "once": "^1.3.0",
-            "path-is-absolute": "^1.0.0"
-          }
-        },
-        "has-flag": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
-          "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
-          "dev": true
-        },
-        "jest-worker": {
-          "version": "26.1.0",
-          "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.1.0.tgz",
-          "integrity": "sha512-Z9P5pZ6UC+kakMbNJn+tA2RdVdNX5WH1x+5UCBZ9MxIK24pjYtFt96fK+UwBTrjLYm232g1xz0L3eTh51OW+yQ==",
-          "dev": true,
-          "requires": {
-            "merge-stream": "^2.0.0",
-            "supports-color": "^7.0.0"
-          }
-        },
-        "lru-cache": {
-          "version": "5.1.1",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
-          "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
-          "dev": true,
-          "requires": {
-            "yallist": "^3.0.2"
-          }
-        },
-        "mkdirp": {
-          "version": "1.0.4",
-          "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-          "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-          "dev": true
-        },
         "p-limit": {
           "version": "2.3.0",
           "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
@@ -19070,24 +19512,6 @@
             "p-try": "^2.0.0"
           }
         },
-        "p-map": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz",
-          "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
-          "dev": true,
-          "requires": {
-            "aggregate-error": "^3.0.0"
-          }
-        },
-        "rimraf": {
-          "version": "3.0.2",
-          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
-          "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-          "dev": true,
-          "requires": {
-            "glob": "^7.1.3"
-          }
-        },
         "schema-utils": {
           "version": "2.7.0",
           "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz",
@@ -19114,15 +19538,6 @@
           "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
           "dev": true
         },
-        "supports-color": {
-          "version": "7.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
-          "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
-          "dev": true,
-          "requires": {
-            "has-flag": "^4.0.0"
-          }
-        },
         "terser": {
           "version": "4.8.0",
           "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz",
@@ -19133,19 +19548,14 @@
             "source-map": "~0.6.1",
             "source-map-support": "~0.5.12"
           }
-        },
-        "yallist": {
-          "version": "3.1.1",
-          "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
-          "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
-          "dev": true
         }
       }
     },
     "through": {
       "version": "2.3.8",
       "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
-      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU="
+      "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
+      "dev": true
     },
     "through2": {
       "version": "2.0.5",
@@ -19301,6 +19711,15 @@
         }
       }
     },
+    "tr46": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.0.2.tgz",
+      "integrity": "sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg==",
+      "dev": true,
+      "requires": {
+        "punycode": "^2.1.1"
+      }
+    },
     "traverse": {
       "version": "0.6.6",
       "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz",
@@ -19363,6 +19782,12 @@
         }
       }
     },
+    "ts-pnp": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz",
+      "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==",
+      "dev": true
+    },
     "ts-simple-ast": {
       "version": "12.4.0",
       "resolved": "https://registry.npmjs.org/ts-simple-ast/-/ts-simple-ast-12.4.0.tgz",
@@ -19589,9 +20014,9 @@
       }
     },
     "typescript": {
-      "version": "3.7.5",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.5.tgz",
-      "integrity": "sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==",
+      "version": "3.9.6",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.6.tgz",
+      "integrity": "sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw==",
       "dev": true
     },
     "ua-parser-js": {
@@ -19630,7 +20055,8 @@
     "underscore": {
       "version": "1.9.1",
       "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.9.1.tgz",
-      "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg=="
+      "integrity": "sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg==",
+      "dev": true
     },
     "unicode-canonical-property-names-ecmascript": {
       "version": "1.0.4",
@@ -19788,7 +20214,8 @@
     "universalify": {
       "version": "0.1.2",
       "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
+      "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+      "dev": true
     },
     "unix-crypt-td-js": {
       "version": "1.1.4",
@@ -20116,12 +20543,20 @@
       "dev": true
     },
     "util": {
-      "version": "0.11.1",
-      "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
-      "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+      "version": "0.10.3",
+      "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
+      "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=",
       "dev": true,
       "requires": {
-        "inherits": "2.0.3"
+        "inherits": "2.0.1"
+      },
+      "dependencies": {
+        "inherits": {
+          "version": "2.0.1",
+          "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
+          "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=",
+          "dev": true
+        }
       }
     },
     "util-deprecate": {
@@ -20380,17 +20815,23 @@
         "selenium-webdriver": "^3.0.1"
       }
     },
+    "webidl-conversions": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+      "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+      "dev": true
+    },
     "webpack": {
-      "version": "4.42.0",
-      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz",
-      "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==",
+      "version": "4.43.0",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz",
+      "integrity": "sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.8.5",
-        "@webassemblyjs/helper-module-context": "1.8.5",
-        "@webassemblyjs/wasm-edit": "1.8.5",
-        "@webassemblyjs/wasm-parser": "1.8.5",
-        "acorn": "^6.2.1",
+        "@webassemblyjs/ast": "1.9.0",
+        "@webassemblyjs/helper-module-context": "1.9.0",
+        "@webassemblyjs/wasm-edit": "1.9.0",
+        "@webassemblyjs/wasm-parser": "1.9.0",
+        "acorn": "^6.4.1",
         "ajv": "^6.10.2",
         "ajv-keywords": "^3.4.1",
         "chrome-trace-event": "^1.0.2",
@@ -20401,13 +20842,13 @@
         "loader-utils": "^1.2.3",
         "memory-fs": "^0.4.1",
         "micromatch": "^3.1.10",
-        "mkdirp": "^0.5.1",
+        "mkdirp": "^0.5.3",
         "neo-async": "^2.6.1",
         "node-libs-browser": "^2.2.1",
         "schema-utils": "^1.0.0",
         "tapable": "^1.1.3",
         "terser-webpack-plugin": "^1.4.3",
-        "watchpack": "^1.6.0",
+        "watchpack": "^1.6.1",
         "webpack-sources": "^1.4.1"
       },
       "dependencies": {
@@ -20446,6 +20887,12 @@
             "y18n": "^4.0.0"
           }
         },
+        "chownr": {
+          "version": "1.1.4",
+          "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz",
+          "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==",
+          "dev": true
+        },
         "fast-deep-equal": {
           "version": "3.1.3",
           "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -20940,9 +21387,9 @@
       }
     },
     "webpack-subresource-integrity": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.0.tgz",
-      "integrity": "sha512-GB1kB/LwAWC3CxwcedGhMkxGpNZxSheCe1q+KJP1bakuieAdX/rGHEcf5zsEzhKXpqsGqokgsDoD9dIkr61VDQ==",
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.1.tgz",
+      "integrity": "sha512-XMLFInbGbB1HV7K4vHWANzc1CN0t/c4bBvnlvGxGwV45yE/S/feAXIm8dJsCkzqWtSKnmaEgTp/meyeThxG4Iw==",
       "dev": true,
       "requires": {
         "webpack-sources": "^1.3.0"
@@ -20965,6 +21412,23 @@
       "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
       "dev": true
     },
+    "whatwg-mimetype": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+      "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+      "dev": true
+    },
+    "whatwg-url": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.1.0.tgz",
+      "integrity": "sha512-vEIkwNi9Hqt4TV9RdnaBPNt+E2Sgmo3gePebCRgZ1R7g6d23+53zCTnuB0amKI4AXq6VM8jj2DUAa0S1vjJxkw==",
+      "dev": true,
+      "requires": {
+        "lodash.sortby": "^4.7.0",
+        "tr46": "^2.0.2",
+        "webidl-conversions": "^5.0.0"
+      }
+    },
     "when": {
       "version": "3.6.4",
       "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz",
@@ -20975,6 +21439,7 @@
       "version": "1.3.1",
       "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
       "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dev": true,
       "requires": {
         "isexe": "^2.0.0"
       }
@@ -21089,7 +21554,6 @@
       "version": "0.1.6",
       "resolved": "https://registry.npmjs.org/with-open-file/-/with-open-file-0.1.6.tgz",
       "integrity": "sha512-SQS05JekbtwQSgCYlBsZn/+m2gpn4zWsqpCYIrCHva0+ojXcnmUEPsBN6Ipoz3vmY/81k5PvYEWSxER2g4BTqA==",
-      "dev": true,
       "requires": {
         "p-finally": "^1.0.0",
         "p-try": "^2.1.0",
@@ -21099,8 +21563,7 @@
         "pify": {
           "version": "4.0.1",
           "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
-          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
-          "dev": true
+          "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g=="
         }
       }
     },
diff --git a/package.json b/package.json
index 3998ce2f1..ba0b23d39 100644
--- a/package.json
+++ b/package.json
@@ -35,23 +35,23 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/animations": "^9.1.11",
-    "@angular/cdk": "^9.2.4",
-    "@angular/common": "^9.1.11",
-    "@angular/compiler": "^9.1.11",
-    "@angular/core": "^9.1.11",
-    "@angular/flex-layout": "^9.0.0-beta.31",
-    "@angular/forms": "^9.1.11",
-    "@angular/material": "^9.2.4",
-    "@angular/platform-browser": "^9.1.11",
-    "@angular/platform-browser-dynamic": "^9.1.11",
-    "@angular/router": "^9.1.11",
+    "@angular/animations": "^10.0.2",
+    "@angular/cdk": "^10.0.1",
+    "@angular/common": "^10.0.2",
+    "@angular/compiler": "^10.0.2",
+    "@angular/core": "^10.0.2",
+    "@angular/flex-layout": "^10.0.0-beta.32",
+    "@angular/forms": "^10.0.2",
+    "@angular/material": "^10.0.1",
+    "@angular/platform-browser": "^10.0.2",
+    "@angular/platform-browser-dynamic": "^10.0.2",
+    "@angular/router": "^10.0.2",
     "@types/pako": "^1.0.1",
     "@types/sprintf-js": "^1.1.2",
     "angular2-chartjs": "^0.5.1",
     "angular2-hotkeys": "^2.2.0",
     "chartjs-plugin-zoom": "^0.7.7",
-    "cordova-android": "^8.1.0",
+    "cordova-android": "^9.0.0",
     "cordova-plugin-advanced-http": "^2.5.1",
     "cordova-plugin-app-version": "^0.1.9",
     "cordova-plugin-badge": "^0.8.8",
@@ -68,7 +68,7 @@
     "mathjax": "^2.7.8",
     "mermaid": "~8.3.1",
     "ngx-konami": "^1.7.1",
-    "ngx-markdown": "^9.1.1",
+    "ngx-markdown": "^10.0.0",
     "ngx-material-file-input": "^2.1.1",
     "ngx-matomo": "^0.1.4",
     "ngx-webstorage-service": "^4.1.0",
@@ -83,16 +83,16 @@
     "zone.js": "^0.10.3"
   },
   "devDependencies": {
-    "@angular-devkit/build-angular": "^0.901.10",
-    "@angular/cli": "^9.1.10",
-    "@angular/compiler-cli": "^9.1.11",
-    "@angular/language-service": "^9.1.11",
+    "@angular-devkit/build-angular": "^0.1000.1",
+    "@angular/cli": "^10.0.1",
+    "@angular/compiler-cli": "^10.0.2",
+    "@angular/language-service": "^10.0.2",
     "@compodoc/compodoc": "^1.1.11",
     "@types/file-saver": "^2.0.1",
     "@types/jasmine": "^3.5.11",
     "@types/jasminewd2": "^2.0.8",
     "@types/node": "^14.0.18",
-    "codelyzer": "^5.2.2",
+    "codelyzer": "^6.0.0",
     "cordova": "^9.0.0",
     "electron": "^9.1.0",
     "electron-builder": "^22.7.0",
@@ -108,7 +108,7 @@
     "protractor": "^7.0.0",
     "ts-node": "^8.10.2",
     "tslint": "^6.1.2",
-    "typescript": "~3.7.5",
+    "typescript": "~3.9.6",
     "webpack-dev-server": "^3.11.0"
   },
   "cordova": {
-- 
GitLab


From a44621b2d33ef9f72a3cd8bf5f3628a593d4251f Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 7 Jul 2020 16:36:23 +0200
Subject: [PATCH 094/117] Update .gitlab-ci configurationuse SSH key from
 GitLab

---
 .gitlab-ci.yml | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 1bd7a5da5..b56dfd5b4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -11,13 +11,20 @@ stages:
 
 variables:
   LC_ALL: C.UTF-8
-  ANDROID_HOME: "/opt/android"
-  ANDROID_SDK_ROOT: "/opt/android"
+  ANDROID_HOME: "/usr/local/android-sdk" # should already be defined in the Docker image
+  ANDROID_SDK_ROOT: "/usr/local/android-sdk" # should already be defined in the Docker image
   DEPLOY_HOST_LOGIN: "nghyd@aubes"
   DEPLOY_URL: "/var/www/html/cassiopee"
   DEPLOY_STABLE_URL: "/var/www/cassiopee-production"
   RELEASES_URL: "$DEPLOY_STABLE_URL/cassiopee-releases"
 
+before_script:
+  # load private key from GitLab CI variable, to deploy on Aubes server
+  - eval $(ssh-agent -s)
+  - ssh-add <(echo "$AUBES_B64_AUTHORIZED_SSH_PRIVATE_KEY" | base64 -d)
+  - mkdir -p ~/.ssh
+  - echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
+
 cache:
   paths:
     - node_modules/
-- 
GitLab


From 28258c715498e73256899cd0af1e0e2acfbc8fa1 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Wed, 8 Jul 2020 14:06:46 +0200
Subject: [PATCH 095/117] Updated protractor.conf

---
 protractor.conf.js | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/protractor.conf.js b/protractor.conf.js
index f27c3aeb4..ad4348487 100644
--- a/protractor.conf.js
+++ b/protractor.conf.js
@@ -57,7 +57,7 @@ exports.config = {
     require('ts-node').register({
       project: 'e2e/tsconfig.e2e.json'
     });
-    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } }));
+    jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: "pretty" } }));
     browser.manage().window().setSize(1600, 1000);
     browser.driver.sendChromiumCommand('Page.setDownloadBehavior', {
       behavior: 'allow',
-- 
GitLab


From 80cc2f39746e2d99d2a79cd95ef1e0fca77c65c4 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 9 Jul 2020 10:34:29 +0200
Subject: [PATCH 096/117] PreBarrage: show results corresponding to selected
 schema item

---
 .../pb-results/pb-results-table.component.ts  | 16 -----
 .../definition/form-parallel-structures.ts    |  6 +-
 .../formulaire/definition/form-pb-cloison.ts  | 64 ++++++++++++++++++-
 .../formulaire/definition/form-prebarrage.ts  | 11 ++--
 4 files changed, 70 insertions(+), 27 deletions(-)

diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts
index b1ab9838b..de2545a6c 100644
--- a/src/app/components/pb-results/pb-results-table.component.ts
+++ b/src/app/components/pb-results/pb-results-table.component.ts
@@ -35,22 +35,6 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
         super();
     }
 
-    /* private getJetTypes(re: Result, vi: number): string {
-        // jet type for each device
-        const devices = re.sourceNub.getChildren();
-        const jetTypes: string[] = devices.map((device) => {
-            const jt = device.result.resultElements[vi].getValue("ENUM_StructureJetType");
-            let jetType = this.intlService.localizeText("INFO_ENUM_STRUCTUREJETTYPE_" + jt);
-            if (devices.length > 1) {
-                // evil HTML injection in table cell (simpler)
-                jetType = this.intlService.localizeText("INFO_LIB_FS_OUVRAGE") + " n°"
-                    + (device.findPositionInParent() + 1) + ": " + jetType;
-            }
-            return jetType;
-        });
-        return `<div class="inner-cell-line">` + jetTypes.join(`, </div><div class="inner-cell-line">`) + `</div>`;
-    } */
-
     public set results(r: PrebarrageResults) {
         this._pbResults = r;
         console.log("Set results dans PBRTC !", r);
diff --git a/src/app/formulaire/definition/form-parallel-structures.ts b/src/app/formulaire/definition/form-parallel-structures.ts
index c985f288b..f304c1c2b 100644
--- a/src/app/formulaire/definition/form-parallel-structures.ts
+++ b/src/app/formulaire/definition/form-parallel-structures.ts
@@ -112,7 +112,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset {
      * @param name nom de la propriété qui vient de changer
      * @param val nouvelle valeur de la propriété
      */
-    private adjustProperties(props: Props, name: string, val: any) {
+    protected adjustProperties(props: Props, name: string, val: any) {
         if (name === "structureType") {
             if (! StructureProperties.isCompatibleValues(
                 val, props.getPropValue("loiDebit"), this.currentNub as ParallelStructure
@@ -138,7 +138,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset {
     /**
      * abonnement en tant qu'observateur des NgParameter des FieldSet contenus dans le FieldsetContainer
      */
-    private subscribeStructureInputFields(fs: FieldSet) {
+    protected subscribeStructureInputFields(fs: FieldSet) {
         for (const n of fs.allFormElements) {
             if (n instanceof NgParameter) {
                 n.addObserver(this);
@@ -148,7 +148,7 @@ export class FormulaireParallelStructure extends FormulaireRepeatableFieldset {
     /**
      * abonnement en tant qu'observateur du SelectField des FieldSet contenus dans le FieldsetContainer
      */
-    private subscribeStructureSelectFields(fs: FieldSet) {
+    protected subscribeStructureSelectFields(fs: FieldSet) {
         for (const n of fs.allFormElements) {
             if (n instanceof SelectField) {
                 n.addObserver(this);
diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts
index db7272f52..d41333580 100644
--- a/src/app/formulaire/definition/form-pb-cloison.ts
+++ b/src/app/formulaire/definition/form-pb-cloison.ts
@@ -1,7 +1,10 @@
 import { FormulaireParallelStructure } from "./form-parallel-structures";
 import { SelectFieldNub } from "../elements/select-field-nub";
 
-import { IObservable, Nub, PbCloison, PbBassin } from "jalhyd";
+import { IObservable, Nub, PbCloison, PbBassin, Structure } from "jalhyd";
+import { FieldSet } from '../elements/fieldset';
+import { FormulaireNode } from '../elements/formulaire-node';
+import { FieldsetContainer } from '../elements/fieldset-container';
 
 export class FormulairePbCloison extends FormulaireParallelStructure {
 
@@ -36,7 +39,31 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
     // interface Observer
 
     public update(sender: IObservable, data: any) {
-        super.update(sender, data);
+        // do NOT call super.update() or "newFieldset" action will reset results
+        if (sender instanceof FieldsetContainer) {
+            switch (data.action) {
+                case "newFieldset":
+                    // this.reset();
+                    console.log("||| reset PAS NON PLUS :) |||");
+                    this.subscribeStructureInputFields(data["fieldset"]);
+                    this.subscribeStructureSelectFields(data["fieldset"]);
+            }
+        } else if (sender instanceof FieldSet && data.action === "propertyChange") {
+            switch (sender.id) {
+                case "fs_ouvrage":
+                    const props = sender.properties;
+                    // ensure loiDebit is set
+                    props.setPropValue("loiDebit", data.value);
+                    this.adjustProperties(props, data["name"], data["value"]);
+                    // replace Structure Nub
+                    const newNub = this.replaceNub((sender.nub as Structure), props);
+                    sender.setNub(newNub);
+                    // treat the fieldset as new to re-subscribe to Nub properties change events
+                    this.afterParseFieldset(sender);
+                    this.reset();
+                    break;
+            }
+        }
 
         if (sender instanceof SelectFieldNub) {
             const nub = this._currentNub as PbCloison;
@@ -72,4 +99,37 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
             }, this);
         }
     }
+
+    // do not reset results after adding fieldset (when switching results view
+    // from one wall to another, the form is rebuilt) @TODO anyway, we should
+    // reset when a fieldset is manually added from "input" (form) view
+    public createFieldset(parent: FormulaireNode, json: {}, data?: {}, nub?: Nub): FieldSet {
+        if (json["calcType"] === "Structure") {
+            // indice après lequel insérer le nouveau FieldSet
+            const after = data["after"];
+
+            const res: FieldSet = new FieldSet(parent);
+            let sn: Nub;
+            if (nub) { // use existing Nub (build interface based on model)
+                sn = nub;
+            } else {
+                sn = this.createChildNub(data["template"]);
+                this.currentNub.addChild(sn, after);
+            }
+            res.setNub(sn, false);
+
+            if (after !== undefined) {
+                parent.kids.splice(after + 1, 0, res);
+            } else {
+                parent.kids.push(res);
+            }
+
+            console.log("\\\ reset PAS ///");
+            // this.resetResults();
+
+            return res;
+        } else {
+            return super.createFieldset(parent, json, data);
+        }
+    }
 }
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index 8cd692893..302788861 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -47,7 +47,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     public get results(): CalculatorResults[] {
         // ensure help links are propagated
         this._pbResults.helpLinks = this.helpLinks;
-        console.log("RENVOI", [ this.fixedResults, this._pbResults ]);
         return [ this.fixedResults, this._pbResults ];
     }
 
@@ -120,7 +119,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     public nodeSelected(node: PbBassin | PbCloison) {
         // store for results formatting
         this._selectedItem = node;
-        this.reaffectResultComponents();
 
         // show only the relevant form
         if (node === undefined) {
@@ -164,6 +162,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             }
             this.showFormElements(wallForm);
         }
+        this.reaffectResultComponents();
     }
 
     /**
@@ -216,6 +215,10 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             this.pbResults.variatedParameters = varParams;
         }
 
+        // cacher les résultats de la cloison
+        this.fixedResults.reset();
+        this.addFixedParameters();
+
         // résultats selon l'objet sélectionné sur le schéma
         if (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison) {
             // cacher les résultats de bassins
@@ -228,10 +231,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
                 this.fixedResults.calculatedParameter = computedParam;
             }
         } else {
-            // cacher les résultats de la cloison
-            this.fixedResults.reset();
-            this.addFixedParameters();
-
             // afficher les résultats des bassins
             this.pbResults.reset();
             // résultat général du Nub (amont, aval, débit)
-- 
GitLab


From e7971aeda4b57183f5aaf74ad77187bb52d59ce7 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 9 Jul 2020 12:28:10 +0200
Subject: [PATCH 097/117] PreBarrage: properly reset results when editing
 different forms

---
 .../fixed-results.component.ts                |  1 -
 .../pb-results/pb-results-table.component.ts  |  1 -
 .../pb-results/pb-results.component.ts        |  1 -
 .../pb-schema/pb-schema.component.scss        |  1 +
 .../pb-schema/pb-schema.component.ts          | 11 ++++
 .../formulaire/definition/form-definition.ts  |  4 +-
 .../formulaire/definition/form-fixedvar.ts    |  5 +-
 .../formulaire/definition/form-pb-cloison.ts  | 50 ++++++++++++++++---
 .../formulaire/definition/form-prebarrage.ts  | 27 ++++++++--
 .../formulaire/elements/fieldset-container.ts | 12 +++--
 .../formulaire/elements/fieldset-template.ts  |  7 ++-
 src/app/formulaire/elements/pb-schema.ts      | 10 ++++
 12 files changed, 105 insertions(+), 25 deletions(-)

diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts
index ef9af04a6..afb476e03 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.ts
+++ b/src/app/components/fixedvar-results/fixed-results.component.ts
@@ -36,7 +36,6 @@ export class FixedResultsComponent extends ResultsComponentDirective {
     }
 
     public set results(r: FixedResults) {
-        console.log("->->->->-> je suis FRC et j'ai reçu des résultats", r === undefined ? "keud" : r.result);
         this._fixedResults = r;
     }
 
diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts
index de2545a6c..1bab32668 100644
--- a/src/app/components/pb-results/pb-results-table.component.ts
+++ b/src/app/components/pb-results/pb-results-table.component.ts
@@ -37,7 +37,6 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
 
     public set results(r: PrebarrageResults) {
         this._pbResults = r;
-        console.log("Set results dans PBRTC !", r);
 
         this._dataSet = [];
         if (
diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts
index 5a031da13..ed974c71b 100644
--- a/src/app/components/pb-results/pb-results.component.ts
+++ b/src/app/components/pb-results/pb-results.component.ts
@@ -281,7 +281,6 @@ export class PbResultsComponent implements DoCheck {
      * @returns true si les résultats ont pu être mis à jour
      */
     private updateResults() {
-        console.log("------------ update results -----------");
         let pabUpdated: boolean;
         let profileChartUpdated: boolean;
         let selectorUpdated: boolean;
diff --git a/src/app/components/pb-schema/pb-schema.component.scss b/src/app/components/pb-schema/pb-schema.component.scss
index c0834e6b7..72baa1edd 100644
--- a/src/app/components/pb-schema/pb-schema.component.scss
+++ b/src/app/components/pb-schema/pb-schema.component.scss
@@ -37,6 +37,7 @@ mat-card-content {
     .related-entity-title {
         vertical-align: middle;
         font-weight: bold;
+        display: none; // @TODO show it in a way that doesn't make the buttons fall on the next line ?
     }
     .hyd-window-btns {
         text-align: right;
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 615af66cd..6d2503d99 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -341,6 +341,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         }
         this.unselect();
         this.refresh();
+        this.clearResults();
     }
 
     public get uitextRemove() {
@@ -367,6 +368,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         this.unselect();
         this.refresh();
         this.selectNodeOnSchema(wallCopy);
+        this.clearResults();
     }
 
     public get uitextCopy() {
@@ -380,6 +382,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         this.unselect();
         this.refresh();
         this.selectNodeOnSchema(newBasin);
+        this.clearResults();
     }
 
     public get uitextAddBasin() {
@@ -413,6 +416,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
                 this.unselect();
                 this.refresh();
                 this.selectNodeOnSchema(wall);
+                this.clearResults();
             }
         });
     }
@@ -437,6 +441,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         this.unselect();
         this.refresh();
         this.selectNodeOnSchema(basin);
+        this.clearResults();
     }
 
     public get uitextMoveBasinUp() {
@@ -459,6 +464,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         this.unselect();
         this.refresh();
         this.selectNodeOnSchema(basin);
+        this.clearResults();
     }
 
     public get uitextMoveBasinDown() {
@@ -507,6 +513,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         this.nodeSelected.emit({}); // nothing selected
     }
 
+    /** clear all PB form results whenever the basins / walls layout is changed */
+    private clearResults() {
+        this.pbSchema.form.reset();
+    }
+
     // interface Observer
 
     public update(sender: IObservable, data: any) {
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index 17f206891..305bc6781 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -57,8 +57,8 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
     /** copy of options.resultsHelp read by FormDefinition.parseOptions() */
     public helpLinks: { [key: string]: string };
 
-    constructor() {
-        super(undefined);
+    constructor(parent?: FormulaireNode) {
+        super(parent);
     }
 
     // surcharge de FormulaireNode::get:uid()
diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts
index 20314b520..6e674d219 100644
--- a/src/app/formulaire/definition/form-fixedvar.ts
+++ b/src/app/formulaire/definition/form-fixedvar.ts
@@ -5,6 +5,7 @@ import { ChartType } from "../../results/chart-type";
 import { CalculatorResults } from "../../results/calculator-results";
 import { ParamRadioConfig, NgParameter } from "../elements/ngparam";
 import { FieldSet } from "../elements/fieldset";
+import { FormulaireNode } from "../elements/formulaire-node";
 
 import { Nub, IObservable } from "jalhyd";
 
@@ -16,8 +17,8 @@ export class FormulaireFixedVar extends FormulaireDefinition {
     /** ids of select fields */
     private _selectIds: string[] = [];
 
-    constructor() {
-        super();
+    constructor(parent?: FormulaireNode) {
+        super(parent);
         this._fixedResults = new FixedResults();
         this._varResults = new VarResults();
     }
diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts
index d41333580..0327b95aa 100644
--- a/src/app/formulaire/definition/form-pb-cloison.ts
+++ b/src/app/formulaire/definition/form-pb-cloison.ts
@@ -2,9 +2,10 @@ import { FormulaireParallelStructure } from "./form-parallel-structures";
 import { SelectFieldNub } from "../elements/select-field-nub";
 
 import { IObservable, Nub, PbCloison, PbBassin, Structure } from "jalhyd";
-import { FieldSet } from '../elements/fieldset';
-import { FormulaireNode } from '../elements/formulaire-node';
-import { FieldsetContainer } from '../elements/fieldset-container';
+import { FieldSet } from "../elements/fieldset";
+import { FormulaireNode } from "../elements/formulaire-node";
+import { FieldsetContainer } from "../elements/fieldset-container";
+import { FormulairePrebarrage } from "./form-prebarrage";
 
 export class FormulairePbCloison extends FormulaireParallelStructure {
 
@@ -43,8 +44,10 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
         if (sender instanceof FieldsetContainer) {
             switch (data.action) {
                 case "newFieldset":
-                    // this.reset();
-                    console.log("||| reset PAS NON PLUS :) |||");
+                    // still reset all results when a fieldset if manually added
+                    if (data.resetResults !== false) {
+                        this.reset();
+                    }
                     this.subscribeStructureInputFields(data["fieldset"]);
                     this.subscribeStructureSelectFields(data["fieldset"]);
             }
@@ -124,12 +127,45 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
                 parent.kids.push(res);
             }
 
-            console.log("\\\ reset PAS ///");
-            // this.resetResults();
+            // still reset all results when a fieldset if manually added
+            if (data["resetResults"] !== false) {
+                this.reset();
+                (this.parent as FormulairePrebarrage).reset();
+            }
 
             return res;
         } else {
             return super.createFieldset(parent, json, data);
         }
     }
+
+    /**
+     * réinitialisation du formulaire suite à un changement d'une valeur, d'une option, ... :
+     * effacement des résultats, application des dépendances, ...
+     */
+    public reset() {
+        // also reset parent results (that will reset all its children results)
+        (this.parent as FormulairePrebarrage).reset();
+        // prévenir les composants qu'il faut détecter les changements
+        this.notifyReset();
+    }
+
+    // ensure all PBresults are reset
+    public moveFieldsetUp(fs: FieldSet) {
+        super.moveFieldsetUp(fs);
+        this.reset();
+    }
+
+    // ensure all PBresults are reset
+    public moveFieldsetDown(fs: FieldSet) {
+        super.moveFieldsetDown(fs);
+        this.reset();
+    }
+
+    // ensure all PBresults are reset
+    public removeFieldset(fs: FieldSet) {
+        super.removeFieldset(fs);
+        this.reset();
+    }
+
 }
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index 302788861..117612ef1 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -125,7 +125,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             this.showFormElements(this.riverForm);
 
         } else if (node instanceof PbBassin) {
-            this.basinForm = new FormulaireFixedVar();
+            this.basinForm = new FormulaireFixedVar(this);
             this.basinForm.defaultProperties["calcType"] = CalculatorType.PbBassin;
             this.basinForm.currentNub = node;
             this.basinForm.preparseConfig(this.basinFormConfig);
@@ -134,7 +134,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             this.showFormElements(this.basinForm);
 
         } else if (node instanceof PbCloison) {
-            const wallForm = new FormulairePbCloison();
+            const wallForm = new FormulairePbCloison(this);
             wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison;
             wallForm.currentNub = node;
             wallForm.preparseConfig(this.wallFormConfig);
@@ -147,7 +147,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
                 for (const struct of node.structures) {
                     for (const e of wallForm.allFormElements) {
                         if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ?
-                            e.addFromTemplate(0, undefined, struct);
+                            e.addFromTemplate(0, undefined, struct, { resetResults: false });
                         }
                     }
                 }
@@ -155,7 +155,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
                 // if there was no existing structure, add a default one
                 for (const e of wallForm.allFormElements) {
                     if (e instanceof FieldsetContainer) {
-                        e.addFromTemplate(0);
+                        e.addFromTemplate(0, undefined, undefined, { resetResults: false });
                         break;
                     }
                 }
@@ -225,7 +225,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             this.pbResults.reset();
 
             // afficher les résultats de cloison
-            console.log("RRC => cloison !", this._selectedItem.uid, this._selectedItem.result);
             this.fixedResults.result = this._selectedItem.result;
             if (computedParam !== undefined) {
                 this.fixedResults.calculatedParameter = computedParam;
@@ -243,9 +242,27 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
         }
     }
 
+    /**
+     * réinitialisation du formulaire suite à un changement d'une valeur, d'une option, ... :
+     * effacement des résultats, application des dépendances, ...
+     */
+    public reset() {
+        this.resetResults();
+    }
+
     public resetResults() {
         super.resetResults();
         this._fixedResults.reset();
         this._pbResults.reset();
+        // reset all children nubs
+        for (const c of this.currentNub.getChildren()) {
+            c.resetResult();
+        }
+        // reset all wall forms
+        for (const k of this.kids) {
+            if (k instanceof FormulaireDefinition) {
+                k.reset();
+            }
+        }
     }
 }
diff --git a/src/app/formulaire/elements/fieldset-container.ts b/src/app/formulaire/elements/fieldset-container.ts
index 1c31212da..960579e9e 100644
--- a/src/app/formulaire/elements/fieldset-container.ts
+++ b/src/app/formulaire/elements/fieldset-container.ts
@@ -74,19 +74,23 @@ export class FieldsetContainer extends FormulaireElement {
      * crée un FieldSet à partir d'un template
      * @param templateIndex indice du template dans la liste
      * @param after insère le nouveau FieldSet après cette position, à la fin sinon
+     * @param nub attaches the given Nub to the new FieldSet
+     * @param extra extra key-value pairs to add to the "newFieldset" event
      */
-    public addFromTemplate(templateIndex: number, after?: number, nub?: Nub): FieldSet {
+    public addFromTemplate(templateIndex: number, after?: number, nub?: Nub, extra?: any): FieldSet {
         const templ: FieldsetTemplate = this._templates[templateIndex];
 
-        const inst: FieldSet = templ.instantiateTemplate(this, after, nub);
+        const inst: FieldSet = templ.instantiateTemplate(this, after, nub, extra);
 
         this.updateLocalisation();
 
         // notification de création d'un FieldSet
-        this.notifyObservers({
+        let info = {
             "action": "newFieldset",
             "fieldset": inst
-        }, this);
+        };
+        info = { ...info, ...extra };
+        this.notifyObservers(info, this);
 
         return inst;
     }
diff --git a/src/app/formulaire/elements/fieldset-template.ts b/src/app/formulaire/elements/fieldset-template.ts
index 3c9071131..b65b48874 100644
--- a/src/app/formulaire/elements/fieldset-template.ts
+++ b/src/app/formulaire/elements/fieldset-template.ts
@@ -42,10 +42,13 @@ export class FieldsetTemplate {
      * @param cont conteneur
      * @param after position à laquelle on ajoute le nouveau FieldSet
      * @param nub Nub existant à injecter dans le Fieldset
+     * @param extra extra key-value pairs to add to the "newFieldset" event
      */
-    public instantiateTemplate(cont: FieldsetContainer, after: number, nub?: Nub): FieldSet {
+    public instantiateTemplate(cont: FieldsetContainer, after: number, nub?: Nub, extra?: any): FieldSet {
         const parentForm = cont.parent as FormulaireDefinition;
-        const res = parentForm.createFieldset(cont, this._jsonConfig, { "template": this, "after": after }, nub);
+        let info = { "template": this, "after": after };
+        info = { ...info, ... extra };
+        const res = parentForm.createFieldset(cont, this._jsonConfig, info, nub);
         res.parseConfig(this._jsonConfig);
         parentForm.afterParseFieldset(res);
         return res;
diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts
index 07e108890..7ec01a39c 100644
--- a/src/app/formulaire/elements/pb-schema.ts
+++ b/src/app/formulaire/elements/pb-schema.ts
@@ -1,6 +1,7 @@
 import { PreBarrage } from "jalhyd";
 
 import { FormulaireElement } from "./formulaire-element";
+import { FormulairePrebarrage } from "../definition/form-prebarrage";
 
 /**
  * The interactive schema for calculator type "PreBarrage" (form element).
@@ -14,6 +15,15 @@ export class PbSchema extends FormulaireElement {
         this._confId = json["id"];
     }
 
+    /**
+     * Returns the Prebarrage model associated to the parent form
+     */
+    public get form(): FormulairePrebarrage {
+        if (this.parentForm) {
+            return this.parentForm as FormulairePrebarrage;
+        }
+    }
+
     /**
      * Returns the Prebarrage model associated to the parent form
      */
-- 
GitLab


From a45097202a0a5fbda2dffde47a78f50900eca214 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 9 Jul 2020 14:05:08 +0200
Subject: [PATCH 098/117] FormPrebarrage: simplify results reset

---
 src/app/formulaire/definition/form-prebarrage.ts | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index 117612ef1..999a4ed57 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -246,14 +246,17 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
      * réinitialisation du formulaire suite à un changement d'une valeur, d'une option, ... :
      * effacement des résultats, application des dépendances, ...
      */
-    public reset() {
+    /* public reset() {
         this.resetResults();
+    } */
+
+    public resetFormResults() {
+        this._fixedResults.reset();
+        this._pbResults.reset();
     }
 
     public resetResults() {
         super.resetResults();
-        this._fixedResults.reset();
-        this._pbResults.reset();
         // reset all children nubs
         for (const c of this.currentNub.getChildren()) {
             c.resetResult();
-- 
GitLab


From 61d1658efdf2c5c2097ee65035d5946b56a13300 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 9 Jul 2020 15:09:48 +0200
Subject: [PATCH 099/117] Upate PreBarrage example

---
 src/app/examples/prebarrage.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/app/examples/prebarrage.json b/src/app/examples/prebarrage.json
index 339101438..c97e06ca0 100644
--- a/src/app/examples/prebarrage.json
+++ b/src/app/examples/prebarrage.json
@@ -791,7 +791,7 @@
                 {
                     "symbol": "Q",
                     "mode": "SINGLE",
-                    "value": 1
+                    "value": 0.844
                 },
                 {
                     "symbol": "Z1",
@@ -800,7 +800,7 @@
                 {
                     "symbol": "Z2",
                     "mode": "SINGLE",
-                    "value": 100
+                    "value": 94.45
                 }
             ]
         }
-- 
GitLab


From 0e9d1b6dc64a66c04062773f6da623a5bedc1b3a Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 9 Jul 2020 16:38:59 +0200
Subject: [PATCH 100/117] PreBarrage: remember selected schema node and
 displayed panel (input or results)

---
 .../calculator.component.ts                   | 18 +++++++++--
 .../pb-results/pb-results-table.component.ts  | 32 ++++++++++++++++---
 .../pb-schema/pb-schema.component.ts          | 15 +++++----
 .../formulaire/definition/form-prebarrage.ts  |  9 ++++--
 4 files changed, 57 insertions(+), 17 deletions(-)

diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 2378518f5..fe1817a62 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -122,9 +122,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
     /** Allows trigerring afterFirstViewChecked() just after calculator is loaded */
     private firstViewChecked = false;
 
-    /** For PreBarrage only: if true, show input data in the right panel, else show results */
-    public showPBInputData = true;
-
     public get ID() {
         if (this._formulaire) {
             return this._formulaire.uid;
@@ -133,6 +130,21 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         }
     }
 
+    /** For PreBarrage only: if true, show input data in the right panel, else show results */
+    public get showPBInputData(): boolean {
+        if (this.isPB) {
+            return (this._formulaire as FormulairePrebarrage).showInputData;
+        } else {
+            return false; // whatever, should never happen
+        }
+    }
+
+    public set showPBInputData(v: boolean) {
+        if (this.isPB) {
+            (this._formulaire as FormulairePrebarrage).showInputData = v;
+        } // else do nothing, should never happen
+    }
+
     constructor(
         @Inject(forwardRef(() => AppComponent)) private appComponent: AppComponent,
         private route: ActivatedRoute,
diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts
index 1bab32668..792286c8e 100644
--- a/src/app/components/pb-results/pb-results-table.component.ts
+++ b/src/app/components/pb-results/pb-results-table.component.ts
@@ -1,6 +1,6 @@
 import { Component, ViewChild, ElementRef } from "@angular/core";
 
-import { PreBarrage, PbBassin } from "jalhyd";
+import { PreBarrage, PbBassin, ParamDefinition, ParamValueMode } from "jalhyd";
 
 import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
@@ -35,6 +35,26 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
         super();
     }
 
+    /**
+     * Returns value at index i for parameter p, whether it is variating
+     * or not, calculated or not
+     * @param p parameter
+     * @param i index
+     */
+    protected getIthValue(p: ParamDefinition, i: number): string {
+        let value: number;
+        if (p.hasMultipleValues) {
+            if (p.valueMode === ParamValueMode.CALCUL) {
+                value = p.parentNub.result.resultElements[i].vCalc;
+            } else {
+                value = p.getInferredValuesList()[i];
+            }
+        } else {
+            value = p.V;
+        }
+        return fv(value);
+    }
+
     public set results(r: PrebarrageResults) {
         this._pbResults = r;
 
@@ -51,6 +71,8 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
             // values to build the data from
             const vi = pr.variableIndex;
 
+            // @TODO results.size ? To extend values lists…
+
             // refresh headers here if language changed
             this._headers = pr.headers;
 
@@ -59,9 +81,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
                 this._dataSet.push([
                     this.intlService.localizeText("INFO_LIB_AMONT"),
                     "", "",
-                    fv(pb.prms.Z1.V),
+                    this.getIthValue(pb.prms.Z1, vi),
                     "", "",
-                    fv(pb.prms.Q.V)
+                    this.getIthValue(pb.prms.Q, vi),
                 ]);
             }
 
@@ -89,9 +111,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
                 this._dataSet.push([
                     this.intlService.localizeText("INFO_LIB_AVAL"),
                     "", "",
-                    fv(pb.prms.Z2.V),
+                    this.getIthValue(pb.prms.Z2, vi),
                     "", "",
-                    fv(pb.prms.Q.V)
+                    this.getIthValue(pb.prms.Q, vi),
                 ]);
             }
         }
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 6d2503d99..63e6d00f4 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -84,11 +84,15 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         });
         this.nativeElement = this.schema.nativeElement;
         this.render();
-        // reset form to river properties (clodo timeout to prevent ExpressionChangedAfterItHasBeenCheckedError)
-        setTimeout(() => {
-            this.unselect();
-        }, 10);
-        // @TODO find a way to remember last selected item ? Through a service ?
+        // restore previously selected item
+        this._selectedItem = this.pbSchema.form.selectedItem;
+        if (this._selectedItem !== undefined) {
+            // @WARNING clodo timeout to prevent ExpressionChangedAfterItHasBeenCheckedError
+            // and select schema node after schema is refreshed by ngAfterViewInit()
+            setTimeout(() => {
+                this.selectNodeOnSchema(this._selectedItem);
+            }, 20); // timeout has to be greater than the 10ms of ngAfterViewInit()
+        }
     }
 
     private render() {
@@ -497,7 +501,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
             this.model.hasUpDownConnection()
             && ! this.model.hasBasinNotConnected()
         );
-        console.log("schéma valide", this._isValid);
         this.validChange.emit();
     }
 
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index 999a4ed57..a3dcb71e8 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -31,14 +31,17 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
 
     protected _pbResults: PrebarrageResults;
 
+    /** if true, show input data in the right panel, else show results */
+    public showInputData = true;
+
     constructor() {
         super();
         this._pbResults = new PrebarrageResults();
     }
 
-    /* public get pbNub(): PreBarrage {
-        return this.currentNub as PreBarrage;
-    } */
+    public get selectedItem(): PbBassin | PbCloison {
+        return this._selectedItem;
+    }
 
     public get pbResults(): PrebarrageResults {
         return this._pbResults;
-- 
GitLab


From 4dc476525f12ae2b4ba1b02490c2109ef862f362 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Fri, 10 Jul 2020 14:38:25 +0200
Subject: [PATCH 101/117] Prebarrage: reorganize results component

---
 angular.json                                  |  1 +
 ...ialog-generate-par-simulation.component.ts | 15 ++--
 .../fixed-results.component.html              |  1 -
 .../fixed-results.component.ts                |  8 +-
 .../fixedvar-results.component.ts             |  4 -
 .../fixedvar-results/results.component.ts     |  6 ++
 .../fixedvar-results/var-results.component.ts |  6 +-
 .../calculator.component.ts                   |  5 +-
 .../macrorugo-compound-results.component.ts   |  8 +-
 .../pab-profile-chart.component.ts            |  8 +-
 .../pab-results/pab-results.component.ts      |  9 +--
 .../pb-results/pb-results-table.component.ts  | 12 +--
 .../pb-results/pb-results.component.html      |  6 +-
 .../pb-results/pb-results.component.ts        | 73 ++++++++++++------
 .../pb-schema/pb-schema.component.ts          | 37 ++++-----
 .../variable-results-selector.component.ts    | 38 ++++++++--
 .../definition/form-courbe-remous.ts          |  2 +-
 .../formulaire/definition/form-definition.ts  | 18 ++---
 .../formulaire/definition/form-fixedvar.ts    |  6 +-
 .../definition/form-macrorugo-compound.ts     |  4 +-
 src/app/formulaire/definition/form-pab.ts     |  8 +-
 .../formulaire/definition/form-prebarrage.ts  | 76 +++++++++++++------
 .../definition/form-section-parametree.ts     |  6 +-
 src/app/formulaire/elements/ngparam.ts        |  4 -
 src/app/formulaire/elements/pb-schema.ts      |  3 +
 src/app/results/multidimension-results.ts     |  5 +-
 src/app/results/plottable-data.ts             |  4 +-
 .../plottable-macrorugo-compound-results.ts   |  6 +-
 src/app/results/plottable-pab-results.ts      |  6 +-
 src/app/results/prebarrage-results.ts         | 31 ++++++--
 src/app/results/remous-results.ts             | 12 ++-
 src/app/results/var-results.ts                | 60 ++++++++-------
 src/app/services/formulaire.service.ts        |  4 +-
 .../services/internationalisation.service.ts  | 12 ++-
 src/app/util.ts                               | 21 -----
 src/locale/messages.en.json                   |  8 +-
 src/locale/messages.fr.json                   |  8 +-
 37 files changed, 309 insertions(+), 232 deletions(-)

diff --git a/angular.json b/angular.json
index eab58ab6f..1710de21f 100644
--- a/angular.json
+++ b/angular.json
@@ -54,6 +54,7 @@
             "showCircularDependencies": false,
             "allowedCommonJsDependencies": [
               "chartjs-plugin-zoom",
+              "angular2-chartjs/dist/chart.component",
               "angular2-chartjs/dist/chart.module",
               "angular2-hotkeys.js",
               "base-64",
diff --git a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts
index dcb956902..e7fcdeff8 100644
--- a/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts
+++ b/src/app/components/dialog-generate-par-simulation/dialog-generate-par-simulation.component.ts
@@ -3,8 +3,7 @@ import { Inject, Component } from "@angular/core";
 
 import { I18nService } from "../../services/internationalisation.service";
 import { MultiDimensionResults } from "../../results/multidimension-results";
-
-import { fv, longestVarNgParam } from "../../util";
+import { longestVarParam, fv } from "../../util";
 
 @Component({
     selector: "dialog-generate-par-simulation",
@@ -36,12 +35,12 @@ export class DialogGeneratePARSimulationComponent {
           // pre-extract variable parameters values
           this.varValues = [];
           // find longest list
-          const lvp = longestVarNgParam(this._results.variatedParameters);
+          const lvp = longestVarParam(this._results.variatedParameters);
           this.size = lvp.size;
           // get extended values lists for each variable parameter
           for (const v of this._results.variatedParameters) {
               const vv = [];
-              const iter = v.getExtendedValuesIterator(this.size);
+              const iter = v.param.getExtendedValuesIterator(this.size);
               while (iter.hasNext) {
                   const nv = iter.next();
                   vv.push(fv(nv.value));
@@ -88,13 +87,13 @@ export class DialogGeneratePARSimulationComponent {
       for (let i = 0; i < this.varValues.length; i++) {
           const vv = this.varValues[i];
           const vp = this._results.variatedParameters[i];
-          let symbol = vp.symbol;
+          let symbol = vp.param.symbol;
           // is vp a parameter of a child Nub ?
           if (
-              vp.paramDefinition.parentNub
-              && vp.paramDefinition.parentNub !== vp.paramDefinition.originNub
+              vp.param.parentNub
+              && vp.param.parentNub !== vp.param.originNub
           ) {
-              const pos = vp.paramDefinition.parentNub.findPositionInParent() + 1;
+              const pos = vp.param.parentNub.findPositionInParent() + 1;
               symbol = this.intlService.localizeText("INFO_LIB_RADIER_N_COURT") + pos + "_" + symbol;
           }
           kv.push(`${symbol} = ${vv[index]}`);
diff --git a/src/app/components/fixedvar-results/fixed-results.component.html b/src/app/components/fixedvar-results/fixed-results.component.html
index 46791f57e..8971e115c 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.html
+++ b/src/app/components/fixedvar-results/fixed-results.component.html
@@ -1,5 +1,4 @@
 <div class="fixed-results-container" *ngIf="hasFixedParameters">
-
     <div class="fixed-results-buttons">
         <button mat-icon-button (click)="exportAsSpreadsheet()" [title]="uitextExportAsSpreadsheet">
             <mat-icon color="primary">file_download</mat-icon>
diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts
index afb476e03..a29b9dbdf 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.ts
+++ b/src/app/components/fixedvar-results/fixed-results.component.ts
@@ -63,10 +63,6 @@ export class FixedResultsComponent extends ResultsComponentDirective {
         return this._fixedResults && this._fixedResults.fixedParameters.length > 0;
     }
 
-    public formattedLabel(p: NgParameter): string {
-        return CalculatorResults.paramLabel(p, false);
-    }
-
     /**
      * Returns a set of parameters and results for mat-table
      */
@@ -134,7 +130,7 @@ export class FixedResultsComponent extends ResultsComponentDirective {
                         if (sn.parent) {
                             ct = sn.parent.calcType;
                         }
-                        let unit;
+                        let unit: string;
                         // is k the calculated parameter ? If so, extract its unit
                         try {
                             const p = res.sourceNub.getParameter(k);
@@ -226,7 +222,7 @@ export class FixedResultsComponent extends ResultsComponentDirective {
                 if (sn.parent) {
                     ct = sn.parent.calcType;
                 }
-                let unit;
+                let unit: string;
                 // is k the calculated parameter ? If so, extract its unit
                 try {
                     const p = res.sourceNub.getParameter(k);
diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.ts b/src/app/components/fixedvar-results/fixedvar-results.component.ts
index 84d2cda25..eb491d2d9 100644
--- a/src/app/components/fixedvar-results/fixedvar-results.component.ts
+++ b/src/app/components/fixedvar-results/fixedvar-results.component.ts
@@ -187,10 +187,6 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen
         return this._fixedResults;
     }
 
-    public formattedLabel(p: NgParameter): string {
-        return CalculatorResults.paramLabel(p, false);
-    }
-
     public get varResults() {
         return this._varResults;
     }
diff --git a/src/app/components/fixedvar-results/results.component.ts b/src/app/components/fixedvar-results/results.component.ts
index ab70880f0..aa3ce1e25 100644
--- a/src/app/components/fixedvar-results/results.component.ts
+++ b/src/app/components/fixedvar-results/results.component.ts
@@ -4,6 +4,8 @@ import { Screenfull } from "screenfull"; // @see https://github.com/sindresorhus
 import { NgParameter } from "../../formulaire/elements/ngparam";
 import { ServiceFactory } from "../../services/service-factory";
 import { fv } from "../../util";
+import { CalculatorResults } from "../../results/calculator-results";
+
 import { Directive } from "@angular/core";
 
 /**
@@ -84,6 +86,10 @@ export class ResultsComponentDirective {
         ];
     }
 
+    public formattedLabel(p: NgParameter): string {
+        return CalculatorResults.paramLabel(p, false);
+    }
+
     /**
      * Formats (rounds) the given number (or the value of the given parameter) with the
      * number of decimals specified in app preferences; if given number is too low and
diff --git a/src/app/components/fixedvar-results/var-results.component.ts b/src/app/components/fixedvar-results/var-results.component.ts
index b5a66d774..d1ba56c32 100644
--- a/src/app/components/fixedvar-results/var-results.component.ts
+++ b/src/app/components/fixedvar-results/var-results.component.ts
@@ -8,7 +8,7 @@ import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "./results.component";
 import { DialogLogEntriesDetailsComponent } from "../dialog-log-entries-details/dialog-log-entries-details.component";
 import { AppComponent } from "../../app.component";
-import { longestVarNgParam } from "../../../app/util";
+import { longestVarParam } from "../../../app/util";
 
 @Component({
     selector: "var-results",
@@ -68,12 +68,12 @@ export class VarResultsComponent extends ResultsComponentDirective {
             // C. pre-extract variable parameters values
             const varValues = [];
             // find longest list
-            const lvp = longestVarNgParam(this._varResults.variatedParameters);
+            const lvp = longestVarParam(this._varResults.variatedParameters);
             this.size = lvp.size;
             // get extended values lists for each variable parameter
             for (const v of this._varResults.variatedParameters) {
                 const vv = [];
-                const iter = v.getExtendedValuesIterator(this.size);
+                const iter = v.param.getExtendedValuesIterator(this.size);
                 while (iter.hasNext) {
                     const nv = iter.next();
                     vv.push(this.formattedValue(nv.value));
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index fe1817a62..a25f258fe 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -18,7 +18,8 @@ import {
     RegimeUniforme,
     Par,
     ParSimulationParams,
-    ParSimulation
+    ParSimulation,
+    VariatedDetails
 } from "jalhyd";
 
 import { generateValuesCombination } from "../../util";
@@ -922,7 +923,7 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         const pcal = parCalage.prms;
         let pres: { [key: string]: number } = parCalage.result.values;
 
-        const varParams: NgParameter[] = this._formulaire.getVariatedParameters();
+        const varParams: VariatedDetails[] = this._formulaire.getVariatedParameters();
         if (varParams.length > 0) {
             // open popup to choose combination of varying parameters
             const mdParResults = new MultiDimensionResults();
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
index e15ade96c..d2d932838 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
@@ -15,6 +15,7 @@ import { VariableResultsSelectorComponent } from "../variable-results-selector/v
 import { MacrorugoCompoundResultsTableComponent } from "./macrorugo-compound-results-table.component";
 import { MacrorugoCompoundResults } from "../../results/macrorugo-compound-results";
 import { PlottableMacrorugoCompoundResults } from "../../results/plottable-macrorugo-compound-results";
+import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 
 @Component({
     selector: "macrorugo-compound-results",
@@ -23,7 +24,7 @@ import { PlottableMacrorugoCompoundResults } from "../../results/plottable-macro
         "./macrorugo-compound-results.component.scss"
     ]
 })
-export class MacrorugoCompoundResultsComponent implements DoCheck {
+export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective implements DoCheck {
 
     /** résultats non mis en forme */
     private _mrcResults: MacrorugoCompoundResults;
@@ -53,6 +54,7 @@ export class MacrorugoCompoundResultsComponent implements DoCheck {
         private appSetupService: ApplicationSetupService,
         private i18nService: I18nService,
     ) {
+        super();
         this._plottableResults = new PlottableMacrorugoCompoundResults();
     }
 
@@ -280,10 +282,6 @@ export class MacrorugoCompoundResultsComponent implements DoCheck {
         return this._mrcResults;
     }
 
-    public formattedLabel(p: NgParameter): string {
-        return CalculatorResults.paramLabel(p, false);
-    }
-
     public formattedValue(p: NgParameter): string {
         const nDigits = this.appSetupService.displayPrecision;
         return p.getValue().toFixed(nDigits);
diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
index 4b47585b7..ce34f4dae 100644
--- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
+++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
@@ -6,7 +6,7 @@ import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { PabResults } from "../../results/pab-results";
 import { IYSeries } from "../../results/y-series";
-import { fv, longestVarNgParam } from "../../util";
+import { fv, longestVarParam } from "../../util";
 import { AppComponent } from "../../app.component";
 
 import { CloisonAval, Cloisons, LoiDebit } from "jalhyd";
@@ -132,12 +132,12 @@ export class PabProfileChartComponent extends ResultsComponentDirective {
         if (this._results) {
             this.varValues = [];
             // find longest list
-            const lvp = longestVarNgParam(this._results.variatedParameters);
+            const lvp = longestVarParam(this._results.variatedParameters);
             this.size = lvp.size;
             // get extended values lists for each variable parameter
             for (const v of this._results.variatedParameters) {
                 const vv = [];
-                const iter = v.getExtendedValuesIterator(this.size);
+                const iter = v.param.getExtendedValuesIterator(this.size);
                 while (iter.hasNext) {
                     const nv = iter.next();
                     vv.push(fv(nv.value));
@@ -458,7 +458,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective {
             i++;
             let value = "0";
             value = vv[n];
-            return `${vp.symbol} = ${value}`;
+            return `${vp.param.symbol} = ${value}`;
         }).join(", ");
     }
 }
diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts
index fe282c196..26d0784e6 100644
--- a/src/app/components/pab-results/pab-results.component.ts
+++ b/src/app/components/pab-results/pab-results.component.ts
@@ -4,7 +4,6 @@ import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd";
 
 import { LogComponent } from "../../components/log/log.component";
 import { CalculatorResults } from "../../results/calculator-results";
-import { NgParameter } from "../../formulaire/elements/ngparam";
 import { PabResultsTableComponent } from "./pab-results-table.component";
 import { PabResults } from "../../results/pab-results";
 import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component";
@@ -13,6 +12,7 @@ import { PlottablePabResults } from "../../results/plottable-pab-results";
 import { ResultsChartComponent } from "../results-chart/results-chart.component";
 import { I18nService } from "../../services/internationalisation.service";
 import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart.component";
+import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 
 @Component({
     selector: "pab-results",
@@ -21,7 +21,7 @@ import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart
         "./pab-results.component.scss"
     ]
 })
-export class PabResultsComponent implements DoCheck {
+export class PabResultsComponent extends ResultsComponentDirective implements DoCheck {
 
     /** résultats non mis en forme */
     private _pabResults: PabResults;
@@ -53,6 +53,7 @@ export class PabResultsComponent implements DoCheck {
     constructor(
         private i18nService: I18nService,
     ) {
+        super();
         this._plottableResults = new PlottablePabResults();
     }
 
@@ -316,10 +317,6 @@ export class PabResultsComponent implements DoCheck {
         return this._pabResults;
     }
 
-    public formattedLabel(p: NgParameter): string {
-        return CalculatorResults.paramLabel(p, false);
-    }
-
     public get hasResults(): boolean {
         return this._pabResults && this._pabResults.hasResults;
     }
diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts
index 792286c8e..c064fabb9 100644
--- a/src/app/components/pb-results/pb-results-table.component.ts
+++ b/src/app/components/pb-results/pb-results-table.component.ts
@@ -41,13 +41,13 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
      * @param p parameter
      * @param i index
      */
-    protected getIthValue(p: ParamDefinition, i: number): string {
+    protected getIthValue(p: ParamDefinition, i: number, extendTo: number): string {
         let value: number;
         if (p.hasMultipleValues) {
             if (p.valueMode === ParamValueMode.CALCUL) {
                 value = p.parentNub.result.resultElements[i].vCalc;
             } else {
-                value = p.getInferredValuesList()[i];
+                value = p.getInferredValuesList(extendTo)[i];
             }
         } else {
             value = p.V;
@@ -81,9 +81,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
                 this._dataSet.push([
                     this.intlService.localizeText("INFO_LIB_AMONT"),
                     "", "",
-                    this.getIthValue(pb.prms.Z1, vi),
+                    this.getIthValue(pb.prms.Z1, vi, this._pbResults.size),
                     "", "",
-                    this.getIthValue(pb.prms.Q, vi),
+                    this.getIthValue(pb.prms.Q, vi, this._pbResults.size),
                 ]);
             }
 
@@ -111,9 +111,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
                 this._dataSet.push([
                     this.intlService.localizeText("INFO_LIB_AVAL"),
                     "", "",
-                    this.getIthValue(pb.prms.Z2, vi),
+                    this.getIthValue(pb.prms.Z2, vi, this._pbResults.size),
                     "", "",
-                    this.getIthValue(pb.prms.Q, vi),
+                    this.getIthValue(pb.prms.Q, vi, this._pbResults.size),
                 ]);
             }
         }
diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html
index db8aa6d91..a4a603342 100644
--- a/src/app/components/pb-results/pb-results.component.html
+++ b/src/app/components/pb-results/pb-results.component.html
@@ -1,5 +1,4 @@
 <div class="container">
-
     <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log>
 
     <variable-results-selector [results]="pbResults" (indexChange)="variableIndexChanged()">
@@ -8,7 +7,10 @@
     <log #iterationLog></log>
 
     <!-- tableau de résultats des bassins -->
-    <pb-results-table *ngIf="showBasinsResults" [results]="pbResults"></pb-results-table>
+    <pb-results-table *ngIf="hasBasinResults" [results]="pbResults"></pb-results-table>
+
+    <!-- table des résultats fixés -->
+    <fixed-results *ngIf="hasWallResults" [results]="pbResults.cloisonResults"></fixed-results>
 
     <!-- <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]"
         [currentItem]="'charts'" [align]="'left'"></quicknav> -->
diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts
index ed974c71b..6623a32ac 100644
--- a/src/app/components/pb-results/pb-results.component.ts
+++ b/src/app/components/pb-results/pb-results.component.ts
@@ -1,16 +1,16 @@
 import { Component, ViewChild, DoCheck } from "@angular/core";
 
-import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd";
-
 import { LogComponent } from "../log/log.component";
 import { CalculatorResults } from "../../results/calculator-results";
 import { PbResultsTableComponent } from "./pb-results-table.component";
 import { PrebarrageResults } from "../../results/prebarrage-results";
 import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component";
 import { I18nService } from "../../services/internationalisation.service";
-import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart.component";
+import { FixedResultsComponent } from "../fixedvar-results/fixed-results.component";
 import { FixedResults } from "../../results/fixed-results";
 
+import { Result } from "jalhyd";
+
 @Component({
     selector: "pb-results",
     templateUrl: "./pb-results.component.html",
@@ -32,6 +32,9 @@ export class PbResultsComponent implements DoCheck {
     @ViewChild(VariableResultsSelectorComponent)
     private variableResultsSelectorComponent: VariableResultsSelectorComponent;
 
+    @ViewChild(FixedResultsComponent)
+    private fixedResultsComponent: FixedResultsComponent;
+
     @ViewChild("generalLog")
     private generalLogComponent: LogComponent;
 
@@ -59,23 +62,19 @@ export class PbResultsComponent implements DoCheck {
         return this._pbResults;
     }
 
+    // true if any result is present
     public get hasResults(): boolean {
         return this._pbResults && this._pbResults.hasResults;
     }
 
-    public get showBasinsResults(): boolean {
-        let ret = this._pbResults && this._pbResults.hasResults;
-        if (
-            this._pbResults
-            && this._pbResults.variatedParameters
-            && this._pbResults.variatedParameters.length > 0
-        ) {
-            ret = ret
-            && this._pbResults.variableIndex !== undefined
-            && this._pbResults.result.resultElements[this._pbResults.variableIndex] !== undefined
-            && this._pbResults.result.resultElements[this._pbResults.variableIndex].ok;
-        }
-        return ret;
+    // true if basin results are present
+    public get hasBasinResults(): boolean {
+        return this._pbResults && this._pbResults.hasBasinResults;
+    }
+
+    // true if wall results are present
+    public get hasWallResults(): boolean {
+        return this._pbResults && this._pbResults.hasWallResults;
     }
 
     /**
@@ -100,6 +99,9 @@ export class PbResultsComponent implements DoCheck {
         if (this.variableResultsSelectorComponent) {
             this.variableResultsSelectorComponent.results = undefined;
         }
+        if (this.fixedResultsComponent) {
+            this.fixedResultsComponent.results = undefined;
+        }
         /* if (this.profileChartComponent) {
             this.profileChartComponent.results = undefined;
         } */
@@ -281,9 +283,10 @@ export class PbResultsComponent implements DoCheck {
      * @returns true si les résultats ont pu être mis à jour
      */
     private updateResults() {
-        let pabUpdated: boolean;
+        let pbTableUpdated: boolean;
         let profileChartUpdated: boolean;
         let selectorUpdated: boolean;
+        let fixedResultsUpdated: boolean;
 
         // results or not, there might be a log
         const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ?
@@ -293,27 +296,49 @@ export class PbResultsComponent implements DoCheck {
             this.generalLogComponent.log = this.globalLog; */
         }
 
+        // show selector as long as any result is present
         if (this.hasResults) {
-            pabUpdated = this.pbResultsTableComponent !== undefined;
-            if (pabUpdated) {
-                this.pbResultsTableComponent.results = this._pbResults;
-            }
             selectorUpdated = this.variableResultsSelectorComponent !== undefined;
             if (selectorUpdated) {
                 this.variableResultsSelectorComponent.results = this._pbResults;
             }
+        } else {
+            selectorUpdated = true;
+        }
+        if (this.hasBasinResults) {
+            pbTableUpdated = this.pbResultsTableComponent !== undefined;
+            if (pbTableUpdated) {
+                this.pbResultsTableComponent.results = this._pbResults;
+            }
             /* profileChartUpdated = this.profileChartComponent !== undefined;
             if (profileChartUpdated) {
                 this.profileChartComponent.results = this._pbResults;
                 this.profileChartComponent.updateView();
             } */
         } else {
-            pabUpdated = true;
+            pbTableUpdated = true;
             profileChartUpdated = true;
-            selectorUpdated = true;
+        }
+        if (this.hasWallResults) {
+            fixedResultsUpdated = this.fixedResultsComponent !== undefined;
+            if (fixedResultsUpdated) {
+                // trick to show only the result of a given iteration, without
+                // modifying FixedResultsComponent
+                const iterationResult = new FixedResults();
+                for (const fp of this._pbResults.cloisonResults.fixedParameters) {
+                    iterationResult.addFixedParameter(fp);
+                }
+                iterationResult.result = new Result(
+                    this._pbResults.cloisonResults.result.resultElements[this._pbResults.variableIndex],
+                    this._pbResults.cloisonResults.result.sourceNub
+                );
+                this.fixedResultsComponent.results = iterationResult;
+            }
+        } else {
+            fixedResultsUpdated = true;
         }
 
-        return pabUpdated && logUpdated && profileChartUpdated && selectorUpdated;
+        return pbTableUpdated && logUpdated && profileChartUpdated && selectorUpdated && fixedResultsUpdated;
     }
 
     public get uitextGeneralLogTitle(): string {
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 63e6d00f4..735e7dea7 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -60,9 +60,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     /** Records existing walls as they are built, to detect if multiple walls connect the same pair of basins */
     private existingWalls: { [key: string]: number };
 
-    /** Stores appropriate number suffix for a given wall uid (related to existingWalls above) */
-    private wallsSuffixes: { [key: string]: number };
-
     public constructor(
         @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent,
         private i18nService: I18nService,
@@ -144,7 +141,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
      */
     private graphDefinition() {
         this.existingWalls = {};
-        this.wallsSuffixes = {};
+        this.pbSchema.wallsSuffixes = {};
         const def: string[] = [ "graph TB" ];
 
         // river upstream / downstream
@@ -159,7 +156,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         const sortedWalls: PbCloison[] = [];
         for (const c of this.model.children) {
             if (c instanceof PbBassin) {
-                def.push(`${c.uid}("${this.itemDesription(c)}")`); // rounded edges
+                def.push(`${c.uid}("${this.itemDescription(c)}")`); // rounded edges
                 def.push(`class ${c.uid} basin;`);
             } else if (c instanceof PbCloison) {
                 // store, to draw later
@@ -178,11 +175,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
             }
             // affect suffix if needed
             if (this.existingWalls[basinsPair] > 0) {
-                this.wallsSuffixes[c.uid] = this.existingWalls[basinsPair];
+                this.pbSchema.wallsSuffixes[c.uid] = this.existingWalls[basinsPair];
             }
             this.existingWalls[basinsPair]++;
             // draw wall Node
-            def.push(`${c.uid}["${this.itemDesription(c)}"]`); // square edges
+            def.push(`${c.uid}["${this.itemDescription(c)}"]`); // square edges
             def.push(`class ${c.uid} wall;`);
             // draw "arrow" with 2 lines
             def.push(`${upstreamBasinId}---${c.uid}-->${downstreamBasinId}`);
@@ -259,7 +256,7 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     }
 
     public get prefixedItemDescription(): string {
-        let desc = this.itemDesription(this._selectedItem);
+        let desc = this.itemDescription(this._selectedItem);
         if (this._selectedItem instanceof PbCloison) {
             desc = this.i18nService.localizeText("INFO_PB_CLOISON") + " " + desc;
         }
@@ -270,23 +267,17 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
     }
 
     /** Returns a short description of the given item: wall or basin */
-    private itemDesription(item: PbCloison | PbBassin): string {
+    private itemDescription(item: PbCloison | PbBassin): string {
         let desc = "";
-        if (item instanceof PbCloison) {
-            const upstreamBasinName = item.bassinAmont === undefined
-                ? this.i18nService.localizeText("INFO_LIB_AMONT")
-                : "B" + (this.model.findBasinPosition(item.bassinAmont.uid) + 1);
-            const downstreamBasinName = item.bassinAval === undefined
-                ? this.i18nService.localizeText("INFO_LIB_AVAL")
-                : "B" + (this.model.findBasinPosition(item.bassinAval.uid) + 1);
-            desc = upstreamBasinName + "-" + downstreamBasinName;
-            // if a similar wall already exists, suffix !
-            if (item.uid in this.wallsSuffixes) {
-                desc += " (" + this.wallsSuffixes[item.uid] + ")";
+        if (item !== undefined) {
+            desc = this.i18nService.localizeMessage(item.description);
+            if (item instanceof PbCloison) {
+                // there might be multiple walls between the same pair of basins
+                if (item.uid in this.pbSchema.wallsSuffixes) {
+                    desc += " (" + this.pbSchema.wallsSuffixes[item.uid] + ")";
+                }
             }
-        } else if (item instanceof PbBassin) {
-            desc = this.i18nService.localizeText("INFO_PB_BASSIN_N") + (this.model.findBasinPosition(item.uid) + 1);
-        } // else undefined
+        }
         return desc;
     }
 
diff --git a/src/app/components/variable-results-selector/variable-results-selector.component.ts b/src/app/components/variable-results-selector/variable-results-selector.component.ts
index af8dfe927..ff36f82b1 100644
--- a/src/app/components/variable-results-selector/variable-results-selector.component.ts
+++ b/src/app/components/variable-results-selector/variable-results-selector.component.ts
@@ -1,8 +1,11 @@
 import { Component, Output, EventEmitter } from "@angular/core";
 
 import { I18nService } from "../../services/internationalisation.service";
-import { fv, longestVarNgParam } from "../../util";
+import { fv, longestVarParam } from "../../util";
 import { MultiDimensionResults } from "../../results/multidimension-results";
+import { PrebarrageResults } from "../../results/prebarrage-results";
+
+import { CalculatorType, PbCloison, Structure } from "jalhyd";
 
 @Component({
     selector: "variable-results-selector",
@@ -40,12 +43,12 @@ export class VariableResultsSelectorComponent {
             // pre-extract variable parameters values
             this.varValues = [];
             // find longest list
-            const lvp = longestVarNgParam(this._results.variatedParameters);
+            const lvp = longestVarParam(this._results.variatedParameters);
             this.size = lvp.size;
             // get extended values lists for each variable parameter
             for (const v of this._results.variatedParameters) {
                 const vv = [];
-                const iter = v.getExtendedValuesIterator(this.size);
+                const iter = v.param.getExtendedValuesIterator(this.size);
                 while (iter.hasNext) {
                     const nv = iter.next();
                     vv.push(fv(nv.value));
@@ -76,14 +79,33 @@ export class VariableResultsSelectorComponent {
         for (let i = 0; i < this.varValues.length; i++) {
             const vv = this.varValues[i];
             const vp = this._results.variatedParameters[i];
-            let symbol = vp.symbol;
+            let symbol = vp.param.symbol;
             // is vp a parameter of a child Nub ?
             if (
-                vp.paramDefinition.parentNub
-                && vp.paramDefinition.parentNub !== vp.paramDefinition.originNub
+                vp.param.parentNub
+                && vp.param.parentNub !== vp.param.originNub
             ) {
-                const pos = vp.paramDefinition.parentNub.findPositionInParent() + 1;
-                symbol = this.intlService.localizeText("INFO_LIB_RADIER_N_COURT") + pos + "_" + symbol;
+                let childPrefix: string;
+                // prefix the label depending on (grand)children type
+                switch (vp.param.originNub.calcType) {
+                    case CalculatorType.PreBarrage:
+                        const struct = vp.param.parentNub as Structure;
+                        const pbRes = this._results as PrebarrageResults;
+                        const wall = struct.parent as PbCloison;
+                        const posS = struct.findPositionInParent() + 1;
+                        childPrefix = this.intlService.localizeMessage(wall.description);
+                        // there might be multiple walls between the same pair of basins
+                        if (wall.uid in pbRes.wallsSuffixes) {
+                            childPrefix += " (" + pbRes.wallsSuffixes[wall.uid] + ")";
+                        }
+                        childPrefix += "_" + this.intlService.localizeText("INFO_LIB_STRUCTURE_N_COURT") + posS;
+                        break;
+                    case CalculatorType.MacroRugoCompound:
+                        const posMR = vp.param.parentNub.findPositionInParent() + 1;
+                        childPrefix = this.intlService.localizeText("INFO_LIB_RADIER_N_COURT") + posMR;
+                        break;
+                }
+                symbol = childPrefix + "_" + symbol;
             }
             kv.push(`${symbol} = ${vv[index]}`);
         }
diff --git a/src/app/formulaire/definition/form-courbe-remous.ts b/src/app/formulaire/definition/form-courbe-remous.ts
index 844a2c2c8..304fef0ba 100644
--- a/src/app/formulaire/definition/form-courbe-remous.ts
+++ b/src/app/formulaire/definition/form-courbe-remous.ts
@@ -15,7 +15,7 @@ export class FormulaireCourbeRemous extends FormulaireSection {
 
     constructor() {
         super();
-        this._remousResults = new RemousResults();
+        this._remousResults = new RemousResults(this);
         this._props["varCalc"] = ""; // important
     }
 
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index 305bc6781..ca1d82ad5 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -8,7 +8,8 @@ import {
     SectionNub,
     acSection,
     ParamDefinition,
-    Result
+    Result,
+    VariatedDetails
 } from "jalhyd";
 
 import { FormulaireElement } from "../elements/formulaire-element";
@@ -512,18 +513,9 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         return ngparam;
     }
 
-    public getVariatedParameters(): NgParameter[] {
-        let res: NgParameter[] = [];
-        // find variated local parameters
-        res = this.getDisplayedParamListFromState(ParamRadioConfig.VAR);
-        // add variated linked parameters
-        const pms = this.getDisplayedParamListFromState(ParamRadioConfig.LINK);
-        for (const p of pms) {
-            if (p.paramDefinition.hasMultipleValues) {
-                res.push(p);
-            }
-        }
-        return res;
+    /** find variated (possibly linked) parameters from model, and get their values at the same time */
+    public getVariatedParameters(): VariatedDetails[] {
+        return this._currentNub.findVariatedParams();
     }
 
     /**
diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts
index 6e674d219..d439b104a 100644
--- a/src/app/formulaire/definition/form-fixedvar.ts
+++ b/src/app/formulaire/definition/form-fixedvar.ts
@@ -7,7 +7,7 @@ import { ParamRadioConfig, NgParameter } from "../elements/ngparam";
 import { FieldSet } from "../elements/fieldset";
 import { FormulaireNode } from "../elements/formulaire-node";
 
-import { Nub, IObservable } from "jalhyd";
+import { Nub, IObservable, VariatedDetails } from "jalhyd";
 
 export class FormulaireFixedVar extends FormulaireDefinition {
 
@@ -20,7 +20,7 @@ export class FormulaireFixedVar extends FormulaireDefinition {
     constructor(parent?: FormulaireNode) {
         super(parent);
         this._fixedResults = new FixedResults();
-        this._varResults = new VarResults();
+        this._varResults = new VarResults(this);
     }
 
     public get fixedResults() {
@@ -99,7 +99,7 @@ export class FormulaireFixedVar extends FormulaireDefinition {
         const computedParam: NgParameter = this.getComputedParameter();
         this.resetFormResults(); // to avoid adding fixed parameters more than once (see below)
         this.addFixedParameters();
-        const varParams: NgParameter[] = this.getVariatedParameters();
+        const varParams: VariatedDetails[] = this.getVariatedParameters();
 
         if (varParams.length === 0) {
             // pas de paramètre à varier
diff --git a/src/app/formulaire/definition/form-macrorugo-compound.ts b/src/app/formulaire/definition/form-macrorugo-compound.ts
index c94dad30a..d988c4424 100644
--- a/src/app/formulaire/definition/form-macrorugo-compound.ts
+++ b/src/app/formulaire/definition/form-macrorugo-compound.ts
@@ -1,4 +1,4 @@
-import { IObservable, Nub, MacrorugoCompound, Result, MRCInclination } from "jalhyd";
+import { IObservable, Nub, MacrorugoCompound, Result, MRCInclination, VariatedDetails } from "jalhyd";
 
 import { FieldSet } from "../elements/fieldset";
 import { FieldsetContainer } from "../elements/fieldset-container";
@@ -121,7 +121,7 @@ export class FormulaireMacrorugoCompound extends FormulaireRepeatableFieldset {
     protected reaffectResultComponents() {
         const mrc: MacrorugoCompound = (this.currentNub as MacrorugoCompound);
         const computedParam: NgParameter = this.getComputedParameter();
-        const varParams: NgParameter[] = this.getVariatedParameters();
+        const varParams: VariatedDetails[] = this.getVariatedParameters();
 
         // résultat de calcul de la passe à macrorugo complexe
         const mrcr = this.mrcResults;
diff --git a/src/app/formulaire/definition/form-pab.ts b/src/app/formulaire/definition/form-pab.ts
index 723d0713a..7f07d9da9 100644
--- a/src/app/formulaire/definition/form-pab.ts
+++ b/src/app/formulaire/definition/form-pab.ts
@@ -1,9 +1,9 @@
-import { Pab, Result } from "jalhyd";
+import { Pab, Result, VariatedDetails } from "jalhyd";
 
 import { FormulaireDefinition } from "./form-definition";
 import { PabResults } from "../../results/pab-results";
 import { NgParameter } from "../elements/ngparam";
-import { longestVarNgParam } from "../../util";
+import { longestVarParam } from "../../util";
 import { CalculatorResults } from "../../results/calculator-results";
 
 /**
@@ -35,7 +35,7 @@ export class FormulairePab extends FormulaireDefinition {
     protected reaffectResultComponents() {
         const pab: Pab = (this.currentNub as Pab);
         const computedParam: NgParameter = this.getComputedParameter();
-        const varParams: NgParameter[] = this.getVariatedParameters();
+        const varParams: VariatedDetails[] = this.getVariatedParameters();
 
         // résultat de calcul de la passe à bassins
         const pabr = this.pabResults;
@@ -55,7 +55,7 @@ export class FormulairePab extends FormulaireDefinition {
         pabr.Z2 = [];
         if (varParams.length > 0) {
             // find longest list
-            const lvp = longestVarNgParam(varParams);
+            const lvp = longestVarParam(varParams);
             const longest = lvp.size;
             // get extended values lists for Z2
             if (pab.prms.Z2.hasMultipleValues) {
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index a3dcb71e8..43f7900af 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -1,4 +1,4 @@
-import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage } from "jalhyd";
+import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage, VariatedDetails, ParamDefinition, ParamDomainValue } from "jalhyd";
 
 import { FormulaireFixedVar } from "./form-fixedvar";
 import { PbSchema } from "../elements/pb-schema";
@@ -8,7 +8,8 @@ import { FormulairePbCloison } from "./form-pb-cloison";
 import { FieldsetContainer } from "../elements/fieldset-container";
 import { CalculatorResults } from "../../results/calculator-results";
 import { PrebarrageResults } from "../../results/prebarrage-results";
-import { NgParameter } from "../elements/ngparam";
+import { NgParameter, ParamRadioConfig } from "../elements/ngparam";
+import { longestVarParam } from "../../util";
 
 /**
  * Formulaire pour les PréBarrage
@@ -50,7 +51,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     public get results(): CalculatorResults[] {
         // ensure help links are propagated
         this._pbResults.helpLinks = this.helpLinks;
-        return [ this.fixedResults, this._pbResults ];
+        return [ this._pbResults ];
     }
 
     public get hasResults(): boolean {
@@ -191,7 +192,6 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     public update(sender: IObservable, data: any) {
         super.update(sender, data);
         if (sender instanceof FormulairePbCloison) {
-            // console.log("HOH PUTAIN CE BIG QUATTRO HOYOYOYOYOY", this.kids[0].constructor.name);
             if (data.action === "updateBasin") {
                 this.refreshSchema(data.value);
             }
@@ -202,8 +202,8 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
         this.runNubCalc(this.currentNub);
         this.refreshFieldsets(); // important: before reaffectResultComponents() or it will break results components localization
         // reset variable index to avoid trying to access an index > 0 when nothing varies
-        const pabr = this.pbResults;
-        pabr.variableIndex = 0;
+        const pbr = this.pbResults;
+        pbr.variableIndex = 0;
 
         this.reaffectResultComponents();
     }
@@ -211,30 +211,52 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     protected reaffectResultComponents() {
         const pb: PreBarrage = (this.currentNub as PreBarrage);
         const computedParam: NgParameter = this.getComputedParameter();
-        const varParams: NgParameter[] = this.getVariatedParameters();
+
+        // cacher les résultats
+        this.pbResults.reset();
+        this.addFixedParameters();
 
         // pour le sélecteur d'itérations
+        const varParams: VariatedDetails[] = this.getVariatedParameters();
         if (varParams) {
             this.pbResults.variatedParameters = varParams;
+            const lvp = longestVarParam(this._pbResults.variatedParameters);
+            this._pbResults.size = lvp.size;
         }
 
-        // cacher les résultats de la cloison
-        this.fixedResults.reset();
-        this.addFixedParameters();
-
         // résultats selon l'objet sélectionné sur le schéma
         if (this._selectedItem !== undefined && this._selectedItem instanceof PbCloison) {
-            // cacher les résultats de bassins
-            this.pbResults.reset();
-
             // afficher les résultats de cloison
-            this.fixedResults.result = this._selectedItem.result;
+            this.pbResults.cloisonResults.result = this._selectedItem.result;
             if (computedParam !== undefined) {
-                this.fixedResults.calculatedParameter = computedParam;
+                this.pbResults.cloisonResults.calculatedParameter = computedParam;
             }
+            // transmission des suffixes de cloisons calculés par l'algo de tri de PbSchemaComponent,
+            // pour le sélecteur de conditions limites
+        const pbs = this.kids[0] as PbSchema;
+            this.pbResults.wallsSuffixes = pbs.wallsSuffixes;
+            // astuce clodo : si un paramètre d'un ouvrage de cette cloison varie, on
+            // l'ajoute sous forme de faux paramètre fixe
+            /* for (const s of this._selectedItem.structures) {
+                for (const p of s.parameterIterator) {
+                    if (p.hasMultipleValues) {
+                        this._pbResults.cloisonResults.addFixedParameter(
+                            new NgParameter(
+                                new ParamDefinition(
+                                    undefined,
+                                    p.symbol,
+                                    ParamDomainValue.ANY,
+                                    p.unit,
+                                    p.getInferredValuesList(this.pbResults.size)[this.pbResults.variableIndex]
+                                ),
+                                this
+                            )
+                        );
+                    }
+                }
+            } */
         } else {
             // afficher les résultats des bassins
-            this.pbResults.reset();
             // résultat général du Nub (amont, aval, débit)
             this.pbResults.result = pb.result;
             this.pbResults.calculatedParameter = computedParam;
@@ -245,16 +267,20 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
         }
     }
 
-    /**
-     * réinitialisation du formulaire suite à un changement d'une valeur, d'une option, ... :
-     * effacement des résultats, application des dépendances, ...
-     */
-    /* public reset() {
-        this.resetResults();
-    } */
+    public addFixedParameters() {
+        // @TODO lire dans le modèle !
+        for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.FIX)) {
+            this._pbResults.cloisonResults.addFixedParameter(p);
+        }
+
+        for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.LINK)) {
+            if (!p.paramDefinition.hasMultipleValues) {
+                this._pbResults.cloisonResults.addFixedParameter(p);
+            }
+        }
+    }
 
     public resetFormResults() {
-        this._fixedResults.reset();
         this._pbResults.reset();
     }
 
diff --git a/src/app/formulaire/definition/form-section-parametree.ts b/src/app/formulaire/definition/form-section-parametree.ts
index f4d2319fd..b1d6dcf4a 100644
--- a/src/app/formulaire/definition/form-section-parametree.ts
+++ b/src/app/formulaire/definition/form-section-parametree.ts
@@ -32,7 +32,7 @@ export class FormulaireSectionParametree extends FormulaireSection {
         const sect: acSection = sectNub.section;
         this._sectionResults.section = sect;
 
-        const varParams = this.getSectionVariatedParameters();
+        const varParams = this.getVariatedParameters();
         if (varParams.length > 0) {
             // résultats variés avec tous les résultats complémentaires
             this._varResults.variatedParameters = varParams;
@@ -71,8 +71,4 @@ export class FormulaireSectionParametree extends FormulaireSection {
         res.push(this._sectionResults);
         return res;
     }
-
-    public getSectionVariatedParameters(): NgParameter[] {
-        return this.getDisplayedParamListFromState(ParamRadioConfig.VAR);
-    }
 }
diff --git a/src/app/formulaire/elements/ngparam.ts b/src/app/formulaire/elements/ngparam.ts
index 154299564..fa3c4b9cb 100644
--- a/src/app/formulaire/elements/ngparam.ts
+++ b/src/app/formulaire/elements/ngparam.ts
@@ -307,10 +307,6 @@ export class NgParameter extends InputField implements Observer {
         }
     }
 
-    public getExtendedValuesIterator(size: number): INumberIterator {
-        return this._paramDef.getExtendedValuesIterator(size);
-    }
-
     /**
      * notification envoyée après la modification de la valeur du paramètre
      */
diff --git a/src/app/formulaire/elements/pb-schema.ts b/src/app/formulaire/elements/pb-schema.ts
index 7ec01a39c..278b7fe39 100644
--- a/src/app/formulaire/elements/pb-schema.ts
+++ b/src/app/formulaire/elements/pb-schema.ts
@@ -11,6 +11,9 @@ import { FormulairePrebarrage } from "../definition/form-prebarrage";
  */
 export class PbSchema extends FormulaireElement {
 
+    /** Stores appropriate number suffix for a given wall uid (related to existingWalls above) */
+    public wallsSuffixes: { [key: string]: number };
+
     public parseConfig(json: {}) {
         this._confId = json["id"];
     }
diff --git a/src/app/results/multidimension-results.ts b/src/app/results/multidimension-results.ts
index 4b2aee2ed..c3669acfd 100644
--- a/src/app/results/multidimension-results.ts
+++ b/src/app/results/multidimension-results.ts
@@ -1,11 +1,12 @@
 import { CalculatedParamResults } from "./param-calc-results";
-import { NgParameter } from "../formulaire/elements/ngparam";
+
+import { VariatedDetails } from "jalhyd";
 
 
 export class MultiDimensionResults extends CalculatedParamResults {
 
     /** paramètres variés */
-    public variatedParameters: NgParameter[];
+    public variatedParameters: VariatedDetails[];
 
     /** index de la valeur du paramètre varié à afficher dans les résultats */
     public variableIndex = 0;
diff --git a/src/app/results/plottable-data.ts b/src/app/results/plottable-data.ts
index 35da1e4d9..bae4f7709 100644
--- a/src/app/results/plottable-data.ts
+++ b/src/app/results/plottable-data.ts
@@ -1,5 +1,7 @@
 import { ChartType } from "./chart-type";
 
+import { ParamDefinition } from "jalhyd";
+
 /**
  * Une interface pour nourrir un ResultsChartComponent
  */
@@ -20,7 +22,7 @@ export interface PlottableData {
      * Returns the translated name of the given symbol (usually a result or child result)
      * if available, with its unit, but without the symbol itself
      */
-    expandLabelFromSymbol(symbol: string): string;
+    expandLabelFromSymbol(p: ParamDefinition): string;
 
     /**
      * Returns a list of plottable parameters / result elements, that can be defined
diff --git a/src/app/results/plottable-macrorugo-compound-results.ts b/src/app/results/plottable-macrorugo-compound-results.ts
index 82601908c..caf34a119 100644
--- a/src/app/results/plottable-macrorugo-compound-results.ts
+++ b/src/app/results/plottable-macrorugo-compound-results.ts
@@ -2,6 +2,8 @@ import { PlottableData } from "./plottable-data";
 import { ChartType } from "./chart-type";
 import { MacrorugoCompoundResults } from "./macrorugo-compound-results";
 
+import { ParamDefinition } from "jalhyd";
+
 export class PlottableMacrorugoCompoundResults implements PlottableData {
 
     public graphType: ChartType = ChartType.Scatter;
@@ -32,8 +34,8 @@ export class PlottableMacrorugoCompoundResults implements PlottableData {
         return this.mrcResults.headers[this.mrcResults.columns.indexOf(symbol)];
     }
 
-    public expandLabelFromSymbol(symbol: string): string {
-        return symbol;
+    public expandLabelFromSymbol(p: ParamDefinition): string {
+        return p.symbol;
     }
 
     /**
diff --git a/src/app/results/plottable-pab-results.ts b/src/app/results/plottable-pab-results.ts
index 7f52a5717..f863a9fa0 100644
--- a/src/app/results/plottable-pab-results.ts
+++ b/src/app/results/plottable-pab-results.ts
@@ -3,6 +3,8 @@ import { PabResults } from "./pab-results";
 import { ChartType } from "./chart-type";
 import { ServiceFactory } from "../services/service-factory";
 
+import { ParamDefinition } from "jalhyd";
+
 export class PlottablePabResults implements PlottableData {
 
     public graphType: ChartType = ChartType.Scatter;
@@ -37,8 +39,8 @@ export class PlottablePabResults implements PlottableData {
         }
     }
 
-    public expandLabelFromSymbol(symbol: string): string {
-        return symbol;
+    public expandLabelFromSymbol(p: ParamDefinition): string {
+        return p.symbol;
     }
 
     /**
diff --git a/src/app/results/prebarrage-results.ts b/src/app/results/prebarrage-results.ts
index cea988714..fb92d9fb6 100644
--- a/src/app/results/prebarrage-results.ts
+++ b/src/app/results/prebarrage-results.ts
@@ -2,18 +2,29 @@ import { Result } from "jalhyd";
 
 import { ServiceFactory } from "../services/service-factory";
 import { MultiDimensionResults } from "./multidimension-results";
+import { FixedResults } from "./fixed-results";
 
 export class PrebarrageResults extends MultiDimensionResults {
 
     /** résultats des bassins, dans l'ordre */
     public bassinsResults: Result[];
 
+    /** résultat de la cloison actuellement sélectionnée (nourrit le FixedResultsComponent) */
+    public cloisonResults: FixedResults;
+
     /** symboles des colonnes de résultat */
     protected _columns: string[];
 
+    /** size of the longest variating parameter */
+    public size: number;
+
+    /** Stores appropriate number suffix for a given wall uid (copied from PbSchema) */
+    public wallsSuffixes: { [key: string]: number };
+
     public constructor() {
         super();
         this.reset();
+        this.size = 1; // boulette-proufe
         // standard headers
         this._columns = [
             "BASSIN",
@@ -49,6 +60,7 @@ export class PrebarrageResults extends MultiDimensionResults {
     public reset() {
         super.reset();
         this.bassinsResults = [];
+        this.cloisonResults = new FixedResults();
         this.result = undefined;
     }
 
@@ -64,19 +76,26 @@ export class PrebarrageResults extends MultiDimensionResults {
                 }
             }
         }
-        return (this.result && this.result.hasLog());
+        return (this.cloisonResults && this.cloisonResults.result && this.cloisonResults.result.hasLog());
     }
 
-    // do not test result.ok else log messages will prevent partial results from being displayed
     public get hasResults(): boolean {
-        return this.result !== undefined && ! this.result.hasOnlyErrors;
+        return this.hasBasinResults || this.hasWallResults;
+    }
+
+    public get hasBasinResults(): boolean {
+        return this.bassinsResults.length > 0 && this.bassinsResults[0] && ! this.bassinsResults[0].hasOnlyErrors;
+    }
+
+    public get hasWallResults(): boolean {
+        return this.cloisonResults  && this.cloisonResults.result && ! this.cloisonResults.result.hasOnlyErrors;
     }
 
     /** retourne true si au moins un calcul a échoué (le log a un code négatif) */
     public hasError(): boolean {
         let err = false;
         // log principal
-        err = (err || this.result.hasErrorMessages());
+        err = (err || (this.cloisonResults && this.cloisonResults && this.cloisonResults.result.hasErrorMessages()));
         // logs des bassins
         for (const c of this.bassinsResults) {
             err = (err || c.hasErrorMessages());
@@ -87,7 +106,7 @@ export class PrebarrageResults extends MultiDimensionResults {
 
     /** retourne true si le calcul à l'itération i a échoué */
     public iterationHasError(i: number): boolean {
-        let err = this.result.resultElements[i].hasErrorMessages();
+        let err = this.cloisonResults && this.cloisonResults.result && this.cloisonResults.result.resultElements[i].hasErrorMessages();
         // logs des bassins
         for (const c of this.bassinsResults) {
             err = (err || c.resultElements[i].hasErrorMessages());
@@ -100,7 +119,7 @@ export class PrebarrageResults extends MultiDimensionResults {
     public hasOnlyErrors(): boolean {
         let err = true;
         // log principal
-        err = (err && this.result.hasOnlyErrors);
+        err = (err && this.cloisonResults && this.cloisonResults.result && this.cloisonResults.result.hasOnlyErrors);
         // logs des bassins
         for (const c of this.bassinsResults) {
             err = (err && c.hasOnlyErrors);
diff --git a/src/app/results/remous-results.ts b/src/app/results/remous-results.ts
index a96934ca7..cd1bc51fb 100644
--- a/src/app/results/remous-results.ts
+++ b/src/app/results/remous-results.ts
@@ -2,8 +2,8 @@ import { cLog, CourbeRemousParams, Result, ResultElement, ParamDefinition, Param
 
 import { CalculatorResults } from "./calculator-results";
 import { VarResults } from "./var-results";
-import { NgParameter } from "../formulaire/elements/ngparam";
 import { ServiceFactory } from "../services/service-factory";
+import { FormulaireDefinition } from "../formulaire/definition/form-definition";
 
 export class RemousResults extends CalculatorResults {
 
@@ -51,8 +51,12 @@ export class RemousResults extends CalculatorResults {
     /** journal de calcul */
     private _log: cLog;
 
-    constructor() {
+    /** pointer to form that instantiated this object */
+    protected _form: FormulaireDefinition;
+
+    constructor(form?: FormulaireDefinition) {
         super();
+        this._form = form;
         this.reset();
     }
 
@@ -132,8 +136,8 @@ export class RemousResults extends CalculatorResults {
         this._log.clear();
         this._log.addLog(this._result.globalLog);
 
-        this._varResults = new VarResults();
-        this._varResults.variatedParameters = [ new NgParameter(this._xValues, undefined) ];
+        this._varResults = new VarResults(this._form);
+        this._varResults.variatedParameters = [ { param: this._xValues, values: this._xValues.paramValues } ];
         this._varResults.result = this._result;
         const keys = [];
         keys.push("Y"); // ligne d'eau
diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts
index a6322e0f6..043c0a896 100644
--- a/src/app/results/var-results.ts
+++ b/src/app/results/var-results.ts
@@ -1,20 +1,19 @@
-import { CalculatorResults } from "./calculator-results";
 import { CalculatedParamResults } from "./param-calc-results";
-import { NgParameter } from "../formulaire/elements/ngparam";
-import { ResultElement, ParamFamily, capitalize, Nub } from "jalhyd";
 import { ServiceFactory } from "../services/service-factory";
 import { PlottableData } from "./plottable-data";
 import { ChartType } from "./chart-type";
+import { longestVarParam } from "../util";
+import { FormulaireDefinition } from "../formulaire/definition/form-definition";
 
 import { sprintf } from "sprintf-js";
 
-import { longestVarNgParam } from "../util";
+import { ResultElement, ParamFamily, capitalize, Nub, VariatedDetails, ParamDefinition, ParamDomain, ParamDomainValue } from "jalhyd";
 
 export class VarResults extends CalculatedParamResults implements PlottableData {
     /**
      * paramètres variés
      */
-    private _variatedParams: NgParameter[];
+    private _variatedParams: VariatedDetails[];
 
     /**
      * titre des colonnes des résultats variés
@@ -36,6 +35,9 @@ export class VarResults extends CalculatedParamResults implements PlottableData
      */
     protected _graphType: ChartType = ChartType.Scatter;
 
+    /** pointer to form that instantiated this object */
+    protected _form: FormulaireDefinition;
+
     /**
      * variated parameter or result displayed as chart's X-axis
      */
@@ -56,8 +58,9 @@ export class VarResults extends CalculatedParamResults implements PlottableData
      */
     private _yValues: number[] = [];
 
-    constructor() {
+    constructor(form?: FormulaireDefinition) {
         super();
+        this._form = form;
         this.reset();
     }
 
@@ -70,11 +73,11 @@ export class VarResults extends CalculatedParamResults implements PlottableData
         this.longest = 0;
     }
 
-    public get variatedParameters(): NgParameter[] {
+    public get variatedParameters(): VariatedDetails[] {
         return this._variatedParams;
     }
 
-    public set variatedParameters(p: NgParameter[]) {
+    public set variatedParameters(p: VariatedDetails[]) {
         this._variatedParams = p;
     }
 
@@ -110,19 +113,19 @@ export class VarResults extends CalculatedParamResults implements PlottableData
         }
         // 2. variated param ?
         for (let i = 0; i < this.variatedParameters.length; i++) {
-            if (this._variatedParams[i].symbol === symbol) {
+            if (this._variatedParams[i].param.symbol === symbol) {
                 return this.variableParamHeaders[i];
             }
         }
         // 3. Result element / child result
-        return this.expandLabelFromSymbol(symbol);
+        return this.expandLabelFromSymbol(new ParamDefinition(undefined, symbol, ParamDomainValue.ANY));
     }
 
     /**
      * Returns the translated name of the given symbol (usually a result or child result) with
      * its unit, but without the symbol itself
      */
-    public expandLabelFromSymbol(symbol: string): string {
+    public expandLabelFromSymbol(p: ParamDefinition): string {
         let ret = "";
         // calculator type for translation
         const sn = this.result.sourceNub;
@@ -131,7 +134,8 @@ export class VarResults extends CalculatedParamResults implements PlottableData
             ct = sn.parent.calcType;
         }
         // detect children results
-        const match = /^([0-9]+)_(.+)$/.exec(symbol);
+        const match = /^([0-9]+)_(.+)$/.exec(p.symbol);
+        let symbol = p.symbol;
         if (match !== null) {
             const pos = +match[1];
             // only parent translation file is loaded; look for children translations in it // ct = sn.getChildren()[pos].calcType;
@@ -139,7 +143,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData
             const cn = capitalize(ServiceFactory.instance.i18nService.childName(sn));
             ret += sprintf(ServiceFactory.instance.i18nService.localizeText("INFO_STUFF_N"), cn) + (pos + 1) + " : ";
         }
-        ret += ServiceFactory.instance.formulaireService.expandVariableNameAndUnit(ct, symbol);
+        ret += ServiceFactory.instance.formulaireService.expandVariableNameAndUnit(ct, symbol, p.unit);
         return ret;
     }
 
@@ -160,16 +164,16 @@ export class VarResults extends CalculatedParamResults implements PlottableData
             // are we looking for a child variated param ?
             if (isChildResult !== null) {
                 const children = this.result.sourceNub.getChildren();
-                const parameterNub = vp.paramDefinition.parentNub;
+                const parameterNub = vp.param.parentNub;
                 if (children.includes(parameterNub)) { // current var param is a child param !
                     const pos = parameterNub.findPositionInParent();
-                    isTheGoodChild = (pos === +isChildResult[1] && vp.symbol === isChildResult[2]);
+                    isTheGoodChild = (pos === +isChildResult[1] && vp.param.symbol === isChildResult[2]);
                 }
             }
             // in any case
-            if (isTheGoodChild || vp.symbol === symbol) {
+            if (isTheGoodChild || vp.param.symbol === symbol) {
                 found = true;
-                const iter = vp.getExtendedValuesIterator(this.size);
+                const iter = vp.param.getExtendedValuesIterator(this.size);
                 for (const v of iter) {
                     series.push(v);
                 }
@@ -259,13 +263,13 @@ export class VarResults extends CalculatedParamResults implements PlottableData
         // variating parameters
         for (const v of this._variatedParams) {
             // exclude pseudo-family "ANY"
-            const fam = v.paramDefinition.family;
+            const fam = v.param.family;
             if (fam !== undefined && fam !== ParamFamily.ANY) {
                 const f = ParamFamily[fam];
                 if (! (f in families)) {
                     families[f] = [];
                 }
-                families[f].push(v.symbol);
+                families[f].push(v.param.symbol);
             }
         }
         // results
@@ -309,15 +313,15 @@ export class VarResults extends CalculatedParamResults implements PlottableData
      */
     public getVariatingParametersSymbols(): string[] {
         if (this.result && this.result.sourceNub) {
-            return this._variatedParams.map(vp => this.getVariatingParameterSymbol(vp, this.result.sourceNub));
+            return this._variatedParams.map(vp => this.getVariatingParameterSymbol(vp.param, this.result.sourceNub));
         } else {
             return [];
         }
     }
 
-    public getVariatingParameterSymbol(vp: NgParameter, sourceNub: Nub): string {
+    public getVariatingParameterSymbol(vp: ParamDefinition, sourceNub: Nub): string {
         // detect if variated param is a children param
-        const parameterNub = vp.paramDefinition.parentNub;
+        const parameterNub = vp.parentNub;
         const children = sourceNub.getChildren();
         let symb = vp.symbol;
         if (children.includes(parameterNub)) {
@@ -329,13 +333,13 @@ export class VarResults extends CalculatedParamResults implements PlottableData
     public update() {
         // refresh param headers
         this._variableParamHeaders = this._variatedParams.map((v) => {
-            let h = CalculatorResults.paramLabel(v, true, this.result.sourceNub);
-            h += this.getHelpLink(v.symbol);
+            let h = this.expandLabelFromSymbol(v.param);
+            h += this.getHelpLink(v.param.symbol);
             return h;
         });
 
         // liste la plus longue
-        const lvp = longestVarNgParam(this._variatedParams);
+        const lvp = longestVarParam(this._variatedParams);
         this.size = lvp.size;
         this.longest = lvp.index;
 
@@ -358,7 +362,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData
         }
         this.chartY = defaultY;
         if (this.chartX === undefined || ! this.getAvailableXAxis().includes(this.chartX)) {
-            this.chartX = this.getVariatingParameterSymbol(this.variatedParameters[this.longest], this.result.sourceNub);
+            this.chartX = this.getVariatingParameterSymbol(this.variatedParameters[this.longest].param, this.result.sourceNub);
         }
 
         // calculator type for translation
@@ -405,10 +409,10 @@ export class VarResults extends CalculatedParamResults implements PlottableData
      */
     public resetDefaultAxisIfNeeded() {
         if (! this.getAvailableXAxis().includes(this.chartX)) {
-            this.chartX = this.variatedParameters[0].symbol;
+            this.chartX = this.variatedParameters[0].param.symbol;
         }
         if (! this.getAvailableYAxis().includes(this.chartY)) {
-            this.chartY = this.variatedParameters[0].symbol;
+            this.chartY = this.variatedParameters[0].param.symbol;
         }
     }
 }
diff --git a/src/app/services/formulaire.service.ts b/src/app/services/formulaire.service.ts
index 6650d9ff0..d83a6507d 100644
--- a/src/app/services/formulaire.service.ts
+++ b/src/app/services/formulaire.service.ts
@@ -218,7 +218,9 @@ export class FormulaireService extends Observable {
         if (idx !== -1) {
             symbolBase = symbolBase.substring(idx + 2);
         }
-        let unit;
+        let unit: string;
+        // unit of a parameter is supposed to be read from JaLHyd ParadDefinition and passed
+        // through "forceUnit"; keys like "UNIT_*" in the config file are for extra results
         if (forceUnit) {
             unit = forceUnit;
         } else {
diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts
index 07faaaf93..bac781614 100644
--- a/src/app/services/internationalisation.service.ts
+++ b/src/app/services/internationalisation.service.ts
@@ -197,7 +197,7 @@ export class I18nService extends Observable implements Observer {
 
         // replace MSG_* with the translation of * ; allows
         // to inject any text translation in a message
-        m = m.replace(/MSG_([^ ,;\.]+)/g, (match, p1) => {
+        m = m.replace(/MSG_([^ ,;\.-]+)/g, (match, p1) => {
             return this.localizeText(p1);
         });
 
@@ -231,13 +231,17 @@ export class I18nService extends Observable implements Observer {
     }
 
     /**
-     * Returns the localized name for the children type of the current Nub
+     * Returns the localized name for the children type of the current Nub; "short" and "plural"
+     * options are mutually exclusive
      * @param plural if true, will return plural name
+     * @param short if true, will return short name
      */
-    public childName(nub: Nub, plural: boolean = false) {
+    public childName(nub: Nub, plural: boolean = false, short: boolean = false) {
         const type: string = nub.childrenType;
         let k = "INFO_CHILD_TYPE_" + type.toUpperCase();
-        if (plural) {
+        if (short) {
+            k += "_SHORT";
+        } else if (plural) {
             k += "_PLUR";
         }
         return this.localizeText(k);
diff --git a/src/app/util.ts b/src/app/util.ts
index 6f5719bc5..9e306c5ef 100644
--- a/src/app/util.ts
+++ b/src/app/util.ts
@@ -42,27 +42,6 @@ export function decodeHtml(html: string): string {
     return txt.value;
 }
 
-/**
- * Given a list of variated NgParameter, returns the parameter having the most
- * values, its index in the list, and the number of values it contains
- * @param varParams
- */
-export function longestVarNgParam(varParams: NgParameter[]): { param: NgParameter, index: number, size: number } {
-    const variated: VariatedDetails[] = [];
-    for (const vp of varParams) {
-        variated.push({
-            param: vp.paramDefinition,
-            values: vp.paramDefinition.paramValues
-        });
-    }
-    const { param, index, size } = longestVarParam(variated);
-    return {
-        param: varParams[index],
-        index,
-        size
-    };
-}
-
 /**
  * Given a list of variated ParamDefinition, returns the parameter having the most
  * values, its index in the list, and the number of values it contains
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index 999715697..332f19295 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -169,10 +169,13 @@
     "INFO_STUFF_N": "%s #",
     "INFO_CHILD_TYPE_OUVRAGE": "device",
     "INFO_CHILD_TYPE_OUVRAGE_PLUR": "devices",
+    "INFO_CHILD_TYPE_OUVRAGE_SHORT": "D",
     "INFO_CHILD_TYPE_MACRORUGO": "apron",
     "INFO_CHILD_TYPE_MACRORUGO_PLUR": "aprons",
+    "INFO_CHILD_TYPE_MACRORUGO_SHORT": "A",
     "INFO_CHILD_TYPE_PUISSANCE": "power",
     "INFO_CHILD_TYPE_PUISSANCE_PLUR": "powers",
+    "INFO_CHILD_TYPE_PUISSANCE_SHORT": "P",
     "INFO_DIALOG_PARSIM_DESC": "Choose a combination of values to generate the simulation",
     "INFO_FIELDSET_ADD": "Add",
     "INFO_FIELDSET_COPY": "Copy",
@@ -282,6 +285,7 @@
     "INFO_LIB_SELECT_STRUCTURE_SEUIL_RECT": "Rectangular weir",
     "INFO_LIB_SELECT_STRUCTURE": "Device",
     "INFO_LIB_STRUCT_CONTAINER": "Devices",
+    "INFO_LIB_STRUCTURE_N_COURT": "S",
     "INFO_LIB_TAU0": "Tractive force",
     "INFO_LIB_TOR": "Supercritical water line",
     "INFO_LIB_TOTAL": "Total",
@@ -438,6 +442,8 @@
     "INFO_PARAMFIELD_VARIATED": "Variated",
     "INFO_PARAMMODE_LIST": "Values list",
     "INFO_PARAMMODE_MINMAX": "Min/max",
+    "INFO_PB_BASSIN_DESCRIPTION": "B%order%",
+    "INFO_PB_CLOISON_DESCRIPTION": "%ub%-%db%",
     "INFO_PB_ADD_BASIN": "Add new basin",
     "INFO_PB_ADD_WALL": "Add new wall",
     "INFO_PB_BASSIN_N": "Basin #",
@@ -463,7 +469,7 @@
     "INFO_REMOUS_LARGEUR_BERGE": "Width at embankment level = %B% m",
     "INFO_REMOUS_RESSAUT_DEHORS": "Hydraulic jump detected %sens% abscissa %x% m",
     "INFO_REMOUS_RESSAUT_HYDRO": "Hydraulic jump detected between abscissa %xmin% and %xmax% m",
-    "INFO_REMOUSRESULTS_ABSCISSE": "Abscissa (m)",
+    "INFO_REMOUSRESULTS_ABSCISSE": "Abscissa",
     "INFO_REMOUSRESULTS_BERGE": "Embankment",
     "INFO_REMOUSRESULTS_FOND": "Bottom",
     "INFO_REMOUSRESULTS_TIRANT": "Draft (m)",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 7c9254fe8..6c0d1d94f 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -169,10 +169,13 @@
     "INFO_STUFF_N": "%s n°",
     "INFO_CHILD_TYPE_OUVRAGE": "ouvrage",
     "INFO_CHILD_TYPE_OUVRAGE_PLUR": "ouvrages",
+    "INFO_CHILD_TYPE_OUVRAGE_SHORT": "O",
     "INFO_CHILD_TYPE_MACRORUGO": "radier",
     "INFO_CHILD_TYPE_MACRORUGO_PLUR": "radiers",
+    "INFO_CHILD_TYPE_MACRORUGO_SHORT": "R",
     "INFO_CHILD_TYPE_PUISSANCE": "puissance",
     "INFO_CHILD_TYPE_PUISSANCE_PLUR": "puissances",
+    "INFO_CHILD_TYPE_PUISSANCE_SHORT": "P",
     "INFO_DIALOG_PARSIM_DESC": "Choisir une combinaison de valeurs pour générer la simulation",
     "INFO_FIELDSET_ADD": "Ajouter",
     "INFO_FIELDSET_COPY": "Copier",
@@ -282,6 +285,7 @@
     "INFO_LIB_SELECT_STRUCTURE_SEUIL_RECT": "Seuil rectangulaire",
     "INFO_LIB_SELECT_STRUCTURE": "Ouvrage",
     "INFO_LIB_STRUCT_CONTAINER": "Ouvrages",
+    "INFO_LIB_STRUCTURE_N_COURT": "O",
     "INFO_LIB_TAU0": "Force tractrice",
     "INFO_LIB_TOR": "Ligne d'eau torrentielle",
     "INFO_LIB_TOTAL": "Total",
@@ -438,6 +442,8 @@
     "INFO_PARAMFIELD_VARIATED": "Varié",
     "INFO_PARAMMODE_LIST": "Liste de valeurs",
     "INFO_PARAMMODE_MINMAX": "Min/max",
+    "INFO_PB_BASSIN_DESCRIPTION": "B%order%",
+    "INFO_PB_CLOISON_DESCRIPTION": "%ub%-%db%",
     "INFO_PB_ADD_BASIN": "Ajouter un bassin",
     "INFO_PB_ADD_WALL": "Ajouter une cloison",
     "INFO_PB_BASSIN_N": "Bassin n°",
@@ -463,7 +469,7 @@
     "INFO_REMOUS_LARGEUR_BERGE": "Largeur au niveau des berges = %B% m",
     "INFO_REMOUS_RESSAUT_DEHORS": "Ressaut hydraulique détecté à l'%sens% de l'abscisse %x% m",
     "INFO_REMOUS_RESSAUT_HYDRO": "Ressaut hydraulique détecté entre les abscisses %xmin% et %xmax% m",
-    "INFO_REMOUSRESULTS_ABSCISSE": "Abscisse (m)",
+    "INFO_REMOUSRESULTS_ABSCISSE": "Abscisse",
     "INFO_REMOUSRESULTS_BERGE": "Berge",
     "INFO_REMOUSRESULTS_FOND": "Fond",
     "INFO_REMOUSRESULTS_TIRANT": "Tirant d'eau (m)",
-- 
GitLab


From 0f0467aa362e843c2c5f0609f1d96564ca1a902a Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 16 Jul 2020 11:30:03 +0200
Subject: [PATCH 102/117] PreBarrage: new not-really-fixed results component
 for Cloison

---
 src/app/app.module.ts                         |  2 +
 .../fixed-results.component.ts                | 18 ++--
 .../pb-cloison-results.component.ts           | 35 ++++++++
 .../pb-results/pb-results-table.component.ts  | 32 ++-----
 .../pb-results/pb-results.component.html      |  2 +-
 .../pb-results/pb-results.component.ts        | 36 +++-----
 .../formulaire/definition/form-definition.ts  | 84 ++++---------------
 .../formulaire/definition/form-fixedvar.ts    |  8 +-
 .../formulaire/definition/form-prebarrage.ts  | 66 ++++++---------
 src/app/results/multidimension-results.ts     | 11 ++-
 src/app/results/pb-cloison-results.ts         | 11 +++
 src/app/results/prebarrage-results.ts         | 19 ++++-
 src/app/util.ts                               | 22 ++++-
 src/styles.scss                               |  2 +-
 14 files changed, 174 insertions(+), 174 deletions(-)
 create mode 100644 src/app/components/pb-results/pb-cloison-results.component.ts
 create mode 100644 src/app/results/pb-cloison-results.ts

diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index e60a467cc..4d9072331 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -88,6 +88,7 @@ import { SelectModelFieldLineComponent } from "./components/select-model-field-l
 import { PabProfileChartComponent } from "./components/pab-profile-chart/pab-profile-chart.component";
 import { PabTableComponent } from "./components/pab-table/pab-table.component";
 import { PbSchemaComponent } from "./components/pb-schema/pb-schema.component";
+import { PbCloisonResultsComponent } from "./components/pb-results/pb-cloison-results.component";
 import { VariableResultsSelectorComponent } from "./components/variable-results-selector/variable-results-selector.component";
 import { QuicknavComponent } from "./components/quicknav/quicknav.component";
 import { ModulesDiagramComponent } from "./components/modules-diagram/modules-diagram.component";
@@ -224,6 +225,7 @@ const appRoutes: Routes = [
     PabResultsTableComponent,
     PabTableComponent,
     PbResultsComponent,
+    PbCloisonResultsComponent,
     PbResultsTableComponent,
     PbSchemaComponent,
     VariableResultsSelectorComponent,
diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts
index a29b9dbdf..f369c26d6 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.ts
+++ b/src/app/components/fixedvar-results/fixed-results.component.ts
@@ -1,12 +1,11 @@
 import { Component, ViewChild, ElementRef } from "@angular/core";
 
 import { FixedResults } from "../../results/fixed-results";
-import { NgParameter } from "../../formulaire/elements/ngparam";
-import { CalculatorResults } from "../../results/calculator-results";
 import { I18nService } from "../../services/internationalisation.service";
 import { FormulaireService } from "../../services/formulaire.service";
 import { ResultsComponentDirective } from "./results.component";
 import { AppComponent } from "../../app.component";
+import { NgParameter } from "../../formulaire/elements/ngparam";
 
 import { capitalize } from "jalhyd";
 
@@ -20,8 +19,9 @@ import { sprintf } from "sprintf-js";
     ]
 })
 export class FixedResultsComponent extends ResultsComponentDirective {
+
     /** résultats non mis en forme */
-    private _fixedResults: FixedResults;
+    protected _fixedResults: FixedResults;
 
     @ViewChild("tableContainer")
     table: ElementRef;
@@ -103,7 +103,7 @@ export class FixedResultsComponent extends ResultsComponentDirective {
                     label += this._fixedResults.getHelpLink(symbol);
                     data.push({
                         label: label,
-                        value: this.formattedValue(fp),
+                        value: this.getFixedParamValue(fp),
                         isCalcResult: false // for CSS
                     });
                 }
@@ -200,7 +200,7 @@ export class FixedResultsComponent extends ResultsComponentDirective {
             label += this._fixedResults.getHelpLink(fp.symbol);
             data.push({
                 label: label,
-                value: this.formattedValue(fp),
+                value: this.getFixedParamValue(fp),
                 isCalcResult: false // for CSS
             });
         }
@@ -266,6 +266,14 @@ export class FixedResultsComponent extends ResultsComponentDirective {
         return data;
     }
 
+    /**
+     * Retourne la valeur du paramètre fixe; redéfini
+     * dans PbCloisonResultsComponent notamment
+     */
+    protected getFixedParamValue(fp: NgParameter): string {
+        return this.formattedValue(fp);
+    }
+
     public exportAsSpreadsheet() {
         AppComponent.exportAsSpreadsheet(this.table.nativeElement, true);
     }
diff --git a/src/app/components/pb-results/pb-cloison-results.component.ts b/src/app/components/pb-results/pb-cloison-results.component.ts
new file mode 100644
index 000000000..404680865
--- /dev/null
+++ b/src/app/components/pb-results/pb-cloison-results.component.ts
@@ -0,0 +1,35 @@
+import { Component } from "@angular/core";
+
+import { FixedResultsComponent } from "../fixedvar-results/fixed-results.component";
+import { NgParameter } from "../../formulaire/elements/ngparam";
+import { getIthValue } from "../../util";
+import { PbCloisonResults } from "../../results/pb-cloison-results";
+
+@Component({
+    selector: "pb-cloison-results",
+    templateUrl: "../fixedvar-results/fixed-results.component.html",
+    styleUrls: [
+        "../fixedvar-results/fixed-results.component.scss"
+    ]
+})
+export class PbCloisonResultsComponent extends FixedResultsComponent {
+
+    public set results(r: PbCloisonResults) {
+        this._fixedResults = r;
+    }
+
+    public get results(): PbCloisonResults {
+        return this._fixedResults as PbCloisonResults;
+    }
+
+    /** Retourne la valeur du paramètre fixe… qui n'en est pas forcément un ici ! */
+    protected getFixedParamValue(fp: NgParameter): string {
+        let val: string;
+        if (fp.paramDefinition.hasMultipleValues) {
+            val = getIthValue(fp.paramDefinition, this.results.variableIndex, this.results.size);
+        } else {
+            val = this.formattedValue(fp.getValue());
+        }
+        return val;
+    }
+}
diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts
index c064fabb9..925eab960 100644
--- a/src/app/components/pb-results/pb-results-table.component.ts
+++ b/src/app/components/pb-results/pb-results-table.component.ts
@@ -1,11 +1,11 @@
 import { Component, ViewChild, ElementRef } from "@angular/core";
 
-import { PreBarrage, PbBassin, ParamDefinition, ParamValueMode } from "jalhyd";
+import { PreBarrage, PbBassin } from "jalhyd";
 
 import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { AppComponent } from "../../app.component";
-import { fv } from "../../util";
+import { fv, getIthValue } from "../../util";
 import { PrebarrageResults } from "../../results/prebarrage-results";
 
 @Component({
@@ -35,26 +35,6 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
         super();
     }
 
-    /**
-     * Returns value at index i for parameter p, whether it is variating
-     * or not, calculated or not
-     * @param p parameter
-     * @param i index
-     */
-    protected getIthValue(p: ParamDefinition, i: number, extendTo: number): string {
-        let value: number;
-        if (p.hasMultipleValues) {
-            if (p.valueMode === ParamValueMode.CALCUL) {
-                value = p.parentNub.result.resultElements[i].vCalc;
-            } else {
-                value = p.getInferredValuesList(extendTo)[i];
-            }
-        } else {
-            value = p.V;
-        }
-        return fv(value);
-    }
-
     public set results(r: PrebarrageResults) {
         this._pbResults = r;
 
@@ -81,9 +61,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
                 this._dataSet.push([
                     this.intlService.localizeText("INFO_LIB_AMONT"),
                     "", "",
-                    this.getIthValue(pb.prms.Z1, vi, this._pbResults.size),
+                    getIthValue(pb.prms.Z1, vi, this._pbResults.size),
                     "", "",
-                    this.getIthValue(pb.prms.Q, vi, this._pbResults.size),
+                    getIthValue(pb.prms.Q, vi, this._pbResults.size),
                 ]);
             }
 
@@ -111,9 +91,9 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
                 this._dataSet.push([
                     this.intlService.localizeText("INFO_LIB_AVAL"),
                     "", "",
-                    this.getIthValue(pb.prms.Z2, vi, this._pbResults.size),
+                    getIthValue(pb.prms.Z2, vi, this._pbResults.size),
                     "", "",
-                    this.getIthValue(pb.prms.Q, vi, this._pbResults.size),
+                    getIthValue(pb.prms.Q, vi, this._pbResults.size),
                 ]);
             }
         }
diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html
index a4a603342..80a7d4501 100644
--- a/src/app/components/pb-results/pb-results.component.html
+++ b/src/app/components/pb-results/pb-results.component.html
@@ -10,7 +10,7 @@
     <pb-results-table *ngIf="hasBasinResults" [results]="pbResults"></pb-results-table>
 
     <!-- table des résultats fixés -->
-    <fixed-results *ngIf="hasWallResults" [results]="pbResults.cloisonResults"></fixed-results>
+    <pb-cloison-results *ngIf="hasWallResults" [results]="pbResults.cloisonResults"></pb-cloison-results>
 
     <!-- <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]"
         [currentItem]="'charts'" [align]="'left'"></quicknav> -->
diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts
index 6623a32ac..0362c6b8b 100644
--- a/src/app/components/pb-results/pb-results.component.ts
+++ b/src/app/components/pb-results/pb-results.component.ts
@@ -6,7 +6,7 @@ import { PbResultsTableComponent } from "./pb-results-table.component";
 import { PrebarrageResults } from "../../results/prebarrage-results";
 import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component";
 import { I18nService } from "../../services/internationalisation.service";
-import { FixedResultsComponent } from "../fixedvar-results/fixed-results.component";
+import { PbCloisonResultsComponent } from "./pb-cloison-results.component";
 import { FixedResults } from "../../results/fixed-results";
 
 import { Result } from "jalhyd";
@@ -32,8 +32,8 @@ export class PbResultsComponent implements DoCheck {
     @ViewChild(VariableResultsSelectorComponent)
     private variableResultsSelectorComponent: VariableResultsSelectorComponent;
 
-    @ViewChild(FixedResultsComponent)
-    private fixedResultsComponent: FixedResultsComponent;
+    @ViewChild(PbCloisonResultsComponent)
+    private pbCloisonResultsComponent: PbCloisonResultsComponent;
 
     @ViewChild("generalLog")
     private generalLogComponent: LogComponent;
@@ -79,8 +79,8 @@ export class PbResultsComponent implements DoCheck {
 
     /**
      * update results table and chart when the variable index changed (event sent by
-     * PabVariableResultsSelectorComponent); variable index is already set in
-     * pabResults at this time
+     * VariableResultsSelectorComponent); variable index is already set in
+     * pbResults at this time
      */
     public variableIndexChanged() {
         this.updateView();
@@ -99,8 +99,8 @@ export class PbResultsComponent implements DoCheck {
         if (this.variableResultsSelectorComponent) {
             this.variableResultsSelectorComponent.results = undefined;
         }
-        if (this.fixedResultsComponent) {
-            this.fixedResultsComponent.results = undefined;
+        if (this.pbCloisonResultsComponent) {
+            this.pbCloisonResultsComponent.results = undefined;
         }
         /* if (this.profileChartComponent) {
             this.profileChartComponent.results = undefined;
@@ -286,7 +286,7 @@ export class PbResultsComponent implements DoCheck {
         let pbTableUpdated: boolean;
         let profileChartUpdated: boolean;
         let selectorUpdated: boolean;
-        let fixedResultsUpdated: boolean;
+        let cloisonResultsUpdated: boolean;
 
         // results or not, there might be a log
         const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ?
@@ -320,25 +320,15 @@ export class PbResultsComponent implements DoCheck {
             profileChartUpdated = true;
         }
         if (this.hasWallResults) {
-            fixedResultsUpdated = this.fixedResultsComponent !== undefined;
-            if (fixedResultsUpdated) {
-                // trick to show only the result of a given iteration, without
-                // modifying FixedResultsComponent
-                const iterationResult = new FixedResults();
-                for (const fp of this._pbResults.cloisonResults.fixedParameters) {
-                    iterationResult.addFixedParameter(fp);
-                }
-                iterationResult.result = new Result(
-                    this._pbResults.cloisonResults.result.resultElements[this._pbResults.variableIndex],
-                    this._pbResults.cloisonResults.result.sourceNub
-                );
-                this.fixedResultsComponent.results = iterationResult;
+            cloisonResultsUpdated = this.pbCloisonResultsComponent !== undefined;
+            if (cloisonResultsUpdated) {
+                this.pbCloisonResultsComponent.results = this._pbResults.cloisonResults;
             }
         } else {
-            fixedResultsUpdated = true;
+            cloisonResultsUpdated = true;
         }
 
-        return pbTableUpdated && logUpdated && profileChartUpdated && selectorUpdated && fixedResultsUpdated;
+        return pbTableUpdated && logUpdated && profileChartUpdated && selectorUpdated && cloisonResultsUpdated;
     }
 
     public get uitextGeneralLogTitle(): string {
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index ca1d82ad5..debf7d04a 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -13,13 +13,12 @@ import {
 } from "jalhyd";
 
 import { FormulaireElement } from "../elements/formulaire-element";
-import { NgParameter, ParamRadioConfig } from "../elements/ngparam";
+import { NgParameter } from "../elements/ngparam";
 import { Field } from "../elements/field";
 import { StringMap } from "../../stringmap";
 import { FormulaireNode } from "../elements/formulaire-node";
 import { FieldSet } from "../elements/fieldset";
 import { FieldsetContainer } from "../elements/fieldset-container";
-import { SelectField } from "../elements/select-field";
 import { DeepFieldsetIterator } from "../form-iterator/deep-fieldset-iterator";
 import { TopFormulaireElementIterator } from "../form-iterator/top-element-iterator";
 import { CalculatorResults } from "../../results/calculator-results";
@@ -299,6 +298,11 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         return false;
     }
 
+    /**
+     * Trouve le Ngparameter correspondant au symbole "symbol", parmi tous les
+     * éléments du formulaire
+     * @param symbol string
+     */
     public getParamFromSymbol(symbol: string): NgParameter {
         for (const p of this.allFormElements) {
             if (p instanceof NgParameter) {
@@ -309,26 +313,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         }
     }
 
-    public getDisplayedParamFromState(st: ParamRadioConfig): NgParameter {
-        for (const p of this.allFormElements) {
-            if (p.isDisplayed && p instanceof NgParameter) {
-                if (p.radioState === st) {
-                    return p;
-                }
-            }
-        }
-    }
-
-    public getDisplayedParamListFromState(st: ParamRadioConfig): NgParameter[] {
-        const res = [];
-        for (const p of this.allFormElements) {
-            if (p.isDisplayed && p instanceof NgParameter && p.radioState === st) {
-                res.push(p);
-            }
-        }
-        return res;
-    }
-
     public getFieldById(id: string): Field {
         const res = this.getFormulaireNodeById(id);
         if (res instanceof Field) {
@@ -336,31 +320,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         }
     }
 
-    public getFieldsetById(id: string): FieldSet {
-        const res = this.getFormulaireNodeById(id);
-        if (res instanceof FieldSet) {
-            return res;
-        }
-    }
-
-    public getParameterValue(symbol: string): number {
-        for (const fs of this.allFieldsets) {
-            const p = fs.getNodeParameter(symbol);
-            if (p !== undefined) {
-                switch (p.radioState) {
-                    case ParamRadioConfig.FIX:
-                        return p.getValue();
-
-                    case ParamRadioConfig.VAR:
-                    case ParamRadioConfig.CAL:
-                        return undefined;
-                }
-            }
-        }
-
-        throw new Error(`Formulaire.getNodeParameterValue() : pas de paramètre ${symbol} trouvé`);
-    }
-
     protected notifyReset() {
         this.notifyObservers({
             "action": "resetForm"
@@ -385,26 +344,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         this.notifyReset();
     }
 
-    /**
-     * retourne la valeur actuellement sélectionnée d'un SelectField
-     * @param selectFieldId id du SelectField
-     * @returns valeur courante du select sans le préfixe
-     */
-    public getSelectedValue(selectFieldId: string): any {
-        const select: SelectField = <SelectField>this.getFieldById(selectFieldId);
-        return select.getValue().value;
-    }
-
-    /**
-     * retourne le label actuellement sélectionnée d'un SelectField
-     * @param selectFieldId id du SelectField
-     * @returns label courant du select
-     */
-    public getSelectedLabel(selectFieldId: string): string {
-        const select: SelectField = <SelectField>this.getFieldById(selectFieldId);
-        return select.getValue().label;
-    }
-
     public updateLocalisation(localisation: StringMap, lang: string) {
         this._specificLocalisation = localisation;
         this._currentLanguage = lang;
@@ -518,6 +457,17 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         return this._currentNub.findVariatedParams();
     }
 
+    /** find fixed (possibly linked) parameters from the given Nub */
+    public getFixedParameters(): NgParameter[] {
+        const fixedParams: ParamDefinition[] = this._currentNub.findFixedParams();
+        let fnp: NgParameter[] = [];
+        for (const fp of fixedParams) {
+            fnp.push(this.getParamFromSymbol(fp.symbol));
+        }
+        fnp = fnp.filter((e) => e !== undefined);
+        return fnp;
+    }
+
     /**
      * Triggers computation of the Nub, updates form results
      */
diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts
index d439b104a..ab2686541 100644
--- a/src/app/formulaire/definition/form-fixedvar.ts
+++ b/src/app/formulaire/definition/form-fixedvar.ts
@@ -41,15 +41,9 @@ export class FormulaireFixedVar extends FormulaireDefinition {
     }
 
     public addFixedParameters() {
-        for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.FIX)) {
+        for (const p of this.getFixedParameters()) {
             this._fixedResults.addFixedParameter(p);
         }
-
-        for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.LINK)) {
-            if (!p.paramDefinition.hasMultipleValues) {
-                this._fixedResults.addFixedParameter(p);
-            }
-        }
     }
 
     public set graphType(t: ChartType) {
diff --git a/src/app/formulaire/definition/form-prebarrage.ts b/src/app/formulaire/definition/form-prebarrage.ts
index 43f7900af..f6bc246a7 100644
--- a/src/app/formulaire/definition/form-prebarrage.ts
+++ b/src/app/formulaire/definition/form-prebarrage.ts
@@ -1,4 +1,4 @@
-import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage, VariatedDetails, ParamDefinition, ParamDomainValue } from "jalhyd";
+import { CalculatorType, PbBassin, PbCloison, IObservable, PreBarrage, VariatedDetails } from "jalhyd";
 
 import { FormulaireFixedVar } from "./form-fixedvar";
 import { PbSchema } from "../elements/pb-schema";
@@ -8,7 +8,7 @@ import { FormulairePbCloison } from "./form-pb-cloison";
 import { FieldsetContainer } from "../elements/fieldset-container";
 import { CalculatorResults } from "../../results/calculator-results";
 import { PrebarrageResults } from "../../results/prebarrage-results";
-import { NgParameter, ParamRadioConfig } from "../elements/ngparam";
+import { NgParameter } from "../elements/ngparam";
 import { longestVarParam } from "../../util";
 
 /**
@@ -25,6 +25,9 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     /** configuration for re-creating basin form every time needed */
     private basinFormConfig: string;
 
+    /** child form for walls */
+    private wallForm: FormulairePbCloison;
+
     /** configuration for re-creating wall form every time needed */
     private wallFormConfig: string;
 
@@ -138,18 +141,18 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             this.showFormElements(this.basinForm);
 
         } else if (node instanceof PbCloison) {
-            const wallForm = new FormulairePbCloison(this);
-            wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison;
-            wallForm.currentNub = node;
-            wallForm.preparseConfig(this.wallFormConfig);
-            wallForm.parseConfig(this.wallFormConfig);
+            this.wallForm = new FormulairePbCloison(this);
+            this.wallForm.defaultProperties["calcType"] = CalculatorType.PbCloison;
+            this.wallForm.currentNub = node;
+            this.wallForm.preparseConfig(this.wallFormConfig);
+            this.wallForm.parseConfig(this.wallFormConfig);
             // subscribe to upstream/downstream basin change
-            wallForm.addObserver(this); // @TODO why not this.form ? wallForm is just a dummy form to extract elements from…
-            ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(wallForm);
+            this.wallForm.addObserver(this); // @TODO why not this.form ? wallForm is just a dummy form to extract elements from…
+            ServiceFactory.instance.formulaireService.loadUpdateFormulaireLocalisation(this.wallForm);
             // add fieldsets for existing Structures
             if (node.structures.length > 0) {
                 for (const struct of node.structures) {
-                    for (const e of wallForm.allFormElements) {
+                    for (const e of this.wallForm.allFormElements) {
                         if (e instanceof FieldsetContainer) { // @TODO manage many containers one day ?
                             e.addFromTemplate(0, undefined, struct, { resetResults: false });
                         }
@@ -157,14 +160,14 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
                 }
             } else {
                 // if there was no existing structure, add a default one
-                for (const e of wallForm.allFormElements) {
+                for (const e of this.wallForm.allFormElements) {
                     if (e instanceof FieldsetContainer) {
                         e.addFromTemplate(0, undefined, undefined, { resetResults: false });
                         break;
                     }
                 }
             }
-            this.showFormElements(wallForm);
+            this.showFormElements(this.wallForm);
         }
         this.reaffectResultComponents();
     }
@@ -222,6 +225,7 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             this.pbResults.variatedParameters = varParams;
             const lvp = longestVarParam(this._pbResults.variatedParameters);
             this._pbResults.size = lvp.size;
+            this._pbResults.cloisonResults.size = lvp.size;
         }
 
         // résultats selon l'objet sélectionné sur le schéma
@@ -231,30 +235,19 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
             if (computedParam !== undefined) {
                 this.pbResults.cloisonResults.calculatedParameter = computedParam;
             }
-            // transmission des suffixes de cloisons calculés par l'algo de tri de PbSchemaComponent,
-            // pour le sélecteur de conditions limites
-        const pbs = this.kids[0] as PbSchema;
-            this.pbResults.wallsSuffixes = pbs.wallsSuffixes;
-            // astuce clodo : si un paramètre d'un ouvrage de cette cloison varie, on
-            // l'ajoute sous forme de faux paramètre fixe
-            /* for (const s of this._selectedItem.structures) {
+            // if some parameter is variating, add id too (trick with PbResultsComponent
+            for (const s of this._selectedItem.structures) {
                 for (const p of s.parameterIterator) {
                     if (p.hasMultipleValues) {
-                        this._pbResults.cloisonResults.addFixedParameter(
-                            new NgParameter(
-                                new ParamDefinition(
-                                    undefined,
-                                    p.symbol,
-                                    ParamDomainValue.ANY,
-                                    p.unit,
-                                    p.getInferredValuesList(this.pbResults.size)[this.pbResults.variableIndex]
-                                ),
-                                this
-                            )
-                        );
+                        const ngp = this.getParamFromSymbol(p.symbol);
+                        this._pbResults.cloisonResults.addFixedParameter(ngp);
                     }
                 }
-            } */
+            }
+            // transmission des suffixes de cloisons calculés par l'algo de tri de PbSchemaComponent,
+            // pour le sélecteur de conditions limites
+            const pbs = this.kids[0] as PbSchema;
+            this.pbResults.wallsSuffixes = pbs.wallsSuffixes;
         } else {
             // afficher les résultats des bassins
             // résultat général du Nub (amont, aval, débit)
@@ -268,13 +261,8 @@ export class FormulairePrebarrage extends FormulaireFixedVar {
     }
 
     public addFixedParameters() {
-        // @TODO lire dans le modèle !
-        for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.FIX)) {
-            this._pbResults.cloisonResults.addFixedParameter(p);
-        }
-
-        for (const p of this.getDisplayedParamListFromState(ParamRadioConfig.LINK)) {
-            if (!p.paramDefinition.hasMultipleValues) {
+        if (this.wallForm !== undefined) {
+            for (const p of this.wallForm.getFixedParameters()) {
                 this._pbResults.cloisonResults.addFixedParameter(p);
             }
         }
diff --git a/src/app/results/multidimension-results.ts b/src/app/results/multidimension-results.ts
index c3669acfd..44967427c 100644
--- a/src/app/results/multidimension-results.ts
+++ b/src/app/results/multidimension-results.ts
@@ -9,5 +9,14 @@ export class MultiDimensionResults extends CalculatedParamResults {
     public variatedParameters: VariatedDetails[];
 
     /** index de la valeur du paramètre varié à afficher dans les résultats */
-    public variableIndex = 0;
+    protected _variableIndex = 0;
+
+    public get variableIndex(): number {
+        return this._variableIndex;
+    }
+
+    /** redéfini par PrebarrageResults notamment */
+    public set variableIndex(v: number) {
+        this._variableIndex = v;
+    }
 }
diff --git a/src/app/results/pb-cloison-results.ts b/src/app/results/pb-cloison-results.ts
new file mode 100644
index 000000000..44524dfac
--- /dev/null
+++ b/src/app/results/pb-cloison-results.ts
@@ -0,0 +1,11 @@
+import { FixedResults } from "./fixed-results";
+
+/** Fixed results, that are not really fixed (trick for PreBarrage) */
+export class PbCloisonResults extends FixedResults {
+
+    /** index de la valeur du paramètre varié à afficher dans les résultats */
+    public variableIndex = 0;
+
+    /** size of the longest variating parameter */
+    public size = 1;
+}
diff --git a/src/app/results/prebarrage-results.ts b/src/app/results/prebarrage-results.ts
index fb92d9fb6..301b8248c 100644
--- a/src/app/results/prebarrage-results.ts
+++ b/src/app/results/prebarrage-results.ts
@@ -2,7 +2,7 @@ import { Result } from "jalhyd";
 
 import { ServiceFactory } from "../services/service-factory";
 import { MultiDimensionResults } from "./multidimension-results";
-import { FixedResults } from "./fixed-results";
+import { PbCloisonResults } from "./pb-cloison-results";
 
 export class PrebarrageResults extends MultiDimensionResults {
 
@@ -10,7 +10,7 @@ export class PrebarrageResults extends MultiDimensionResults {
     public bassinsResults: Result[];
 
     /** résultat de la cloison actuellement sélectionnée (nourrit le FixedResultsComponent) */
-    public cloisonResults: FixedResults;
+    public cloisonResults: PbCloisonResults;
 
     /** symboles des colonnes de résultat */
     protected _columns: string[];
@@ -57,10 +57,23 @@ export class PrebarrageResults extends MultiDimensionResults {
         });
     }
 
+    // redéfinir le set() implique de redéfinir le get(), sinon /i
+    public get variableIndex(): number {
+        return this._variableIndex;
+    }
+
+    public set variableIndex(v: number) {
+        this._variableIndex = v;
+        // set index in pseudo-fixed Cloison results too
+        this.cloisonResults.variableIndex = v;
+    }
+
     public reset() {
         super.reset();
         this.bassinsResults = [];
-        this.cloisonResults = new FixedResults();
+        this.cloisonResults = new PbCloisonResults();
+        this.cloisonResults.variableIndex = this._variableIndex;
+        this.cloisonResults.size = this.size;
         this.result = undefined;
     }
 
diff --git a/src/app/util.ts b/src/app/util.ts
index 9e306c5ef..0974a63da 100644
--- a/src/app/util.ts
+++ b/src/app/util.ts
@@ -1,7 +1,7 @@
 import { NgParameter } from "./formulaire/elements/ngparam";
 import { ServiceFactory } from "./services/service-factory";
 
-import { formattedValue, Nub, VariatedDetails, ParamDefinition } from "jalhyd";
+import { formattedValue, Nub, VariatedDetails, ParamDefinition, ParamValueMode } from "jalhyd";
 
 export function logObject(obj: {}, m?: string) {
     // évite le message "Value below was evaluated just now" dans le debugger de Chrome
@@ -31,6 +31,26 @@ export function fv(p: NgParameter | number): string {
     return formattedValue(value, nDigits);
 }
 
+/**
+ * Returns value at index i for parameter p, whether it is variating
+ * or not, calculated or not
+ * @param p parameter
+ * @param i index
+ */
+export function getIthValue(p: ParamDefinition, i: number, extendTo: number): string {
+    let value: number;
+    if (p.hasMultipleValues) {
+        if (p.valueMode === ParamValueMode.CALCUL) {
+            value = p.parentNub.result.resultElements[i].vCalc;
+        } else {
+            value = p.getInferredValuesList(extendTo)[i];
+        }
+    } else {
+        value = p.V;
+    }
+    return fv(value);
+}
+
 /**
  * Trick to decode HTML entities in a string
  * https://stackoverflow.com/a/7394787/5986614
diff --git a/src/styles.scss b/src/styles.scss
index 11ffd2a86..4f086079e 100644
--- a/src/styles.scss
+++ b/src/styles.scss
@@ -365,7 +365,7 @@ var-results {
     }
 }
 
-fixed-results {
+fixed-results, pb-cloison-results {
 
     table.mat-table {
 
-- 
GitLab


From 7487cecbe2da8406d44daef73e88a12bea13ec17 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 16 Jul 2020 14:14:38 +0200
Subject: [PATCH 103/117] PreBarrage: enhance Cloison results

---
 .../fixed-results.component.ts                | 34 ++++++++++++-------
 .../pb-cloison-results.component.ts           |  7 ++++
 src/app/results/prebarrage-results.ts         |  2 +-
 3 files changed, 29 insertions(+), 14 deletions(-)

diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts
index f369c26d6..d1cfd454e 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.ts
+++ b/src/app/components/fixedvar-results/fixed-results.component.ts
@@ -7,7 +7,7 @@ import { ResultsComponentDirective } from "./results.component";
 import { AppComponent } from "../../app.component";
 import { NgParameter } from "../../formulaire/elements/ngparam";
 
-import { capitalize } from "jalhyd";
+import { capitalize, Result, ResultElement } from "jalhyd";
 
 import { sprintf } from "sprintf-js";
 
@@ -114,17 +114,17 @@ export class FixedResultsComponent extends ResultsComponentDirective {
             if (
                 res
                 && res.resultElements.length > 0
-                && res.resultElement
-                && res.resultElement.count() > 0
+                && this.getResultElement(res)
+                && this.getResultElement(res).count() > 0
             ) {
                 const sn = this._fixedResults.result.sourceNub;
                 let found = false;
 
                 // 2.1 all results
-                for (const k of res.resultElement.keys) {
+                for (const k of this.getResultElement(res).keys) {
                     if (k === symbol) {
                         found = true;
-                        const er: number = res.resultElement.getValue(k);
+                        const er: number = this.getResultElement(res).getValue(k);
                         // calculator type for translation
                         let ct = sn.calcType;
                         if (sn.parent) {
@@ -152,9 +152,9 @@ export class FixedResultsComponent extends ResultsComponentDirective {
                 if (! found) {
                     for (const c of sn.getChildren()) {
                         if (c.result) {
-                            for (const k of c.result.resultElement.keys) {
+                            for (const k of this.getResultElement(c.result).keys) {
                                 if (k === symbol) {
-                                    const er: number = c.result.resultElement.getValue(k);
+                                    const er: number = this.getResultElement(c.result).getValue(k);
                                     // calculator type for translation
                                     let ct = sn.calcType;
                                     if (sn.parent) {
@@ -209,14 +209,14 @@ export class FixedResultsComponent extends ResultsComponentDirective {
         if (
             res
             && res.resultElements.length > 0
-            && res.resultElement
-            && res.resultElement.count() > 0
+            && this.getResultElement(res)
+            && this.getResultElement(res).count() > 0
         ) {
             const sn = this._fixedResults.result.sourceNub;
 
             // 2.1 all results
-            for (const k of res.resultElement.keys) {
-                const er: number = res.resultElement.getValue(k);
+            for (const k of this.getResultElement(res).keys) {
+                const er: number = this.getResultElement(res).getValue(k);
                 // calculator type for translation
                 let ct = sn.calcType;
                 if (sn.parent) {
@@ -242,8 +242,8 @@ export class FixedResultsComponent extends ResultsComponentDirective {
             // 2.2. children results
             for (const c of sn.getChildren()) {
                 if (c.result) {
-                    for (const k of c.result.resultElement.keys) {
-                        const er: number = c.result.resultElement.getValue(k);
+                    for (const k of this.getResultElement(c.result).keys) {
+                        const er: number = this.getResultElement(c.result).getValue(k);
                         // calculator type for translation
                         let ct = sn.calcType;
                         if (sn.parent) {
@@ -274,6 +274,14 @@ export class FixedResultsComponent extends ResultsComponentDirective {
         return this.formattedValue(fp);
     }
 
+    /**
+     * Retourne l'élément de résultat en cours pour le résultat donné;
+     * redéfini dans PbCloisonResultsComponent notamment
+     */
+    protected getResultElement(r: Result): ResultElement {
+        return r.resultElement;
+    }
+
     public exportAsSpreadsheet() {
         AppComponent.exportAsSpreadsheet(this.table.nativeElement, true);
     }
diff --git a/src/app/components/pb-results/pb-cloison-results.component.ts b/src/app/components/pb-results/pb-cloison-results.component.ts
index 404680865..0d2fe30cc 100644
--- a/src/app/components/pb-results/pb-cloison-results.component.ts
+++ b/src/app/components/pb-results/pb-cloison-results.component.ts
@@ -5,6 +5,8 @@ import { NgParameter } from "../../formulaire/elements/ngparam";
 import { getIthValue } from "../../util";
 import { PbCloisonResults } from "../../results/pb-cloison-results";
 
+import { Result, ResultElement } from "jalhyd";
+
 @Component({
     selector: "pb-cloison-results",
     templateUrl: "../fixedvar-results/fixed-results.component.html",
@@ -32,4 +34,9 @@ export class PbCloisonResultsComponent extends FixedResultsComponent {
         }
         return val;
     }
+
+    /** Retourne l'élément de résultat en cours, en fonction de l'index variable */
+    protected getResultElement(r: Result): ResultElement {
+        return r.resultElements[this.results.variableIndex];
+    }
 }
diff --git a/src/app/results/prebarrage-results.ts b/src/app/results/prebarrage-results.ts
index 301b8248c..36ad3f189 100644
--- a/src/app/results/prebarrage-results.ts
+++ b/src/app/results/prebarrage-results.ts
@@ -19,7 +19,7 @@ export class PrebarrageResults extends MultiDimensionResults {
     public size: number;
 
     /** Stores appropriate number suffix for a given wall uid (copied from PbSchema) */
-    public wallsSuffixes: { [key: string]: number };
+    public wallsSuffixes: { [key: string]: number } = {};
 
     public constructor() {
         super();
-- 
GitLab


From 939393c85d200e40a6b5c92da5b2b33af9b6c7ba Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 16 Jul 2020 14:14:58 +0200
Subject: [PATCH 104/117] e2e: add new tested calc types

---
 e2e/tested_calctypes.ts | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/e2e/tested_calctypes.ts b/e2e/tested_calctypes.ts
index e4eed0389..49b141aac 100644
--- a/e2e/tested_calctypes.ts
+++ b/e2e/tested_calctypes.ts
@@ -9,5 +9,6 @@ export const testedCalcTypes = [
     // omit 16 - CloisonAval
     17, 18, 19, 20, 21, 22, 23, 24, 25,
     // omit 26 - YAXN
-    27, 29
+    27, 28, 29, 30
+    // omit 31 - PbCloison and 32 - PbBassin
 ];
-- 
GitLab


From 51ee49d35b8bfd5979add0cc197fd46b009e91de Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 16 Jul 2020 14:16:43 +0200
Subject: [PATCH 105/117] Modules Diagram: fix blank diagram issue with
 PreBarrage

---
 .../modules-diagram.component.ts              | 66 ++++++++++---------
 1 file changed, 36 insertions(+), 30 deletions(-)

diff --git a/src/app/components/modules-diagram/modules-diagram.component.ts b/src/app/components/modules-diagram/modules-diagram.component.ts
index b701aeac9..363c9fd37 100644
--- a/src/app/components/modules-diagram/modules-diagram.component.ts
+++ b/src/app/components/modules-diagram/modules-diagram.component.ts
@@ -105,41 +105,47 @@ export class ModulesDiagramComponent implements AfterContentInit, AfterViewCheck
     }
 
     public ngAfterViewInit(): void {
-        // add click listener on every calculator node in the graph, that
-        // corresponds to an open module
-        this.nativeElement.querySelectorAll("g.node").forEach(item => {
-            if (item.id && this.formIsOpen(item.id)) {
-                item.style.cursor = "pointer";
-                item.addEventListener("click", () => {
-                    this.openCalc(item.id);
-                });
-            }
-        });
+        setTimeout(() => { // clodo trick
+            // add click listener on every calculator node in the graph, that
+            // corresponds to an open module
+            this.nativeElement.querySelectorAll("g.node").forEach(item => {
+                if (item.id && this.formIsOpen(item.id)) {
+                    item.style.cursor = "pointer";
+                    item.addEventListener("click", () => {
+                        this.openCalc(item.id);
+                    });
+                }
+            });
+        }, 20); // @WARNING keep timeout > the one in ngAfterContentInit() below
     }
 
     public ngAfterContentInit(): void {
         this.error = false;
-        mermaid.initialize({
-            // theme: "forest"
-            flowchart: {
-                curve: "basis"
-            }
-        });
-        this.nativeElement = this.diagram.nativeElement;
-
-        if (this.hasModules) {
-            // generate graph description
-            const graphDefinition = this.graphDefinition();
-            // draw
-            try {
-                mermaid.render("graphDiv", graphDefinition, (svgCode, bindFunctions) => {
-                    this.nativeElement.innerHTML = svgCode;
-                });
-            } catch (e) {
-                console.error(e);
-                this.error = true;
+        // clodo trick or displaying modules diagram coming from a
+        // PreBarrage module results in a blank diagram
+        setTimeout(() => {
+            mermaid.initialize({
+                // theme: "forest"
+                flowchart: {
+                    curve: "basis"
+                }
+            });
+            this.nativeElement = this.diagram.nativeElement;
+
+            if (this.hasModules) {
+                // generate graph description
+                const graphDefinition = this.graphDefinition();
+                // draw
+                try {
+                    mermaid.render("graphDiv", graphDefinition, (svgCode, bindFunctions) => {
+                        this.nativeElement.innerHTML = svgCode;
+                    });
+                } catch (e) {
+                    console.error(e);
+                    this.error = true;
+                }
             }
-        }
+        }, 10);
     }
 
     public resetZoom() {
-- 
GitLab


From 0144bbe2167d5356f6023c9874381e78fb5ca1ab Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Fri, 17 Jul 2020 12:25:39 +0200
Subject: [PATCH 106/117] English translations for PreBarrage

---
 src/app/calculators/pbcloison/en.json  |  1 +
 src/app/calculators/prebarrage/en.json | 26 +++++++++++++++++---------
 2 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/src/app/calculators/pbcloison/en.json b/src/app/calculators/pbcloison/en.json
index 2f9e94744..83f004a88 100644
--- a/src/app/calculators/pbcloison/en.json
+++ b/src/app/calculators/pbcloison/en.json
@@ -1,5 +1,6 @@
 {
     "fs_wall_params": "Wall parameters",
+    "fs_wall_device": "Device",
 
     "select_upstream_basin": "Upstream basin",
     "select_downstream_basin": "Downstream basin",
diff --git a/src/app/calculators/prebarrage/en.json b/src/app/calculators/prebarrage/en.json
index a8e5ea027..8fb6bf3da 100644
--- a/src/app/calculators/prebarrage/en.json
+++ b/src/app/calculators/prebarrage/en.json
@@ -1,12 +1,20 @@
 {
-    "fs_target": "Target parameter characteristics",
-    "fs_searched": "Searched parameter characteristics",
+    "fs_river_params": "River parameters",
 
-    "Ytarget": "Value of target parameter",
-    "Xinit": "Initial value for searched parameter",
-    "X": "Value for searched parameter",
+    "Q": "Flow",
+    "Z1": "Upstream water elevation",
+    "Z2": "Downstream water elevation",
 
-    "select_target_nub": "Module and parameter to calculate",
-    "select_target_result": "Targetted result",
-    "select_searched_param": "Searched parameter"
-}
\ No newline at end of file
+    "Z": "Water elevation",
+    "S": "Surface",
+    "ZF": "Bottom elevation",
+    "PV": "Dissipated power",
+    "YMOY": "Mean depth",
+
+    "UNIT_Q": "m³/s",
+    "UNIT_S": "m²",
+    "UNIT_Z": "m",
+    "UNIT_ZF": "m",
+    "UNIT_YMOY": "m",
+    "UNIT_PV": "W/m³"
+}
-- 
GitLab


From 2f42cdb5f030922b649fb7121db9ff91452fbd53 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Fri, 17 Jul 2020 14:18:33 +0200
Subject: [PATCH 107/117] Use TypeScript's "Optional Chaining" syntax

---
 .../fieldset-container/fieldset-container.component.ts    | 2 +-
 .../fixedvar-results/fixedvar-results.component.ts        | 2 +-
 src/app/components/jet-results/jet-results.component.ts   | 4 ++--
 src/app/components/log/log.component.ts                   | 4 ++--
 src/app/components/pab-table/pab-table.component.ts       | 8 ++++----
 src/app/components/pb-schema/pb-schema.component.ts       | 4 ++--
 .../components/remous-results/remous-results.component.ts | 6 +++---
 src/app/formulaire/definition/form-definition.ts          | 2 +-
 src/app/formulaire/definition/form-section-parametree.ts  | 6 +++---
 src/app/formulaire/elements/select-field.ts               | 4 ++--
 10 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/src/app/components/fieldset-container/fieldset-container.component.ts b/src/app/components/fieldset-container/fieldset-container.component.ts
index 65bdb84eb..45b87262e 100644
--- a/src/app/components/fieldset-container/fieldset-container.component.ts
+++ b/src/app/components/fieldset-container/fieldset-container.component.ts
@@ -126,7 +126,7 @@ export class FieldsetContainerComponent implements DoCheck, AfterViewInit {
     private updateValidity() {
         this._isValid = false;
 
-        if (this._fieldsetComponents !== undefined && this._fieldsetComponents.length > 0) {
+        if (this._fieldsetComponents?.length > 0) {
             this._isValid = this._fieldsetComponents.reduce(
                 // callback
                 (
diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.ts b/src/app/components/fixedvar-results/fixedvar-results.component.ts
index eb491d2d9..04136deb5 100644
--- a/src/app/components/fixedvar-results/fixedvar-results.component.ts
+++ b/src/app/components/fixedvar-results/fixedvar-results.component.ts
@@ -192,6 +192,6 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen
     }
 
     public get hasResults(): boolean {
-        return this._fixedResults !== undefined && this._fixedResults.hasResults;
+        return this._fixedResults?.hasResults;
     }
 }
diff --git a/src/app/components/jet-results/jet-results.component.ts b/src/app/components/jet-results/jet-results.component.ts
index 9d991de25..6cf08319c 100644
--- a/src/app/components/jet-results/jet-results.component.ts
+++ b/src/app/components/jet-results/jet-results.component.ts
@@ -18,9 +18,9 @@ export class JetResultsComponent extends FixedVarResultsComponent {
 
     public get hasResults(): boolean {
         return (
-            (this._fixedResults !== undefined && this._fixedResults.hasResults)
+            (this._fixedResults?.hasResults)
             ||
-            (this._varResults !== undefined && this._varResults.hasResults)
+            (this._varResults?.hasResults)
         );
     }
 
diff --git a/src/app/components/log/log.component.ts b/src/app/components/log/log.component.ts
index 622fdd914..350e544fe 100644
--- a/src/app/components/log/log.component.ts
+++ b/src/app/components/log/log.component.ts
@@ -34,11 +34,11 @@ export class LogComponent {
     }
 
     public get hasEntries(): boolean {
-        return this._log !== undefined && this._log.messages.length !== 0;
+        return this._log?.messages?.length > 0;
     }
 
     public get messages(): Message[] {
-        return this._log.messages;
+        return this._log?.messages;
     }
 
     public set log(log: cLog) {
diff --git a/src/app/components/pab-table/pab-table.component.ts b/src/app/components/pab-table/pab-table.component.ts
index a73cac1dd..d46aae632 100644
--- a/src/app/components/pab-table/pab-table.component.ts
+++ b/src/app/components/pab-table/pab-table.component.ts
@@ -94,7 +94,7 @@ export class PabTableComponent implements AfterViewInit, OnInit {
 
     /** returns true if the cell has an underlying model (ie. is editable) */
     public hasModel(cell: any): boolean {
-        return (cell !== undefined && cell.model !== undefined);
+        return (cell?.model !== undefined);
     }
 
     /** returns true if the cell is an editable number */
@@ -122,7 +122,7 @@ export class PabTableComponent implements AfterViewInit, OnInit {
 
     /** "title" tooltip to display in a cell */
     public cellTitle(cell: any) {
-        if (cell !== undefined && cell.title !== undefined) {
+        if (cell?.title !== undefined) {
             return cell.title;
         } else {
             return "";
@@ -130,14 +130,14 @@ export class PabTableComponent implements AfterViewInit, OnInit {
     }
 
     public rowSpan(cell: any) {
-        if (cell !== undefined && cell.rowspan) {
+        if (cell?.rowspan) {
             return cell.rowspan;
         }
         return undefined;
     }
 
     public colSpan(cell: any) {
-        if (cell !== undefined && cell.colspan) {
+        if (cell?.colspan) {
             return cell.colspan;
         }
         return undefined;
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index 735e7dea7..7a9ed20fe 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -326,11 +326,11 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         // automatic child addition when clearing children)
         if (this._selectedItem instanceof PbCloison) {
             // if no downstream connections remain, connect to river downstream
-            if (this._selectedItem.bassinAmont !== undefined && this._selectedItem.bassinAmont.cloisonsAval.length === 0) {
+            if (this._selectedItem.bassinAmont?.cloisonsAval.length === 0) {
                 this.model.addChild(new PbCloison(this._selectedItem.bassinAmont, undefined));
             }
             // if no upstream connections remain, connect to river upstream
-            if (this._selectedItem.bassinAval !== undefined && this._selectedItem.bassinAval.cloisonsAmont.length === 0) {
+            if (this._selectedItem.bassinAval?.cloisonsAmont.length === 0) {
                 this.model.addChild(new PbCloison(undefined, this._selectedItem.bassinAval));
             }
         }
diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts
index 1e2f8d7b3..c526dd676 100644
--- a/src/app/components/remous-results/remous-results.component.ts
+++ b/src/app/components/remous-results/remous-results.component.ts
@@ -147,7 +147,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
     }
 
     public get hasResults(): boolean {
-        return this._remousResults !== undefined && this._remousResults.hasResults;
+        return this._remousResults?.hasResults;
     }
 
     public get hasData(): boolean {
@@ -320,7 +320,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
         }
 
         // hauteur normale
-        if (this._remousResults.hautNormale !== undefined && this._remousResults.hautNormale.ok) {
+        if (this._remousResults.hautNormale?.ok) {
             const Yn = this._remousResults.hautNormale.vCalc;
             gr1.drawSimpleLine(Yn + ZF1, Yn + ZF2,
                 5, "#A4C537", this.uitextTirantNormal
@@ -328,7 +328,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
         }
 
         // hauteur critique
-        if (this._remousResults.hautCritique !== undefined && this._remousResults.hautCritique.ok) {
+        if (this._remousResults.hautCritique?.ok) {
             const Yc = this._remousResults.hautCritique.vCalc;
             gr1.drawSimpleLine(Yc + ZF1, Yc + ZF2,
                 6, "#FF0000", this.uitextTirantCritique
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index debf7d04a..855046710 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -354,7 +354,7 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
 
     public isDisplayed(id: string) {
         const fe = <FormulaireElement>this.getFormulaireNodeById(id);
-        return fe !== undefined && fe.isDisplayed;
+        return fe?.isDisplayed;
     }
 
     /**
diff --git a/src/app/formulaire/definition/form-section-parametree.ts b/src/app/formulaire/definition/form-section-parametree.ts
index b1d6dcf4a..743880b5d 100644
--- a/src/app/formulaire/definition/form-section-parametree.ts
+++ b/src/app/formulaire/definition/form-section-parametree.ts
@@ -55,9 +55,9 @@ export class FormulaireSectionParametree extends FormulaireSection {
     }
 
     public get hasResults(): boolean {
-        return (this._fixedResults !== undefined && this._fixedResults.hasResults)
-            || (this._varResults !== undefined && this._varResults.hasResults)
-            || (this._sectionResults !== undefined && this._sectionResults.hasResults);
+        return (this._fixedResults?.hasResults)
+            || (this._varResults?.hasResults)
+            || (this._sectionResults?.hasResults);
     }
 
     public get results(): CalculatorResults[] {
diff --git a/src/app/formulaire/elements/select-field.ts b/src/app/formulaire/elements/select-field.ts
index f43004c79..f7ad648b9 100644
--- a/src/app/formulaire/elements/select-field.ts
+++ b/src/app/formulaire/elements/select-field.ts
@@ -158,7 +158,7 @@ export class SelectField extends Field {
             case "solveur_targetted_result":
                 // 1. calculated param
                 const ntc = (nub as Solveur).nubToCalculate;
-                if (ntc !== undefined && ntc.calculatedParam !== undefined) { // some nubs have no calculatedParam, for ex. SectionParam
+                if (ntc?.calculatedParam !== undefined) { // some nubs have no calculatedParam, for ex. SectionParam
                     const varName = ServiceFactory.instance.formulaireService.expandVariableName(ntc.calcType, ntc.calculatedParam.symbol);
                     this.addEntry(new SelectEntry(
                         this._entriesBaseId + "none",
@@ -167,7 +167,7 @@ export class SelectField extends Field {
                     ));
                 }
                 // 2. extra results
-                if (ntc !== undefined && ntc.resultsFamilies !== undefined) {
+                if (ntc?.resultsFamilies !== undefined) {
                     for (const er of Object.keys(ntc.resultsFamilies)) {
                         const varName = ServiceFactory.instance.formulaireService.expandVariableName(ntc.calcType, er);
                         const e: SelectEntry = new SelectEntry(
-- 
GitLab


From c74c6510eef603b81ad71e2024da11cc9d8abe26 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Fri, 17 Jul 2020 15:35:54 +0200
Subject: [PATCH 108/117] Fix language code detection for more than 2 letters
 codes

---
 src/app/services/internationalisation.service.ts | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/app/services/internationalisation.service.ts b/src/app/services/internationalisation.service.ts
index bac781614..6a1a79e7e 100644
--- a/src/app/services/internationalisation.service.ts
+++ b/src/app/services/internationalisation.service.ts
@@ -55,11 +55,12 @@ export class I18nService extends Observable implements Observer {
     /**
      * Defines the current language code from its ISO 639-1 code (2 characters) or locale code
      * (ex: "fr", "en", "fr_FR", "en-US")
-     * @see this.languageCodeFromLocaleCode()
      *
      * @param code ISO 639-1 language code
      */
     public async setLanguage(code: string) {
+        // ensure 2-letter language code
+        code = code.substring(0, 2);
         // is language supported ?
         if (! Object.keys(this._availableLanguages).includes(code)) {
             throw new Error(`LANGUAGE_UNSUPPORTED "${code}"`);
-- 
GitLab


From 8cf2c1110d3df0afe1b394c0d4667b5e0abdd091 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Fri, 17 Jul 2020 15:37:18 +0200
Subject: [PATCH 109/117] Update e2e calculate-all-params for PreBarrage

---
 e2e/calculate-all-params.e2e-spec.ts | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/e2e/calculate-all-params.e2e-spec.ts b/e2e/calculate-all-params.e2e-spec.ts
index e250d6aac..83f4f0a18 100644
--- a/e2e/calculate-all-params.e2e-spec.ts
+++ b/e2e/calculate-all-params.e2e-spec.ts
@@ -2,7 +2,7 @@ import { ListPage } from "./list.po";
 import { CalculatorPage } from "./calculator.po";
 import { Navbar } from "./navbar.po";
 import { PreferencesPage } from "./preferences.po";
-import { browser } from "protractor";
+import { browser, element, by, ElementFinder } from "protractor";
 import { testedCalcTypes } from "./tested_calctypes";
 
 /**
@@ -69,6 +69,15 @@ describe("ngHyd − calculate all parameters of all calculators", async () => {
             // check that result is not empty
             const hasResults = await calcPage.hasResults();
             expect(hasResults).toBe(true);
+            // for PreBarrage only: go back to "input" view after results are displayed,
+            // or input parameters will stay hidden
+            if (ct === 30) {
+              const inputResultsSwitchLinks = element.all(by.css("#pb-data-results-selector a"));
+              const inputLink = inputResultsSwitchLinks.get(0);
+              await browser.executeScript("window.scrollTo(0, 0);");
+              await inputLink.click();
+              await browser.sleep(2000);
+            }
           }
         } else {
           // module has no calculable params, just click the "compute" button
-- 
GitLab


From e4330dffd448baef5a7d4675b8d5657962f002d1 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Fri, 17 Jul 2020 14:18:33 +0200
Subject: [PATCH 110/117] Use TypeScript's "Optional Chaining" syntax

---
 src/app/components/log/log.component.ts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/app/components/log/log.component.ts b/src/app/components/log/log.component.ts
index 350e544fe..18da5657c 100644
--- a/src/app/components/log/log.component.ts
+++ b/src/app/components/log/log.component.ts
@@ -34,7 +34,7 @@ export class LogComponent {
     }
 
     public get hasEntries(): boolean {
-        return this._log?.messages?.length > 0;
+        return this._log?.messages?.length !== 0;
     }
 
     public get messages(): Message[] {
-- 
GitLab


From b8fd09bc4f62aab6206fc96e37fcd11c85189c6e Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Thu, 16 Jul 2020 16:10:47 +0200
Subject: [PATCH 111/117] Fix #418 - use proper Angular mechanisms in results
 components

---
 .../calculator-results.component.html         |  14 +-
 .../calculator-results.component.ts           |  96 ++--------
 .../fixed-results.component.ts                |   3 +-
 .../fixedvar-results.component.html           |   4 +-
 .../fixedvar-results.component.ts             | 105 +---------
 .../fixedvar-results/var-results.component.ts |   3 +-
 .../jet-results/jet-results.component.html    |   4 +-
 .../jet-results/jet-results.component.ts      |  44 +----
 .../jet-trajectory-chart.component.ts         |   5 +-
 src/app/components/log/log.component.html     |   2 +-
 src/app/components/log/log.component.ts       |  13 +-
 ...rorugo-compound-results-table.component.ts |  37 ++--
 .../macrorugo-compound-results.component.html |  12 +-
 .../macrorugo-compound-results.component.ts   | 114 +----------
 .../pab-profile-chart.component.ts            |   3 +-
 .../pab-results-table.component.ts            |  57 +++---
 .../pab-results/pab-results.component.html    |  14 +-
 .../pab-results/pab-results.component.ts      | 123 +-----------
 .../pb-cloison-results.component.ts           |   3 +-
 .../pb-results/pb-results-table.component.ts  |   3 +-
 .../pb-results/pb-results.component.html      |  10 +-
 .../pb-results/pb-results.component.ts        | 181 +-----------------
 .../remous-results.component.html             |   4 +-
 .../remous-results.component.ts               |  84 +++-----
 .../results-chart/results-chart.component.ts  |   8 +-
 .../section-results.component.ts              |  33 +---
 .../variable-results-selector.component.ts    |  55 +++---
 src/app/results/multidimension-results.ts     |   2 +-
 src/app/results/var-results.ts                |   6 +-
 29 files changed, 227 insertions(+), 815 deletions(-)

diff --git a/src/app/components/calculator-results/calculator-results.component.html b/src/app/components/calculator-results/calculator-results.component.html
index 8f454d811..bcff4069a 100644
--- a/src/app/components/calculator-results/calculator-results.component.html
+++ b/src/app/components/calculator-results/calculator-results.component.html
@@ -1,9 +1,9 @@
 <div>
-    <section-results></section-results>
-    <remous-results></remous-results>
-    <pab-results></pab-results>
-    <pb-results></pb-results>
-    <macrorugo-compound-results></macrorugo-compound-results>
-    <jet-results></jet-results>
-    <fixedvar-results></fixedvar-results>
+    <section-results [results]=formResultsArray></section-results>
+    <remous-results [results]=formResultsArray></remous-results>
+    <pab-results [results]=formResultsArray></pab-results>
+    <pb-results [results]=formResultsArray></pb-results>
+    <macrorugo-compound-results [results]=formResultsArray></macrorugo-compound-results>
+    <jet-results *ngIf="isJet" [results]=formResultsArray></jet-results>
+    <fixedvar-results *ngIf="! isJet" [results]=formResultsArray></fixedvar-results>
 </div>
diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts
index 1965eae43..adece2665 100644
--- a/src/app/components/calculator-results/calculator-results.component.ts
+++ b/src/app/components/calculator-results/calculator-results.component.ts
@@ -1,14 +1,8 @@
-import { Component, ViewChild, Output, EventEmitter, AfterViewChecked, Inject, forwardRef } from "@angular/core";
+import { Component, Output, EventEmitter, AfterViewChecked, Inject, forwardRef } from "@angular/core";
 
-import { FixedVarResultsComponent } from "../../components/fixedvar-results/fixedvar-results.component";
-import { SectionResultsComponent } from "../../components/section-results/section-results.component";
-import { RemousResultsComponent } from "../../components/remous-results/remous-results.component";
-import { PabResultsComponent } from "../../components/pab-results/pab-results.component";
-import { MacrorugoCompoundResultsComponent } from "../macrorugo-compound-results/macrorugo-compound-results.component";
 import { FormulaireDefinition } from "../../formulaire/definition/form-definition";
-import { JetResultsComponent } from "../jet-results/jet-results.component";
+import { CalculatorResults } from "../../results/calculator-results";
 import { GenericCalculatorComponent } from "../generic-calculator/calculator.component";
-import { PbResultsComponent } from "../pb-results/pb-results.component";
 
 @Component({
     selector: "calc-results",
@@ -18,51 +12,7 @@ export class CalculatorResultsComponent implements AfterViewChecked {
 
     private _formulaire: FormulaireDefinition;
 
-    /**
-     * composant d'affichage des résultats de paramètres fixés/variables
-     */
-    @ViewChild(FixedVarResultsComponent, { static: true })
-    private fixedVarResultsComponent: FixedVarResultsComponent;
-
-    /**
-     * composant d'affichage des résultats des sections paramétrées
-     */
-    @ViewChild(SectionResultsComponent, { static: true })
-    private sectionResultsComponent: SectionResultsComponent;
-
-    /**
-     * composant d'affichage des résultats des courbes de remous
-     */
-    @ViewChild(RemousResultsComponent, { static: true })
-    private remousResultsComponent: RemousResultsComponent;
-
-    /**
-     * composant d'affichage des résultats des passes à bassins
-     */
-    @ViewChild(PabResultsComponent, { static: true })
-    private pabResultsComponent: PabResultsComponent;
-
-    /**
-     * composant d'affichage des résultats des prébarrages
-     */
-    @ViewChild(PbResultsComponent, { static: true })
-    private pbResultsComponent: PbResultsComponent;
-
-    /**
-     * composant d'affichage des résultats des passes à macrorugosités complexes
-     */
-    @ViewChild(MacrorugoCompoundResultsComponent, { static: true })
-    private mrcResultsComponent: MacrorugoCompoundResultsComponent;
-
-    /**
-     * composant d'affichage des résultats des impacts de jet
-     */
-    @ViewChild(JetResultsComponent, { static: true })
-    private jetResultsComponent: JetResultsComponent;
-
-    /**
-     * événement émis à la fin du dessin de la vue
-     */
+    /** notify CalculatorComponent that it may scroll down to results panel */
     @Output()
     private afterViewChecked = new EventEmitter();
 
@@ -72,46 +22,28 @@ export class CalculatorResultsComponent implements AfterViewChecked {
 
     public set formulaire(f: FormulaireDefinition) {
         this._formulaire = f;
-        if (this._formulaire === undefined) {
-            this.fixedVarResultsComponent.results = undefined;
-            this.sectionResultsComponent.results = undefined;
-            this.remousResultsComponent.results = undefined;
-            this.pabResultsComponent.results = undefined;
-            this.pbResultsComponent.results = undefined;
-            this.mrcResultsComponent.results = undefined;
-            this.jetResultsComponent.results = undefined;
-        } else {
-            this.sectionResultsComponent.results = f.results;
-            this.remousResultsComponent.results = f.results;
-            this.pabResultsComponent.results = f.results;
-            this.pbResultsComponent.results = f.results;
-            this.mrcResultsComponent.results = f.results;
-            // FixedVar and Jet are mutually incompatible (the 2nd extend the 1st)
-            if (this.isJet) {
-                this.jetResultsComponent.results = f.results;
-                this.fixedVarResultsComponent.results = undefined;
-            } else {
-                this.fixedVarResultsComponent.results = f.results;
-                this.jetResultsComponent.results = undefined;
-            }
+    }
+
+    public get formResultsArray(): CalculatorResults[] {
+        let r: CalculatorResults[] = [];
+        if (this._formulaire !== undefined) {
+            r = this._formulaire.results;
         }
+        return r;
     }
 
     public updateView() {
-        this.fixedVarResultsComponent.updateView();
-        this.sectionResultsComponent.updateView();
-        this.remousResultsComponent.updateView();
-        this.pabResultsComponent.updateView();
-        this.pbResultsComponent.updateView();
-        this.mrcResultsComponent.updateView();
-        this.jetResultsComponent.updateView();
+        console.log("UPDATE VIEW (disabled)");
     }
 
     public ngAfterViewChecked() {
         this.afterViewChecked.emit();
     }
 
+    // JetResultsComponent extends FixedVarResultsComponent, which makes
+    // them incompatible with each other
     public get isJet() {
         return this.calculatorComponent.isJet;
     }
+
 }
diff --git a/src/app/components/fixedvar-results/fixed-results.component.ts b/src/app/components/fixedvar-results/fixed-results.component.ts
index d1cfd454e..ccd3040d2 100644
--- a/src/app/components/fixedvar-results/fixed-results.component.ts
+++ b/src/app/components/fixedvar-results/fixed-results.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ElementRef } from "@angular/core";
+import { Component, ViewChild, ElementRef, Input } from "@angular/core";
 
 import { FixedResults } from "../../results/fixed-results";
 import { I18nService } from "../../services/internationalisation.service";
@@ -35,6 +35,7 @@ export class FixedResultsComponent extends ResultsComponentDirective {
         super();
     }
 
+    @Input()
     public set results(r: FixedResults) {
         this._fixedResults = r;
     }
diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.html b/src/app/components/fixedvar-results/fixedvar-results.component.html
index 7676b0268..6c2d779be 100644
--- a/src/app/components/fixedvar-results/fixedvar-results.component.html
+++ b/src/app/components/fixedvar-results/fixedvar-results.component.html
@@ -1,8 +1,8 @@
 <div class="container">
     <!-- journal -->
-    <log></log>
+    <log [log]=mergedGlobalLogs></log>
 
-    <results-chart [hidden]="! showVarResultsChart"></results-chart>
+    <results-chart [hidden]="! showVarResultsChart" [results]=varResults></results-chart>
 
     <div>
         <!-- table des résultats fixés -->
diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.ts b/src/app/components/fixedvar-results/fixedvar-results.component.ts
index 04136deb5..b80300bad 100644
--- a/src/app/components/fixedvar-results/fixedvar-results.component.ts
+++ b/src/app/components/fixedvar-results/fixedvar-results.component.ts
@@ -1,14 +1,9 @@
-import { Component, ViewChild, DoCheck } from "@angular/core";
+import { Component, Input } from "@angular/core";
 
-import { LogComponent } from "../../components/log/log.component";
 import { FixedResults } from "../../results/fixed-results";
 import { VarResults } from "../../results/var-results";
-import { ResultsChartComponent } from "../results-chart/results-chart.component";
 import { CalculatorResults } from "../../results/calculator-results";
 import { Result, cLog } from "jalhyd";
-import { NgParameter } from "../../formulaire/elements/ngparam";
-import { FixedResultsComponent } from "./fixed-results.component";
-import { VarResultsComponent } from "./var-results.component";
 import { ResultsComponentDirective } from "./results.component";
 
 @Component({
@@ -18,36 +13,14 @@ import { ResultsComponentDirective } from "./results.component";
         "./fixedvar-results.component.scss"
     ]
 })
-export class FixedVarResultsComponent extends ResultsComponentDirective implements DoCheck {
+export class FixedVarResultsComponent extends ResultsComponentDirective {
     /**
      * résultats non mis en forme
      */
     protected _fixedResults: FixedResults;
     protected _varResults: VarResults;
 
-    /**
-     * true si les résultats doiventt être remis à jour
-     */
-    protected _doUpdate = false;
-
-    @ViewChild(FixedResultsComponent)
-    private fixedResultsComponent: FixedResultsComponent;
-
-    @ViewChild(VarResultsComponent)
-    private varResultsComponent: VarResultsComponent;
-
-    /**
-     * composant journal
-     */
-    @ViewChild(LogComponent)
-    private logComponent: LogComponent;
-
-    /**
-     * graphique dans le cas d'un paramètre à varier
-     */
-    @ViewChild(ResultsChartComponent)
-    private resultsChartComponent: ResultsChartComponent;
-
+    @Input()
     public set results(rs: CalculatorResults[]) {
         this._fixedResults = undefined;
         this._varResults = undefined;
@@ -60,40 +33,6 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen
                 }
             }
         }
-        this.updateView();
-    }
-
-    public updateView() {
-        if (this.logComponent) {
-            this.logComponent.log = undefined;
-        }
-        if (this.fixedResultsComponent) {
-            this.fixedResultsComponent.results = undefined;
-        }
-        if (this.varResultsComponent) {
-            this.varResultsComponent.results = undefined;
-        }
-        if (this.resultsChartComponent) {
-            this.resultsChartComponent.results = undefined;
-        }
-
-        // set _doUpdate flag so that results are rebuilt on the next Angular display cycle
-        this._doUpdate = false;
-        if (this._fixedResults !== undefined) {
-            this._doUpdate = this._fixedResults.hasResults || this._fixedResults.hasLog;
-        }
-        if (this._varResults !== undefined) {
-            this._doUpdate = this._doUpdate || this._varResults.hasResults || this._varResults.hasLog;
-        }
-    }
-
-    public ngDoCheck() {
-        if (this._doUpdate) {
-            // clodo trick @see nghyd#308
-            setTimeout(() => {
-                this._doUpdate = !this.updateResults();
-            }, 10);
-        }
     }
 
     private mergeLog(result: Result, log: cLog) {
@@ -106,7 +45,7 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen
         }
     }
 
-    private get mergedGlobalLogs(): cLog {
+    public get mergedGlobalLogs(): cLog {
         const res = new cLog();
         if (this._fixedResults) {
             this.mergeLog(this._fixedResults.result, res);
@@ -117,42 +56,6 @@ export class FixedVarResultsComponent extends ResultsComponentDirective implemen
         return res;
     }
 
-    /**
-     * met à jour l'affichage des résultats
-     * @returns true si les résultats ont pu être mis à jour
-     */
-    protected updateResults() {
-        const fixedUpdated = this._fixedResults !== undefined && this.fixedResultsComponent !== undefined;
-        if (fixedUpdated) {
-            this.fixedResultsComponent.results = this._fixedResults;
-        }
-
-        let graphUpdated: boolean;
-        let varUpdated: boolean;
-        if (this._varResults && this._varResults.hasResults) {
-            varUpdated = this.varResultsComponent !== undefined;
-            if (varUpdated) {
-                this.varResultsComponent.results = this._varResults;
-            }
-
-            graphUpdated = this.resultsChartComponent !== undefined;
-            if (graphUpdated) {
-                this.resultsChartComponent.results = this._varResults;
-                this.resultsChartComponent.updateView();
-            }
-        } else {
-            varUpdated = true;
-            graphUpdated = true;
-        }
-
-        const logUpdated = this.logComponent !== undefined;
-        if (logUpdated) {
-            this.logComponent.log = this.mergedGlobalLogs;
-        }
-
-        return fixedUpdated && varUpdated && logUpdated && graphUpdated;
-    }
-
     /**
      * affichage de la table des résultats fixés
      */
diff --git a/src/app/components/fixedvar-results/var-results.component.ts b/src/app/components/fixedvar-results/var-results.component.ts
index d1ba56c32..7493401d2 100644
--- a/src/app/components/fixedvar-results/var-results.component.ts
+++ b/src/app/components/fixedvar-results/var-results.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ElementRef } from "@angular/core";
+import { Component, ViewChild, ElementRef, Input } from "@angular/core";
 
 import { MatDialog } from "@angular/material/dialog";
 
@@ -45,6 +45,7 @@ export class VarResultsComponent extends ResultsComponentDirective {
     }
 
     /** Refreshes results and builds the dataset */
+    @Input()
     public set results(r: VarResults) {
         this._varResults = r;
         this._results = [];
diff --git a/src/app/components/jet-results/jet-results.component.html b/src/app/components/jet-results/jet-results.component.html
index ee434e04f..1acaf47ff 100644
--- a/src/app/components/jet-results/jet-results.component.html
+++ b/src/app/components/jet-results/jet-results.component.html
@@ -2,9 +2,9 @@
     <!-- journal -->
     <log></log>
 
-    <results-chart *ngIf="showVarResults" [hidden]="! showVarResultsChart"></results-chart>
+    <results-chart *ngIf="showVarResults" [hidden]="! showVarResultsChart" [results]=varResults></results-chart>
 
-    <jet-trajectory-chart [hidden]="! hasValidResults"></jet-trajectory-chart>
+    <jet-trajectory-chart [hidden]="! hasValidResults" [results]=trajectoryResults></jet-trajectory-chart>
 
     <div>
         <!-- table des résultats fixés -->
diff --git a/src/app/components/jet-results/jet-results.component.ts b/src/app/components/jet-results/jet-results.component.ts
index 6cf08319c..0374ea4ac 100644
--- a/src/app/components/jet-results/jet-results.component.ts
+++ b/src/app/components/jet-results/jet-results.component.ts
@@ -1,7 +1,8 @@
-import { Component, ViewChild } from "@angular/core";
+import { Component } from "@angular/core";
 
 import { FixedVarResultsComponent } from "../fixedvar-results/fixedvar-results.component";
-import { JetTrajectoryChartComponent } from "../jet-trajectory-chart/jet-trajectory-chart.component";
+import { FixedResults } from "../../results/fixed-results";
+import { VarResults } from "../../results/var-results";
 
 @Component({
     selector: "jet-results",
@@ -12,10 +13,6 @@ import { JetTrajectoryChartComponent } from "../jet-trajectory-chart/jet-traject
 })
 export class JetResultsComponent extends FixedVarResultsComponent {
 
-    /** graphique de trajectoire */
-    @ViewChild(JetTrajectoryChartComponent)
-    private jetTrajectoryChartComponent: JetTrajectoryChartComponent;
-
     public get hasResults(): boolean {
         return (
             (this._fixedResults?.hasResults)
@@ -32,34 +29,13 @@ export class JetResultsComponent extends FixedVarResultsComponent {
         );
     }
 
-    public updateView() {
-        if (this.jetTrajectoryChartComponent) {
-            this.jetTrajectoryChartComponent.results = undefined;
+    public get trajectoryResults(): FixedResults | VarResults {
+        // draw chart whether params are variating or not,
+        // hence different Results object for each case
+        if (this._varResults && this._varResults.hasResults) {
+            return this._varResults;
+        } else {
+            return this._fixedResults;
         }
-        super.updateView();
-    }
-
-    /**
-     * met à jour l'affichage des résultats
-     * @returns true si les résultats ont pu être mis à jour
-     */
-    protected updateResults() {
-        const superUpdated = super.updateResults();
-
-        let trajectoryChartUpdated: boolean;
-        trajectoryChartUpdated = this.jetTrajectoryChartComponent !== undefined;
-
-        if (trajectoryChartUpdated) {
-            // draw chart whether params are variating or not,
-            // hence different Results object for each case
-            if (this._varResults && this._varResults.hasResults) {
-                this.jetTrajectoryChartComponent.results = this._varResults;
-            } else {
-                this.jetTrajectoryChartComponent.results = this._fixedResults;
-            }
-            this.jetTrajectoryChartComponent.updateView();
-        }
-
-        return superUpdated && trajectoryChartUpdated;
     }
 }
diff --git a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
index 960cda6bd..f4ee238a0 100644
--- a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
+++ b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ChangeDetectorRef } from "@angular/core";
+import { Component, ViewChild, ChangeDetectorRef, Input } from "@angular/core";
 
 import { ChartComponent } from "angular2-chartjs";
 
@@ -132,7 +132,9 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective {
         }, 10);
     }
 
+    @Input()
     public set results(r: FixedResults | VarResults) {
+        console.log("miam miam les bons résultats !", r);
         this.forceRebuild(); // used for forcing redefinition of xAxes[0].ticks.min/max in generateScatterChart()
         this._results = r;
 
@@ -171,6 +173,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective {
     }
 
     public updateView() {
+        console.log("----> regenerate trajectory chart !!");
         this.generateScatterChart();
     }
 
diff --git a/src/app/components/log/log.component.html b/src/app/components/log/log.component.html
index 4d3d0424a..5920817ec 100644
--- a/src/app/components/log/log.component.html
+++ b/src/app/components/log/log.component.html
@@ -3,6 +3,6 @@
         <!-- titre -->
         <div class="titre">{{ uitextTitreJournal }}</div>
         <!-- entrées du journal -->
-        <log-entry *ngFor="let m of messages" [_message]="m"></log-entry>
+        <log-entry *ngFor="let m of _log?.messages" [_message]="m"></log-entry>
     </div>
 </div>
diff --git a/src/app/components/log/log.component.ts b/src/app/components/log/log.component.ts
index 18da5657c..5235954b2 100644
--- a/src/app/components/log/log.component.ts
+++ b/src/app/components/log/log.component.ts
@@ -34,13 +34,18 @@ export class LogComponent {
     }
 
     public get hasEntries(): boolean {
-        return this._log?.messages?.length !== 0;
+        return this._log?.messages?.length > 0;
     }
 
-    public get messages(): Message[] {
-        return this._log?.messages;
-    }
+    /* public get messages(): Message[] {
+        let m: Message[] = [];
+        if (this._log !== undefined) {
+            m = this._log.messages;
+        }
+        return m;
+    } */
 
+    @Input()
     public set log(log: cLog) {
         this._log = log;
     }
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results-table.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results-table.component.ts
index abe858dcc..bf70492bf 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results-table.component.ts
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results-table.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ElementRef } from "@angular/core";
+import { Component, ViewChild, ElementRef, Input, OnChanges } from "@angular/core";
 
 import { MacroRugo } from "jalhyd";
 
@@ -15,10 +15,15 @@ import { AppComponent } from "../../app.component";
         "./macrorugo-compound-results-table.component.scss"
     ]
 })
-export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDirective {
+export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDirective implements OnChanges {
 
     /** résultats non mis en forme */
-    private _mrcResults: MacrorugoCompoundResults;
+    @Input()
+    public results: MacrorugoCompoundResults;
+
+    /** index de l'élément de résultat à afficher (modifié par le sélecteur de conditions limites) */
+    @Input()
+    public variableIndex = 0;
 
     /** entêtes des colonnes */
     private _headers: string[];
@@ -36,21 +41,19 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire
         super();
     }
 
-    public set results(r: MacrorugoCompoundResults) {
-        this._mrcResults = r;
-
+    public ngOnChanges() {
+        // rebuild dataset every time results or variableIndex change
         this._dataSet = [];
         if (
-            this._mrcResults
-            && this._mrcResults.childrenResults
-            && this._mrcResults.childrenResults.length > 0
-            && ! this._mrcResults.hasOnlyErrors()
+            this.results
+            && this.results.childrenResults
+            && this.results.childrenResults.length > 0
+            && ! this.results.hasOnlyErrors()
         ) {
-            const pr = this._mrcResults;
+            const pr = this.results;
             const nDigits = this.appSetupService.displayPrecision;
             // when a parameter is variating, index of the variating parameter
             // values to build the data from
-            const vi = pr.variableIndex;
 
             // refresh headers here if language changed
             this._headers = pr.headers;
@@ -58,13 +61,13 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire
             // lines 1 - n-1 (aprons)
             for (let i = 0; i < pr.childrenResults.length; i++) {
                 // protect loop contents with if(vCalc) ? Will hide erroneous apron results..
-                const res = pr.childrenResults[i].resultElements[vi].values;
+                const res = pr.childrenResults[i].resultElements[this.variableIndex].values;
                 const nub = (pr.childrenResults[i].sourceNub as MacroRugo);
                 // does ZF1 or B vary ?
                 let zf1: number;
                 try {
                     if (nub.prms.ZF1.hasMultipleValues) {
-                        zf1 = nub.prms.ZF1.getInferredValuesList()[vi];
+                        zf1 = nub.prms.ZF1.getInferredValuesList()[this.variableIndex];
                     } else {
                         zf1 = nub.prms.ZF1.singleValue;
                     }
@@ -74,7 +77,7 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire
                 let b: number;
                 try {
                     if (nub.prms.B.hasMultipleValues) {
-                        b = nub.prms.B.getInferredValuesList()[vi];
+                        b = nub.prms.B.getInferredValuesList()[this.variableIndex];
                     } else {
                         b = nub.prms.B.singleValue;
                     }
@@ -84,7 +87,7 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire
                 let Y: number;
                 try {
                     if (nub.prms.Y.hasMultipleValues) {
-                        Y = nub.prms.Y.getInferredValuesList()[vi];
+                        Y = nub.prms.Y.getInferredValuesList()[this.variableIndex];
                     } else {
                         Y = nub.prms.Y.singleValue;
                     }
@@ -111,7 +114,7 @@ export class MacrorugoCompoundResultsTableComponent extends ResultsComponentDire
             this._dataSet.push([
                 this.intlService.localizeText("INFO_LIB_TOTAL"),
                 "", "", "",
-                pr.result.resultElements[vi].vCalc.toFixed(nDigits),
+                pr.result.resultElements[this.variableIndex].vCalc.toFixed(nDigits),
                 "", "", "", "", "", ""
             ]);
         }
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html
index bfbf59270..09e4fba15 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html
@@ -1,15 +1,17 @@
 <div class="container">
 
-    <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log>
+    <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log>
 
-    <variable-results-selector [results]="mrcResults" (indexChange)="variableIndexChanged()">
+    <variable-results-selector [results]=mrcResults [variatedParameters]=mrcResults?.variatedParameters>
     </variable-results-selector>
 
-    <log #iterationLog></log>
+    <log #iterationLog [log]=iterationLog></log>
 
     <div>
         <!-- tableau de résultats -->
-        <macrorugo-compound-results-table *ngIf="hasDisplayableResults" [results]="mrcResults"></macrorugo-compound-results-table>
+        <macrorugo-compound-results-table *ngIf="hasDisplayableResults"
+          [results]=mrcResults [variableIndex]=mrcResults?.variableIndex>
+        </macrorugo-compound-results-table>
     </div>
 
     <div id="mrcLateralInclination" *ngIf="isInclined">
@@ -22,7 +24,7 @@
     <div id="macrorugo-compound-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start">
         <!-- <pab-profile-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </pab-profile-chart> -->
-        <results-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
+        <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </results-chart>
     </div>
 
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
index d2d932838..cbe53d860 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
@@ -1,18 +1,14 @@
-import { Component, ViewChild, DoCheck } from "@angular/core";
+import { Component, Input, OnChanges } from "@angular/core";
 
 import { Result, cLog, Message, MessageCode, MessageSeverity, MRCInclination } from "jalhyd";
 
 import { fv } from "../../../app/util";
 
-import { LogComponent } from "../../components/log/log.component";
 import { CalculatorResults } from "../../results/calculator-results";
 import { NgParameter } from "../../formulaire/elements/ngparam";
 import { ApplicationSetupService } from "../../services/app-setup.service";
 import { PlottableData } from "../../results/plottable-data";
-import { ResultsChartComponent } from "../results-chart/results-chart.component";
 import { I18nService } from "../../services/internationalisation.service";
-import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component";
-import { MacrorugoCompoundResultsTableComponent } from "./macrorugo-compound-results-table.component";
 import { MacrorugoCompoundResults } from "../../results/macrorugo-compound-results";
 import { PlottableMacrorugoCompoundResults } from "../../results/plottable-macrorugo-compound-results";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
@@ -24,7 +20,7 @@ import { ResultsComponentDirective } from "../fixedvar-results/results.component
         "./macrorugo-compound-results.component.scss"
     ]
 })
-export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective implements DoCheck {
+export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective implements OnChanges {
 
     /** résultats non mis en forme */
     private _mrcResults: MacrorugoCompoundResults;
@@ -32,24 +28,6 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
     /** résultats mis en forme pour le graphique de données (classique) */
     private _plottableResults: PlottableMacrorugoCompoundResults;
 
-    /** true si les résultats doiventt être remis à jour */
-    private _doUpdate = false;
-
-    @ViewChild(MacrorugoCompoundResultsTableComponent)
-    private mrcResultsTableComponent: MacrorugoCompoundResultsTableComponent;
-
-    @ViewChild(VariableResultsSelectorComponent)
-    private variableResultsSelectorComponent: VariableResultsSelectorComponent;
-
-    @ViewChild("generalLog")
-    private generalLogComponent: LogComponent;
-
-    @ViewChild("iterationLog")
-    private iterationLogComponent: LogComponent;
-
-    @ViewChild(ResultsChartComponent)
-    private resultsChartComponent: ResultsChartComponent;
-
     constructor(
         private appSetupService: ApplicationSetupService,
         private i18nService: I18nService,
@@ -58,50 +36,16 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
         this._plottableResults = new PlottableMacrorugoCompoundResults();
     }
 
+    public ngOnChanges() {
+        console.log("--------> MRCR_C changes…");
+    }
+
+    @Input()
     public set results(rs: CalculatorResults[]) {
         this._mrcResults = undefined;
         if (rs.length > 0 && rs[0] instanceof MacrorugoCompoundResults) {
             this._mrcResults = rs[0] as MacrorugoCompoundResults;
         }
-        this.updateView();
-    }
-
-    /**
-     * update results table and chart when the variable index changed (event sent by
-     * VariableResultsSelectorComponent); variable index is already set in
-     * mrcResults at this time
-     */
-    public variableIndexChanged() {
-        this.updateView();
-    }
-
-    public updateView() {
-        if (this.iterationLogComponent) {
-            this.iterationLogComponent.log = undefined;
-        }
-        if (this.generalLogComponent) {
-            this.generalLogComponent.log = undefined;
-        }
-        if (this.mrcResultsTableComponent) {
-            this.mrcResultsTableComponent.results = undefined;
-        }
-        if (this.variableResultsSelectorComponent) {
-            this.variableResultsSelectorComponent.results = undefined;
-        }
-        if (this.resultsChartComponent) {
-            this.resultsChartComponent.results = undefined;
-        }
-        // set _doUpdate flag so that results are rebuilt on the next Angular display cycle
-        this._doUpdate = false;
-        if (this._mrcResults !== undefined) {
-            this._doUpdate = this._doUpdate || this._mrcResults.hasResults || this._mrcResults.hasLog;
-        }
-    }
-
-    public ngDoCheck() {
-        if (this._doUpdate) {
-            this._doUpdate = !this.updateResults();
-        }
     }
 
     private mergeGlobalLog(result: Result, log: cLog) {
@@ -177,7 +121,7 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
      * du sélecteur d'itération : messages globaux et / ou résumé des messages
      * spécifiques à chaque ResultElement
      */
-    private get globalLog(): cLog {
+    public get globalLog(): cLog {
         const l = new cLog();
         if (this._mrcResults && this.mrcResults.variatedParameters.length > 0) {
             this.mergeGlobalLog(this._mrcResults.result, l);
@@ -203,7 +147,7 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
      * du sélecteur d'itération : messages globaux et / ou résumé des messages
      * spécifiques à chaque ResultElement
      */
-    private get iterationLog(): cLog {
+    public get iterationLog(): cLog {
         const l = new cLog();
         if (this._mrcResults) {
             if (this.mrcResults.variatedParameters.length > 0) {
@@ -238,46 +182,6 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
         return l;
     }
 
-    /**
-     * met à jour l'affichage des résultats
-     * @returns true si les résultats ont pu être mis à jour
-     */
-    private updateResults() {
-        let mrcUpdated: boolean;
-        let resultsChartUpdated: boolean;
-        let selectorUpdated: boolean;
-
-        // results or not, there might be a log
-        const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ?
-        if (logUpdated) {
-            // order of logs is important !
-            this.iterationLogComponent.log = this.iterationLog;
-            this.generalLogComponent.log = this.globalLog;
-        }
-
-        if (this.hasResults) {
-            mrcUpdated = this.mrcResultsTableComponent !== undefined;
-            if (mrcUpdated) {
-                this.mrcResultsTableComponent.results = this._mrcResults;
-            }
-            selectorUpdated = this.variableResultsSelectorComponent !== undefined;
-            if (selectorUpdated) {
-                this.variableResultsSelectorComponent.results = this._mrcResults;
-            }
-            resultsChartUpdated = this.resultsChartComponent !== undefined;
-            if (resultsChartUpdated) {
-                this.resultsChartComponent.results = this.plottableResults;
-                this.resultsChartComponent.updateView();
-            }
-        } else {
-            mrcUpdated = true;
-            resultsChartUpdated = true;
-            selectorUpdated = true;
-        }
-
-        return mrcUpdated && logUpdated && resultsChartUpdated && selectorUpdated;
-    }
-
     public get mrcResults() {
         return this._mrcResults;
     }
diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
index ce34f4dae..6f24b8ab1 100644
--- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
+++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ChangeDetectorRef } from "@angular/core";
+import { Component, ViewChild, ChangeDetectorRef, Input } from "@angular/core";
 
 import { ChartComponent } from "angular2-chartjs";
 
@@ -125,6 +125,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective {
         };
     }
 
+    @Input()
     public set results(r: PabResults) {
         this._results = r;
 
diff --git a/src/app/components/pab-results/pab-results-table.component.ts b/src/app/components/pab-results/pab-results-table.component.ts
index 8fb591b99..cbfe9b63c 100644
--- a/src/app/components/pab-results/pab-results-table.component.ts
+++ b/src/app/components/pab-results/pab-results-table.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ElementRef } from "@angular/core";
+import { Component, ViewChild, ElementRef, Input, OnChanges } from "@angular/core";
 
 import { CloisonAval, Result } from "jalhyd";
 
@@ -15,10 +15,15 @@ import { fv } from "../../util";
         "./pab-results-table.component.scss"
     ]
 })
-export class PabResultsTableComponent extends ResultsComponentDirective {
+export class PabResultsTableComponent extends ResultsComponentDirective implements OnChanges {
 
     /** résultats non mis en forme */
-    private _pabResults: PabResults;
+    @Input()
+    public results: PabResults;
+
+    /** index de l'élément de résultat à afficher (modifié par le sélecteur de conditions limites) */
+    @Input()
+    public variableIndex = 0;
 
     /** entêtes des colonnes */
     private _headers: string[];
@@ -35,33 +40,15 @@ export class PabResultsTableComponent extends ResultsComponentDirective {
         super();
     }
 
-    private getJetTypes(re: Result, vi: number): string {
-        // jet type for each device
-        const devices = re.sourceNub.getChildren();
-        const jetTypes: string[] = devices.map((device) => {
-            const jt = device.result.resultElements[vi].getValue("ENUM_StructureJetType");
-            let jetType = this.intlService.localizeText("INFO_ENUM_STRUCTUREJETTYPE_" + jt);
-            if (devices.length > 1) {
-                // evil HTML injection in table cell (simpler)
-                jetType = this.intlService.localizeText("INFO_LIB_FS_OUVRAGE") + " n°"
-                    + (device.findPositionInParent() + 1) + ": " + jetType;
-            }
-            return jetType;
-        });
-        return `<div class="inner-cell-line">` + jetTypes.join(`, </div><div class="inner-cell-line">`) + `</div>`;
-    }
-
-    public set results(r: PabResults) {
-        this._pabResults = r;
-
+    public ngOnChanges() {
         this._dataSet = [];
         if (
-            this._pabResults
-            && this._pabResults.cloisonsResults
-            && this._pabResults.cloisonsResults.length > 0
-            && ! this._pabResults.hasOnlyErrors()
+            this.results
+            && this.results.cloisonsResults
+            && this.results.cloisonsResults.length > 0
+            && ! this.results.hasOnlyErrors()
         ) {
-            const pr = this._pabResults;
+            const pr = this.results;
             // when a parameter is variating, index of the variating parameter
             // values to build the data from
             const vi = pr.variableIndex;
@@ -134,6 +121,22 @@ export class PabResultsTableComponent extends ResultsComponentDirective {
         }
     }
 
+    private getJetTypes(re: Result, vi: number): string {
+        // jet type for each device
+        const devices = re.sourceNub.getChildren();
+        const jetTypes: string[] = devices.map((device) => {
+            const jt = device.result.resultElements[vi].getValue("ENUM_StructureJetType");
+            let jetType = this.intlService.localizeText("INFO_ENUM_STRUCTUREJETTYPE_" + jt);
+            if (devices.length > 1) {
+                // evil HTML injection in table cell (simpler)
+                jetType = this.intlService.localizeText("INFO_LIB_FS_OUVRAGE") + " n°"
+                    + (device.findPositionInParent() + 1) + ": " + jetType;
+            }
+            return jetType;
+        });
+        return `<div class="inner-cell-line">` + jetTypes.join(`, </div><div class="inner-cell-line">`) + `</div>`;
+    }
+
     public get headers() {
         return this._headers;
     }
diff --git a/src/app/components/pab-results/pab-results.component.html b/src/app/components/pab-results/pab-results.component.html
index 78f7d9845..92237bf25 100644
--- a/src/app/components/pab-results/pab-results.component.html
+++ b/src/app/components/pab-results/pab-results.component.html
@@ -1,24 +1,26 @@
 <div class="container">
 
-    <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log>
+    <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log>
 
-    <variable-results-selector [results]="pabResults" (indexChange)="variableIndexChanged()">
+    <variable-results-selector [results]="pabResults" [variatedParameters]=pabResults?.variatedParameters>
     </variable-results-selector>
 
-    <log #iterationLog></log>
+    <log #iterationLog [log]=iterationLog></log>
 
     <div>
         <!-- tableau de résultats -->
-        <pab-results-table *ngIf="hasDisplayableResults" [results]="pabResults"></pab-results-table>
+        <pab-results-table *ngIf="hasDisplayableResults"
+          [results]=pabResults [variableIndex]=pabResults?.variableIndex>
+        </pab-results-table>
     </div>
 
     <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]"
         [currentItem]="'charts'" [align]="'left'"></quicknav>
 
     <div id="pab-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start">
-        <pab-profile-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
+        <pab-profile-chart *ngIf="hasDisplayableResults" [results]=pabResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </pab-profile-chart>
-        <results-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
+        <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </results-chart>
     </div>
 
diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts
index 26d0784e6..011ba0bd1 100644
--- a/src/app/components/pab-results/pab-results.component.ts
+++ b/src/app/components/pab-results/pab-results.component.ts
@@ -1,17 +1,12 @@
-import { Component, ViewChild, DoCheck } from "@angular/core";
+import { Component, Input } from "@angular/core";
 
 import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd";
 
-import { LogComponent } from "../../components/log/log.component";
 import { CalculatorResults } from "../../results/calculator-results";
-import { PabResultsTableComponent } from "./pab-results-table.component";
 import { PabResults } from "../../results/pab-results";
-import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component";
 import { PlottableData } from "../../results/plottable-data";
 import { PlottablePabResults } from "../../results/plottable-pab-results";
-import { ResultsChartComponent } from "../results-chart/results-chart.component";
 import { I18nService } from "../../services/internationalisation.service";
-import { PabProfileChartComponent } from "../pab-profile-chart/pab-profile-chart.component";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 
 @Component({
@@ -21,7 +16,7 @@ import { ResultsComponentDirective } from "../fixedvar-results/results.component
         "./pab-results.component.scss"
     ]
 })
-export class PabResultsComponent extends ResultsComponentDirective implements DoCheck {
+export class PabResultsComponent extends ResultsComponentDirective {
 
     /** résultats non mis en forme */
     private _pabResults: PabResults;
@@ -29,27 +24,6 @@ export class PabResultsComponent extends ResultsComponentDirective implements Do
     /** résultats mis en forme pour le graphique de données (classique) */
     private _plottableResults: PlottablePabResults;
 
-    /** true si les résultats doiventt être remis à jour */
-    private _doUpdate = false;
-
-    @ViewChild(PabResultsTableComponent)
-    private pabResultsTableComponent: PabResultsTableComponent;
-
-    @ViewChild(VariableResultsSelectorComponent)
-    private variableResultsSelectorComponent: VariableResultsSelectorComponent;
-
-    @ViewChild("generalLog")
-    private generalLogComponent: LogComponent;
-
-    @ViewChild("iterationLog")
-    private iterationLogComponent: LogComponent;
-
-    @ViewChild(ResultsChartComponent)
-    private resultsChartComponent: ResultsChartComponent;
-
-    @ViewChild(PabProfileChartComponent)
-    private profileChartComponent: PabProfileChartComponent;
-
     constructor(
         private i18nService: I18nService,
     ) {
@@ -57,53 +31,13 @@ export class PabResultsComponent extends ResultsComponentDirective implements Do
         this._plottableResults = new PlottablePabResults();
     }
 
+    @Input()
     public set results(rs: CalculatorResults[]) {
         this._pabResults = undefined;
         if (rs.length > 0 && rs[0] instanceof PabResults) {
             this._pabResults = rs[0] as PabResults;
         }
-        this.updateView();
-    }
-
-    /**
-     * update results table and chart when the variable index changed (event sent by
-     * PabVariableResultsSelectorComponent); variable index is already set in
-     * pabResults at this time
-     */
-    public variableIndexChanged() {
-        this.updateView();
-    }
-
-    public updateView() {
-        if (this.iterationLogComponent) {
-            this.iterationLogComponent.log = undefined;
-        }
-        if (this.generalLogComponent) {
-            this.generalLogComponent.log = undefined;
-        }
-        if (this.pabResultsTableComponent) {
-            this.pabResultsTableComponent.results = undefined;
-        }
-        if (this.variableResultsSelectorComponent) {
-            this.variableResultsSelectorComponent.results = undefined;
-        }
-        if (this.resultsChartComponent) {
-            this.resultsChartComponent.results = undefined;
-        }
-        if (this.profileChartComponent) {
-            this.profileChartComponent.results = undefined;
-        }
-        // set _doUpdate flag so that results are rebuilt on the next Angular display cycle
-        this._doUpdate = false;
-        if (this._pabResults !== undefined) {
-            this._doUpdate = this._doUpdate || this._pabResults.hasResults || this._pabResults.hasLog;
-        }
-    }
-
-    public ngDoCheck() {
-        if (this._doUpdate) {
-            this._doUpdate = !this.updateResults();
-        }
+        // this.updateView();
     }
 
     private mergeGlobalLog(result: Result, log: cLog) {
@@ -199,7 +133,7 @@ export class PabResultsComponent extends ResultsComponentDirective implements Do
      * du sélecteur d'itération : messages globaux et / ou résumé des messages
      * spécifiques à chaque ResultElement
      */
-    private get globalLog(): cLog {
+    public get globalLog(): cLog {
         const l = new cLog();
         if (this._pabResults && this.pabResults.variatedParameters.length > 0) {
             this.mergeGlobalLog(this._pabResults.result, l);
@@ -266,53 +200,6 @@ export class PabResultsComponent extends ResultsComponentDirective implements Do
         return l;
     }
 
-    /**
-     * met à jour l'affichage des résultats
-     * @returns true si les résultats ont pu être mis à jour
-     */
-    private updateResults() {
-        let pabUpdated: boolean;
-        let resultsChartUpdated: boolean;
-        let profileChartUpdated: boolean;
-        let selectorUpdated: boolean;
-
-        // results or not, there might be a log
-        const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ?
-        if (logUpdated) {
-            // order of logs is important !
-            this.iterationLogComponent.log = this.iterationLog;
-            this.generalLogComponent.log = this.globalLog;
-        }
-
-        if (this.hasResults) {
-            pabUpdated = this.pabResultsTableComponent !== undefined;
-            if (pabUpdated) {
-                this.pabResultsTableComponent.results = this._pabResults;
-            }
-            selectorUpdated = this.variableResultsSelectorComponent !== undefined;
-            if (selectorUpdated) {
-                this.variableResultsSelectorComponent.results = this._pabResults;
-            }
-            resultsChartUpdated = this.resultsChartComponent !== undefined;
-            if (resultsChartUpdated) {
-                this.resultsChartComponent.results = this.plottableResults;
-                this.resultsChartComponent.updateView();
-            }
-            profileChartUpdated = this.profileChartComponent !== undefined;
-            if (profileChartUpdated) {
-                this.profileChartComponent.results = this._pabResults;
-                this.profileChartComponent.updateView();
-            }
-        } else {
-            pabUpdated = true;
-            resultsChartUpdated = true;
-            profileChartUpdated = true;
-            selectorUpdated = true;
-        }
-
-        return pabUpdated && logUpdated && resultsChartUpdated && profileChartUpdated && selectorUpdated;
-    }
-
     public get pabResults() {
         return this._pabResults;
     }
diff --git a/src/app/components/pb-results/pb-cloison-results.component.ts b/src/app/components/pb-results/pb-cloison-results.component.ts
index 0d2fe30cc..0a59b6a8b 100644
--- a/src/app/components/pb-results/pb-cloison-results.component.ts
+++ b/src/app/components/pb-results/pb-cloison-results.component.ts
@@ -1,4 +1,4 @@
-import { Component } from "@angular/core";
+import { Component, Input } from "@angular/core";
 
 import { FixedResultsComponent } from "../fixedvar-results/fixed-results.component";
 import { NgParameter } from "../../formulaire/elements/ngparam";
@@ -16,6 +16,7 @@ import { Result, ResultElement } from "jalhyd";
 })
 export class PbCloisonResultsComponent extends FixedResultsComponent {
 
+    @Input()
     public set results(r: PbCloisonResults) {
         this._fixedResults = r;
     }
diff --git a/src/app/components/pb-results/pb-results-table.component.ts b/src/app/components/pb-results/pb-results-table.component.ts
index 925eab960..c5d8dff4d 100644
--- a/src/app/components/pb-results/pb-results-table.component.ts
+++ b/src/app/components/pb-results/pb-results-table.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ElementRef } from "@angular/core";
+import { Component, ViewChild, ElementRef, Input } from "@angular/core";
 
 import { PreBarrage, PbBassin } from "jalhyd";
 
@@ -35,6 +35,7 @@ export class PbResultsTableComponent extends ResultsComponentDirective {
         super();
     }
 
+    @Input()
     public set results(r: PrebarrageResults) {
         this._pbResults = r;
 
diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html
index 80a7d4501..cce785e43 100644
--- a/src/app/components/pb-results/pb-results.component.html
+++ b/src/app/components/pb-results/pb-results.component.html
@@ -1,16 +1,16 @@
 <div class="container">
-    <log #generalLog [logTitle]="uitextGeneralLogTitle">log général</log>
+    <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log>
 
-    <variable-results-selector [results]="pbResults" (indexChange)="variableIndexChanged()">
+    <variable-results-selector [results]=pbResults>
     </variable-results-selector>
 
-    <log #iterationLog></log>
+    <log #iterationLog [log]=iterationLog></log>
 
     <!-- tableau de résultats des bassins -->
-    <pb-results-table *ngIf="hasBasinResults" [results]="pbResults"></pb-results-table>
+    <pb-results-table *ngIf="hasBasinResults" [results]=pbResults></pb-results-table>
 
     <!-- table des résultats fixés -->
-    <pb-cloison-results *ngIf="hasWallResults" [results]="pbResults.cloisonResults"></pb-cloison-results>
+    <pb-cloison-results *ngIf="hasWallResults" [results]=pbResults.cloisonResults></pb-cloison-results>
 
     <!-- <quicknav *ngIf="hasDisplayableResults" [items]="[ 'input', 'results', 'charts' ]"
         [currentItem]="'charts'" [align]="'left'"></quicknav> -->
diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts
index 0362c6b8b..666257c7d 100644
--- a/src/app/components/pb-results/pb-results.component.ts
+++ b/src/app/components/pb-results/pb-results.component.ts
@@ -1,15 +1,10 @@
-import { Component, ViewChild, DoCheck } from "@angular/core";
+import { Component, Input } from "@angular/core";
 
-import { LogComponent } from "../log/log.component";
 import { CalculatorResults } from "../../results/calculator-results";
-import { PbResultsTableComponent } from "./pb-results-table.component";
 import { PrebarrageResults } from "../../results/prebarrage-results";
-import { VariableResultsSelectorComponent } from "../variable-results-selector/variable-results-selector.component";
 import { I18nService } from "../../services/internationalisation.service";
-import { PbCloisonResultsComponent } from "./pb-cloison-results.component";
-import { FixedResults } from "../../results/fixed-results";
 
-import { Result } from "jalhyd";
+import { cLog } from "jalhyd";
 
 @Component({
     selector: "pb-results",
@@ -18,36 +13,16 @@ import { Result } from "jalhyd";
         "./pb-results.component.scss"
     ]
 })
-export class PbResultsComponent implements DoCheck {
+export class PbResultsComponent {
 
     /** résultats des bassins, non mis en forme */
     private _pbResults: PrebarrageResults;
 
-    /** true si les résultats doiventt être remis à jour */
-    private _doUpdate = false;
-
-    @ViewChild(PbResultsTableComponent)
-    private pbResultsTableComponent: PbResultsTableComponent;
-
-    @ViewChild(VariableResultsSelectorComponent)
-    private variableResultsSelectorComponent: VariableResultsSelectorComponent;
-
-    @ViewChild(PbCloisonResultsComponent)
-    private pbCloisonResultsComponent: PbCloisonResultsComponent;
-
-    @ViewChild("generalLog")
-    private generalLogComponent: LogComponent;
-
-    @ViewChild("iterationLog")
-    private iterationLogComponent: LogComponent;
-
-    /* @ViewChild(PabProfileChartComponent)
-    private profileChartComponent: PabProfileChartComponent; */
-
     constructor(
         private i18nService: I18nService,
     ) { }
 
+    @Input()
     public set results(rs: CalculatorResults[]) {
         this._pbResults = undefined;
         for (const r of rs) {
@@ -55,7 +30,7 @@ export class PbResultsComponent implements DoCheck {
                 this._pbResults = r as PrebarrageResults;
             }
         }
-        this.updateView();
+        // this.updateView();
     }
 
     public get pbResults() {
@@ -77,47 +52,6 @@ export class PbResultsComponent implements DoCheck {
         return this._pbResults && this._pbResults.hasWallResults;
     }
 
-    /**
-     * update results table and chart when the variable index changed (event sent by
-     * VariableResultsSelectorComponent); variable index is already set in
-     * pbResults at this time
-     */
-    public variableIndexChanged() {
-        this.updateView();
-    }
-
-    public updateView() {
-        if (this.iterationLogComponent) {
-            this.iterationLogComponent.log = undefined;
-        }
-        if (this.generalLogComponent) {
-            this.generalLogComponent.log = undefined;
-        }
-        if (this.pbResultsTableComponent) {
-            this.pbResultsTableComponent.results = undefined;
-        }
-        if (this.variableResultsSelectorComponent) {
-            this.variableResultsSelectorComponent.results = undefined;
-        }
-        if (this.pbCloisonResultsComponent) {
-            this.pbCloisonResultsComponent.results = undefined;
-        }
-        /* if (this.profileChartComponent) {
-            this.profileChartComponent.results = undefined;
-        } */
-        // set _doUpdate flag so that results are rebuilt on the next Angular display cycle
-        this._doUpdate = false;
-        if (this._pbResults !== undefined) {
-            this._doUpdate = this._doUpdate || this._pbResults.hasResults || this._pbResults.hasLog;
-        }
-    }
-
-    public ngDoCheck() {
-        if (this._doUpdate) {
-            this._doUpdate = !this.updateResults();
-        }
-    }
-
     /* private mergeGlobalLog(result: Result, log: cLog) {
         if (result) {
             if (result.hasGlobalLog()) {
@@ -211,9 +145,9 @@ export class PbResultsComponent implements DoCheck {
      * du sélecteur d'itération : messages globaux et / ou résumé des messages
      * spécifiques à chaque ResultElement
      */
-    /* private get globalLog(): cLog {
+    public get globalLog(): cLog {
         const l = new cLog();
-        if (this._pbResults && this.pbResults.variatedParameters.length > 0) {
+        /* if (this._pbResults && this.pbResults.variatedParameters.length > 0) {
             this.mergeGlobalLog(this._pbResults.result, l);
             // un problème avec la PAB en général / les cloisons, à une étape quelconque ?
             if (
@@ -228,107 +162,8 @@ export class PbResultsComponent implements DoCheck {
                 l.add(m);
                 // l.add(new Message(MessageCode.WARNING_PROBLEMS_ENCOUNTERED));
             }
-        } // sinon pas de log global (aucun paramètre ne varie)
-        return l;
-    } */
-
-    /**
-     * Retourne les logs à afficher dans le composant de log global, au dessus
-     * du sélecteur d'itération : messages globaux et / ou résumé des messages
-     * spécifiques à chaque ResultElement
-     */
-    /* private get iterationLog(): cLog {
-        const l = new cLog();
-        if (this._pbResults) {
-            if (this.pbResults.variatedParameters.length > 0) {
-                // A. si un paramètre varie
-                const vi = this._pbResults.variableIndex;
-                // log de la PAB pour l'itération en cours
-                if (
-                    this._pbResults.result
-                    && this._pbResults.result.hasResultElements()
-                    && this._pbResults.result.resultElements[vi]
-                    && this._pbResults.result.resultElements[vi].hasLog()
-                ) {
-                    l.addLog(this._pbResults.result.resultElements[vi].log);
-                }
-                // logs des enfants pour l'itération en cours
-                for (const cr of this._pbResults.cloisonsResults) {
-                    if (cr && cr.hasResultElements() && cr.resultElements[vi].hasLog()) {
-                        l.addLog(cr.resultElements[vi].log);
-                    }
-                }
-                if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.resultElements[vi].hasLog()) {
-                    l.addLog(this._pbResults.cloisonAvalResults.resultElements[vi].log);
-                }
-            } else {
-                // B. si aucun paramètre ne varie
-                this.mergeGlobalLog(this._pbResults.result, l); // faut bien mettre le log global quelque part
-                // logs des enfants
-                for (const cr of this._pbResults.cloisonsResults) {
-                    if (cr && cr.hasResultElements() && cr.resultElement.hasLog()) {
-                        l.addLog(cr.resultElement.log);
-                    }
-                }
-                if (this._pbResults.cloisonAvalResults && this._pbResults.cloisonAvalResults.resultElement.hasLog()) {
-                    l.addLog(this._pbResults.cloisonAvalResults.resultElement.log);
-                }
-            }
-        }
+        } // sinon pas de log global (aucun paramètre ne varie) */
         return l;
-    } */
-
-    /**
-     * met à jour l'affichage des résultats
-     * @returns true si les résultats ont pu être mis à jour
-     */
-    private updateResults() {
-        let pbTableUpdated: boolean;
-        let profileChartUpdated: boolean;
-        let selectorUpdated: boolean;
-        let cloisonResultsUpdated: boolean;
-
-        // results or not, there might be a log
-        const logUpdated = (this.iterationLogComponent !== undefined || this.generalLogComponent !== undefined); // gne ?
-        if (logUpdated) {
-            // order of logs is important !
-            /* this.iterationLogComponent.log = this.iterationLog;
-            this.generalLogComponent.log = this.globalLog; */
-        }
-
-        // show selector as long as any result is present
-        if (this.hasResults) {
-            selectorUpdated = this.variableResultsSelectorComponent !== undefined;
-            if (selectorUpdated) {
-                this.variableResultsSelectorComponent.results = this._pbResults;
-            }
-        } else {
-            selectorUpdated = true;
-        }
-        if (this.hasBasinResults) {
-            pbTableUpdated = this.pbResultsTableComponent !== undefined;
-            if (pbTableUpdated) {
-                this.pbResultsTableComponent.results = this._pbResults;
-            }
-            /* profileChartUpdated = this.profileChartComponent !== undefined;
-            if (profileChartUpdated) {
-                this.profileChartComponent.results = this._pbResults;
-                this.profileChartComponent.updateView();
-            } */
-        } else {
-            pbTableUpdated = true;
-            profileChartUpdated = true;
-        }
-        if (this.hasWallResults) {
-            cloisonResultsUpdated = this.pbCloisonResultsComponent !== undefined;
-            if (cloisonResultsUpdated) {
-                this.pbCloisonResultsComponent.results = this._pbResults.cloisonResults;
-            }
-        } else {
-            cloisonResultsUpdated = true;
-        }
-
-        return pbTableUpdated && logUpdated && profileChartUpdated && selectorUpdated && cloisonResultsUpdated;
     }
 
     public get uitextGeneralLogTitle(): string {
diff --git a/src/app/components/remous-results/remous-results.component.html b/src/app/components/remous-results/remous-results.component.html
index 8a51ef96d..6b5fda516 100644
--- a/src/app/components/remous-results/remous-results.component.html
+++ b/src/app/components/remous-results/remous-results.component.html
@@ -38,9 +38,9 @@
 
 
 <!-- journal -->
-<log></log>
+<log [log]=log></log>
 
 <div [hidden]="! hasData"><!-- *ngIf breaks @ViewChild availability-->
     <!-- résultats numériques -->
-    <var-results></var-results>
+    <var-results [results]=varResults></var-results>
 </div>
diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts
index c526dd676..04d19db49 100644
--- a/src/app/components/remous-results/remous-results.component.ts
+++ b/src/app/components/remous-results/remous-results.component.ts
@@ -1,17 +1,16 @@
-import { Component, ViewChild, DoCheck } from "@angular/core";
+import { Component, Input } from "@angular/core";
 
-import { INumberIterator, CourbeRemousParams, CourbeRemous, ParamDefinition, ParamDomain, ParamDomainValue } from "jalhyd";
+import { INumberIterator, CourbeRemousParams, CourbeRemous, ParamDefinition, ParamDomainValue, cLog } from "jalhyd";
 
 import { I18nService } from "../../services/internationalisation.service";
-import { LogComponent } from "../../components/log/log.component";
 import { RemousResults } from "../../results/remous-results";
 import { CalculatorResults } from "../../results/calculator-results";
-import { VarResultsComponent } from "../fixedvar-results/var-results.component";
 import { FormulaireService } from "../../services/formulaire.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { AppComponent } from "../../app.component";
 import { LineData, ChartData } from "./line-and-chart-data";
 import { fv } from "../../util";
+import { VarResults } from "../../results/var-results";
 
 @Component({
     selector: "remous-results",
@@ -20,7 +19,7 @@ import { fv } from "../../util";
         "./remous-results.component.scss"
     ]
 })
-export class RemousResultsComponent extends ResultsComponentDirective implements DoCheck {
+export class RemousResultsComponent extends ResultsComponentDirective {
 
     private _remousResults: RemousResults;
 
@@ -43,23 +42,6 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
      */
     private _tableHeaders: string[];
 
-    /**
-     * true si les résultats doivent être mis à jour
-     */
-    private _doUpdate = false;
-
-    /**
-     * composant des résultats variables
-     */
-    @ViewChild(VarResultsComponent)
-    private varResultsComponent: VarResultsComponent;
-
-    /**
-     * composant journal
-     */
-    @ViewChild(LogComponent)
-    private logComponent: LogComponent;
-
     constructor(
         private intlService: I18nService,
         private formService: FormulaireService
@@ -67,7 +49,11 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
         super();
     }
 
-    private get uitextLigneFluviale() {
+    public get remousResults() {
+        return this._remousResults;
+    }
+
+    public get uitextLigneFluviale() {
         // calculator type for translation
         const sn = this._remousResults.result.sourceNub;
         let ct = sn.calcType;
@@ -77,7 +63,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
         return this.formService.expandVariableNameAndUnit(ct, "FLU");
     }
 
-    private get uitextLigneTorrentielle() {
+    public get uitextLigneTorrentielle() {
         // calculator type for translation
         const sn = this._remousResults.result.sourceNub;
         let ct = sn.calcType;
@@ -87,23 +73,23 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
         return this.formService.expandVariableNameAndUnit(ct, "TOR");
     }
 
-    private get uitextAbscisse() {
+    public get uitextAbscisse() {
         return this.intlService.localizeText("INFO_REMOUSRESULTS_ABSCISSE");
     }
 
-    private get uitextFond() {
+    public get uitextFond() {
         return this.intlService.localizeText("INFO_REMOUSRESULTS_FOND");
     }
 
-    private get uitextBerge() {
+    public get uitextBerge() {
         return this.intlService.localizeText("INFO_REMOUSRESULTS_BERGE");
     }
 
-    private get uitextTirantNormal() {
+    public get uitextTirantNormal() {
         return this.intlService.localizeText("INFO_REMOUSRESULTS_TIRANTNORMAL");
     }
 
-    private get uitextTirantCritique() {
+    public get uitextTirantCritique() {
         return this.intlService.localizeText("INFO_REMOUSRESULTS_TIRANTCRITIQUE");
     }
 
@@ -154,6 +140,7 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
         return this._remousResults && this._remousResults.result && this._remousResults.result.ok;
     }
 
+    @Input()
     public set results(rs: CalculatorResults[]) {
         this._remousResults = undefined;
         if (rs !== undefined) {
@@ -164,43 +151,19 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
                 }
             }
         }
-        this.updateView();
+        // this.updateView();
     }
 
-    public updateView() {
-        this.graph1_data = {};
-        this.graph1_options = {};
-        this.graph2_data = {};
-        this.graph2_options = {};
-        if (this.varResultsComponent !== undefined) {
-            this.varResultsComponent.results = undefined;
-        }
-        if (this.logComponent !== undefined) {
-            this.logComponent.log = undefined;
-        }
-        this._tableHeaders = [];
-
+    public get log(): cLog {
         if (this._remousResults !== undefined) {
-            this._doUpdate = this._remousResults.hasResults;
-        }
-    }
-
-    /**
-     * appelé pour gérer les changements non détectés par Angular
-     */
-    public ngDoCheck() {
-        if (this._doUpdate) {
-            this._doUpdate = !this.updateResults();
+            return this._remousResults.log;
         }
     }
 
-    private updateResults() {
-        if (this.logComponent !== undefined && this._remousResults !== undefined) {
-            this.logComponent.log = this._remousResults.log;
-            this.generateChart();
-            return true;
+    public get varResults(): VarResults {
+        if (this._remousResults !== undefined) {
+            return this._remousResults.varResults;
         }
-        return false;
     }
 
     /**
@@ -275,9 +238,6 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
         // le dernier dataset de la liste datasets est dessiné en 1er
 
         this._remousResults.update();
-        if (this.varResultsComponent) {
-            this.varResultsComponent.results = this._remousResults.varResults;
-        }
 
         const nub = this._remousResults.result.sourceNub as CourbeRemous;
         const params = nub.prms as CourbeRemousParams;
diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts
index 05247e41c..cda71306f 100644
--- a/src/app/components/results-chart/results-chart.component.ts
+++ b/src/app/components/results-chart/results-chart.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, AfterContentInit, ChangeDetectorRef } from "@angular/core";
+import { Component, ViewChild, AfterContentInit, ChangeDetectorRef, Input, OnChanges, SimpleChanges } from "@angular/core";
 
 import { ChartComponent } from "angular2-chartjs";
 
@@ -90,6 +90,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
         };
     }
 
+    @Input()
     public set results(r: PlottableData) {
         this.forceRebuild();
         this._results = r;
@@ -98,13 +99,13 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
         }
     }
 
-    public get availableXAxis() {
+    public get availableXAxis(): string[] {
         if (this._results) {
             return this._results.getAvailableXAxis();
         }
     }
 
-    public get availableYAxis() {
+    public get availableYAxis(): string[] {
         if (this._results) {
             if (this._results.graphType !== ChartType.Scatter) {
                 // do not use real Y axis (that include families), if chart cannot display multiple series
@@ -170,6 +171,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
     }
 
     public updateView() {
+        console.log("----> regenerate chart !!");
         // (re)generate chart
         switch (this._graphTypeComponent.selectedValue) {
             case ChartType.Histogram:
diff --git a/src/app/components/section-results/section-results.component.ts b/src/app/components/section-results/section-results.component.ts
index 130f45e7f..d3fe68751 100644
--- a/src/app/components/section-results/section-results.component.ts
+++ b/src/app/components/section-results/section-results.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, DoCheck, ElementRef } from "@angular/core";
+import { Component, ViewChild, ElementRef, Input } from "@angular/core";
 
 import { ResultElement } from "jalhyd";
 
@@ -16,7 +16,7 @@ import { AppComponent } from "../../app.component";
         "./section-results.component.scss"
     ]
 })
-export class SectionResultsComponent extends ResultsComponentDirective implements DoCheck {
+export class SectionResultsComponent extends ResultsComponentDirective {
 
     constructor(
         private intlService: I18nService,
@@ -25,6 +25,7 @@ export class SectionResultsComponent extends ResultsComponentDirective implement
         super();
     }
 
+    @Input()
     public set results(rs: CalculatorResults[]) {
         this._resultElement = undefined;
         this._results = undefined;
@@ -35,7 +36,8 @@ export class SectionResultsComponent extends ResultsComponentDirective implement
                 }
             }
         }
-        this.updateView();
+        // this.updateView();
+        this.drawSectionCanvas();
     }
 
     /** détermine s'il y a des résultats de section "fixes" (pas de paramètre varié, graphique de la section) */
@@ -68,30 +70,9 @@ export class SectionResultsComponent extends ResultsComponentDirective implement
      */
     private _resultElement: ResultElement;
 
-    private _doUpdate = false;
-
     @ViewChild(SectionCanvasComponent)
     private _sectionCanvas: SectionCanvasComponent;
 
-    public updateView() {
-        if (this._sectionCanvas) {
-            this._sectionCanvas.reset();
-        }
-
-        if (this._results) {
-            this._doUpdate = this._results.hasResults;
-        }
-    }
-
-    /**
-     * appelé pour gérer les changements non détectés par Angular
-     */
-    public ngDoCheck() {
-        if (this._doUpdate) {
-            this._doUpdate = !this.updateResults();
-        }
-    }
-
     private isSectionLevel(s: string) {
         for (const k in SectionResultsComponent.labelColors) {
             if (k === s) {
@@ -101,9 +82,11 @@ export class SectionResultsComponent extends ResultsComponentDirective implement
         return false;
     }
 
-    private updateResults() {
+    private drawSectionCanvas() {
         if (this._results && this._sectionCanvas) {
 
+            this._sectionCanvas.reset();
+
             this._resultElement = new ResultElement();
 
             // compute canvas optimal size the first time
diff --git a/src/app/components/variable-results-selector/variable-results-selector.component.ts b/src/app/components/variable-results-selector/variable-results-selector.component.ts
index ff36f82b1..716d7fc9e 100644
--- a/src/app/components/variable-results-selector/variable-results-selector.component.ts
+++ b/src/app/components/variable-results-selector/variable-results-selector.component.ts
@@ -1,11 +1,11 @@
-import { Component, Output, EventEmitter } from "@angular/core";
+import { Component, Output, EventEmitter, Input, OnChanges } from "@angular/core";
 
 import { I18nService } from "../../services/internationalisation.service";
 import { fv, longestVarParam } from "../../util";
 import { MultiDimensionResults } from "../../results/multidimension-results";
 import { PrebarrageResults } from "../../results/prebarrage-results";
 
-import { CalculatorType, PbCloison, Structure } from "jalhyd";
+import { CalculatorType, PbCloison, Structure, VariatedDetails } from "jalhyd";
 
 @Component({
     selector: "variable-results-selector",
@@ -14,12 +14,18 @@ import { CalculatorType, PbCloison, Structure } from "jalhyd";
         "./variable-results-selector.component.scss"
     ]
 })
-export class VariableResultsSelectorComponent {
+export class VariableResultsSelectorComponent implements OnChanges {
 
     /** résultats non mis en forme */
-    private _results: MultiDimensionResults;
+    @Input()
+    private results: MultiDimensionResults;
 
-    private _selectedValue: number;
+    /** détails des paramètres qui varient dans le Nub associé au formulaire */
+    @Input()
+    private variatedParameters: VariatedDetails[];
+
+    /** valeur en cours */
+    private _selectedValue = 0;
 
     /** size of the longest variable value */
     private size = 0;
@@ -27,26 +33,23 @@ export class VariableResultsSelectorComponent {
     /** inferred extended values list for each variating parameter */
     private varValues = [];
 
-    @Output()
-    protected indexChange = new EventEmitter();
+    /* @Output()
+    protected indexChange = new EventEmitter(); */
 
     constructor(
         protected intlService: I18nService,
-    ) {
-        this._selectedValue = 0;
-    }
+    ) { }
 
-    public set results(r: MultiDimensionResults) {
-        this._results = r;
-
-        if (this._results) {
-            // pre-extract variable parameters values
+    public ngOnChanges() {
+        console.log("==//== changes !! ==//==", this.variatedParameters);
+        // rebuild variable parameters values everytime somthing changes
+        if (this.variatedParameters) {
             this.varValues = [];
             // find longest list
-            const lvp = longestVarParam(this._results.variatedParameters);
+            const lvp = longestVarParam(this.variatedParameters);
             this.size = lvp.size;
             // get extended values lists for each variable parameter
-            for (const v of this._results.variatedParameters) {
+            for (const v of this.variatedParameters) {
                 const vv = [];
                 const iter = v.param.getExtendedValuesIterator(this.size);
                 while (iter.hasNext) {
@@ -56,13 +59,17 @@ export class VariableResultsSelectorComponent {
                 this.varValues.push(vv);
             }
         }
+        // get current variatedIndex even if component was rebuilt
+        if (this.results) {
+            this._selectedValue = this.results.variableIndex;
+        }
     }
 
     public get hasVariableResults(): boolean {
         return (
-            this._results
-            && this._results.hasResults
-            && this._results.variatedParameters.length > 0
+            this.results
+            && this.results.hasResults
+            && this.results.variatedParameters.length > 0
         );
     }
 
@@ -78,7 +85,7 @@ export class VariableResultsSelectorComponent {
         const kv = [];
         for (let i = 0; i < this.varValues.length; i++) {
             const vv = this.varValues[i];
-            const vp = this._results.variatedParameters[i];
+            const vp = this.results.variatedParameters[i];
             let symbol = vp.param.symbol;
             // is vp a parameter of a child Nub ?
             if (
@@ -90,7 +97,7 @@ export class VariableResultsSelectorComponent {
                 switch (vp.param.originNub.calcType) {
                     case CalculatorType.PreBarrage:
                         const struct = vp.param.parentNub as Structure;
-                        const pbRes = this._results as PrebarrageResults;
+                        const pbRes = this.results as PrebarrageResults;
                         const wall = struct.parent as PbCloison;
                         const posS = struct.findPositionInParent() + 1;
                         childPrefix = this.intlService.localizeMessage(wall.description);
@@ -117,8 +124,8 @@ export class VariableResultsSelectorComponent {
     }
 
     public set selectedValue(v: number) {
-        this._results.variableIndex = v;
-        this.indexChange.emit();
+        this.results.variableIndex = v;
+        // this.indexChange.emit();
     }
 
     public get label() {
diff --git a/src/app/results/multidimension-results.ts b/src/app/results/multidimension-results.ts
index 44967427c..c7af4cc99 100644
--- a/src/app/results/multidimension-results.ts
+++ b/src/app/results/multidimension-results.ts
@@ -6,7 +6,7 @@ import { VariatedDetails } from "jalhyd";
 export class MultiDimensionResults extends CalculatedParamResults {
 
     /** paramètres variés */
-    public variatedParameters: VariatedDetails[];
+    public variatedParameters: VariatedDetails[] = [];
 
     /** index de la valeur du paramètre varié à afficher dans les résultats */
     protected _variableIndex = 0;
diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts
index 043c0a896..03987a854 100644
--- a/src/app/results/var-results.ts
+++ b/src/app/results/var-results.ts
@@ -13,7 +13,7 @@ export class VarResults extends CalculatedParamResults implements PlottableData
     /**
      * paramètres variés
      */
-    private _variatedParams: VariatedDetails[];
+    private _variatedParams: VariatedDetails[] = [];
 
     /**
      * titre des colonnes des résultats variés
@@ -408,10 +408,10 @@ export class VarResults extends CalculatedParamResults implements PlottableData
      * When variable parameter or chart type changes, ensure the X / Y current values are still available
      */
     public resetDefaultAxisIfNeeded() {
-        if (! this.getAvailableXAxis().includes(this.chartX)) {
+        if (this.variatedParameters.length > 0 && ! this.getAvailableXAxis().includes(this.chartX)) {
             this.chartX = this.variatedParameters[0].param.symbol;
         }
-        if (! this.getAvailableYAxis().includes(this.chartY)) {
+        if (this.variatedParameters.length > 0 && ! this.getAvailableYAxis().includes(this.chartY)) {
             this.chartY = this.variatedParameters[0].param.symbol;
         }
     }
-- 
GitLab


From f934bdaa94c2db12e630bcc4bc8edeb5ba368214 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Mon, 20 Jul 2020 10:00:53 +0200
Subject: [PATCH 112/117] Renamed graphType to chartType

---
 .../results-chart/results-chart.component.ts  | 40 +++++++++----------
 .../formulaire/definition/form-fixedvar.ts    |  4 +-
 src/app/results/plottable-data.ts             |  2 +-
 .../plottable-macrorugo-compound-results.ts   |  2 +-
 src/app/results/plottable-pab-results.ts      |  2 +-
 src/app/results/var-results.ts                |  4 +-
 6 files changed, 26 insertions(+), 28 deletions(-)

diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts
index cda71306f..2995070a5 100644
--- a/src/app/components/results-chart/results-chart.component.ts
+++ b/src/app/components/results-chart/results-chart.component.ts
@@ -92,10 +92,9 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
 
     @Input()
     public set results(r: PlottableData) {
-        this.forceRebuild();
         this._results = r;
         if (this._results && this._graphTypeComponent) {
-            this._graphTypeComponent.selectedValue = r.graphType;
+            this._graphTypeComponent.selectedValue = r.chartType;
         }
     }
 
@@ -107,7 +106,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
 
     public get availableYAxis(): string[] {
         if (this._results) {
-            if (this._results.graphType !== ChartType.Scatter) {
+            if (this._results.chartType !== ChartType.Scatter) {
                 // do not use real Y axis (that include families), if chart cannot display multiple series
                 return this._results.getAvailableXAxis();
             } else {
@@ -172,24 +171,23 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
 
     public updateView() {
         console.log("----> regenerate chart !!");
-        // (re)generate chart
-        switch (this._graphTypeComponent.selectedValue) {
-            case ChartType.Histogram:
-                this.graph_type = "bar";
-                this.generateBarChart();
-                break;
-
-            case ChartType.Dots:
-                this.graph_type = "line";
-                this.generateLineChart();
-                break;
-
-            default:
-                this.graph_type = "scatter";
-                this.generateScatterChart();
-                break;
+            switch (this._graphTypeComponent.selectedValue) {
+                case ChartType.Histogram:
+                    this.graph_type = "bar";
+                    this.generateBarChart();
+                    break;
+
+                case ChartType.Dots:
+                    this.graph_type = "line";
+                    this.generateLineChart();
+                    break;
+
+                default:
+                    this.graph_type = "scatter";
+                    this.generateScatterChart();
+                    break;
+            }
         }
-    }
 
     public ngAfterContentInit() {
         this._graphTypeComponent.addObserver(this);
@@ -481,7 +479,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
     update(sender: any, data: any) {
         if (sender instanceof ChartTypeSelectComponent) {
             if (data.action === "graphTypeChanged") {
-                this._results.graphType = data.value;
+                this._results.chartType = data.value;
             }
         }
         this.updateView();
diff --git a/src/app/formulaire/definition/form-fixedvar.ts b/src/app/formulaire/definition/form-fixedvar.ts
index ab2686541..1795f0818 100644
--- a/src/app/formulaire/definition/form-fixedvar.ts
+++ b/src/app/formulaire/definition/form-fixedvar.ts
@@ -46,8 +46,8 @@ export class FormulaireFixedVar extends FormulaireDefinition {
         }
     }
 
-    public set graphType(t: ChartType) {
-        this._varResults.graphType = t;
+    public set chartType(t: ChartType) {
+        this._varResults.chartType = t;
     }
 
     public get hasResults(): boolean {
diff --git a/src/app/results/plottable-data.ts b/src/app/results/plottable-data.ts
index bae4f7709..5df0f992f 100644
--- a/src/app/results/plottable-data.ts
+++ b/src/app/results/plottable-data.ts
@@ -7,7 +7,7 @@ import { ParamDefinition } from "jalhyd";
  */
 export interface PlottableData {
 
-    graphType: ChartType;
+    chartType: ChartType;
     chartX: string;
     chartY: string;
 
diff --git a/src/app/results/plottable-macrorugo-compound-results.ts b/src/app/results/plottable-macrorugo-compound-results.ts
index caf34a119..f98b337af 100644
--- a/src/app/results/plottable-macrorugo-compound-results.ts
+++ b/src/app/results/plottable-macrorugo-compound-results.ts
@@ -6,7 +6,7 @@ import { ParamDefinition } from "jalhyd";
 
 export class PlottableMacrorugoCompoundResults implements PlottableData {
 
-    public graphType: ChartType = ChartType.Scatter;
+    public chartType: ChartType = ChartType.Scatter;
     public chartX: string;
     public chartY: string;
 
diff --git a/src/app/results/plottable-pab-results.ts b/src/app/results/plottable-pab-results.ts
index f863a9fa0..09d83514e 100644
--- a/src/app/results/plottable-pab-results.ts
+++ b/src/app/results/plottable-pab-results.ts
@@ -7,7 +7,7 @@ import { ParamDefinition } from "jalhyd";
 
 export class PlottablePabResults implements PlottableData {
 
-    public graphType: ChartType = ChartType.Scatter;
+    public chartType: ChartType = ChartType.Scatter;
     public chartX: string;
     public chartY: string;
 
diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts
index 03987a854..826d051ec 100644
--- a/src/app/results/var-results.ts
+++ b/src/app/results/var-results.ts
@@ -97,11 +97,11 @@ export class VarResults extends CalculatedParamResults implements PlottableData
         return this._resultHeaders;
     }
 
-    public get graphType(): ChartType {
+    public get chartType(): ChartType {
         return this._graphType;
     }
 
-    public set graphType(gt: ChartType) {
+    public set chartType(gt: ChartType) {
         this._graphType = gt;
         this.resetDefaultAxisIfNeeded();
     }
-- 
GitLab


From 5bb67d751f5ee482644816957edb1fba7ce83789 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Mon, 20 Jul 2020 10:24:38 +0200
Subject: [PATCH 113/117] Simplified form results reset

---
 .../calculator-results.component.ts           |  5 +--
 .../calculator.component.ts                   | 35 +------------------
 .../pab-results/pab-results.component.ts      |  1 -
 .../pb-results/pb-results.component.ts        |  1 -
 .../remous-results.component.ts               |  1 -
 .../section-results.component.ts              |  1 -
 .../formulaire/definition/form-definition.ts  | 12 -------
 7 files changed, 2 insertions(+), 54 deletions(-)

diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts
index adece2665..8d6de93b5 100644
--- a/src/app/components/calculator-results/calculator-results.component.ts
+++ b/src/app/components/calculator-results/calculator-results.component.ts
@@ -20,6 +20,7 @@ export class CalculatorResultsComponent implements AfterViewChecked {
         @Inject(forwardRef(() => GenericCalculatorComponent)) private calculatorComponent: GenericCalculatorComponent
     ) { }
 
+    // @TODO @Input() ?
     public set formulaire(f: FormulaireDefinition) {
         this._formulaire = f;
     }
@@ -32,10 +33,6 @@ export class CalculatorResultsComponent implements AfterViewChecked {
         return r;
     }
 
-    public updateView() {
-        console.log("UPDATE VIEW (disabled)");
-    }
-
     public ngAfterViewChecked() {
         this.afterViewChecked.emit();
     }
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index a25f258fe..11c12466a 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -371,10 +371,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         this.appComponent.showProgressBar = true;
         this._computeClicked = true;
         this.showPBInputData = false;
-        // send resetForm to clear log
-        this._formulaire.notifyObservers({
-            "action": "resetForm",
-        }, this._formulaire);
         // calculate module
         setTimeout(() => {
             this._formulaire.doCompute();
@@ -426,22 +422,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         }
     }
 
-    private setForm(f: FormulaireDefinition) {
-        if (this._formulaire !== undefined) {
-            this._formulaire.removeObserver(this);
-        }
-        this._formulaire = f;
-        if (this._formulaire !== undefined) {
-            this._formulaire.addObserver(this);
-        }
-    }
-
-    private updateFormulaireResults(uid: string) {
-        if (this._formulaire.uid === uid) {
-            this.resultsComponent.updateView();
-        }
-    }
-
     // interface Observer
 
     update(sender: any, data: any): void {
@@ -449,22 +429,13 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
             switch (data["action"]) {
                 case "currentFormChanged":
                     const uid: string = data["formId"];
-                    this.setForm(this.formulaireService.getFormulaireFromId(uid));
+                    this._formulaire = (this.formulaireService.getFormulaireFromId(uid));
                     this.resultsComponent.formulaire = this._formulaire;
                     this._calculatorNameComponent.model = this._formulaire;
                     // reload localisation in all cases
                     this.formulaireService.loadUpdateFormulaireLocalisation(this._formulaire);
                     break;
             }
-        } else if (sender instanceof FormulaireDefinition) {
-            let f: FormulaireDefinition;
-            switch (data["action"]) {
-                case "resetForm": // réinitialisation du formulaire
-                case "resultsUpdated":
-                    f = sender as FormulaireDefinition;
-                    this.updateFormulaireResults(f.uid);
-                    break;
-            }
         }
     }
 
@@ -538,8 +509,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
      */
     public onInputChange(event: any) {
         this._formulaire.resetResults([], (event ? event.symbol : undefined));
-        // to refresh log components, that are fed manually (!)
-        this.resultsComponent.updateView();
     }
 
     /**
@@ -585,8 +554,6 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         // show proper form (actually subform elements) or proper results,
         // depending on what was clicked
         (this._formulaire as FormulairePrebarrage).nodeSelected(event.node);
-        // refresh results component
-        this.resultsComponent.updateView();
     }
 
     public openHelp() {
diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts
index 011ba0bd1..513710980 100644
--- a/src/app/components/pab-results/pab-results.component.ts
+++ b/src/app/components/pab-results/pab-results.component.ts
@@ -37,7 +37,6 @@ export class PabResultsComponent extends ResultsComponentDirective {
         if (rs.length > 0 && rs[0] instanceof PabResults) {
             this._pabResults = rs[0] as PabResults;
         }
-        // this.updateView();
     }
 
     private mergeGlobalLog(result: Result, log: cLog) {
diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts
index 666257c7d..034f24e0c 100644
--- a/src/app/components/pb-results/pb-results.component.ts
+++ b/src/app/components/pb-results/pb-results.component.ts
@@ -30,7 +30,6 @@ export class PbResultsComponent {
                 this._pbResults = r as PrebarrageResults;
             }
         }
-        // this.updateView();
     }
 
     public get pbResults() {
diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts
index 04d19db49..d6c1b356f 100644
--- a/src/app/components/remous-results/remous-results.component.ts
+++ b/src/app/components/remous-results/remous-results.component.ts
@@ -151,7 +151,6 @@ export class RemousResultsComponent extends ResultsComponentDirective {
                 }
             }
         }
-        // this.updateView();
     }
 
     public get log(): cLog {
diff --git a/src/app/components/section-results/section-results.component.ts b/src/app/components/section-results/section-results.component.ts
index d3fe68751..0f5529223 100644
--- a/src/app/components/section-results/section-results.component.ts
+++ b/src/app/components/section-results/section-results.component.ts
@@ -36,7 +36,6 @@ export class SectionResultsComponent extends ResultsComponentDirective {
                 }
             }
         }
-        // this.updateView();
         this.drawSectionCanvas();
     }
 
diff --git a/src/app/formulaire/definition/form-definition.ts b/src/app/formulaire/definition/form-definition.ts
index 855046710..fe8fe3cff 100644
--- a/src/app/formulaire/definition/form-definition.ts
+++ b/src/app/formulaire/definition/form-definition.ts
@@ -320,12 +320,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
         }
     }
 
-    protected notifyReset() {
-        this.notifyObservers({
-            "action": "resetForm"
-        }, this);
-    }
-
     /**
      * Forwards Nub's progress updated notification.
      * Used by CalculatorComponent to update progress bar
@@ -340,8 +334,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
      */
     public reset() {
         this.resetResults([], undefined, true);
-        // prévenir les composants qu'il faut détecter les changements
-        this.notifyReset();
     }
 
     public updateLocalisation(localisation: StringMap, lang: string) {
@@ -474,10 +466,6 @@ export abstract class FormulaireDefinition extends FormulaireNode implements Obs
     public doCompute() {
         // calculate module
         this.compute();
-        // refresh results
-        this.notifyObservers({
-            "action": "resultsUpdated",
-        }, this);
     }
 
     public resetFormResults() {}
-- 
GitLab


From fa9faf0c70669c18a6bc9142948115e18fafc558 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Mon, 20 Jul 2020 11:30:44 +0200
Subject: [PATCH 114/117] Simplified results charts components

---
 .../fixedvar-results.component.html           |  2 +-
 .../fixedvar-results.component.ts             |  2 +-
 .../jet-results/jet-results.component.html    |  4 +-
 .../jet-trajectory-chart.component.ts         | 30 +++++++-------
 .../macrorugo-compound-results.component.html |  5 +--
 .../macrorugo-compound-results.component.ts   |  9 ++---
 .../pab-profile-chart.component.ts            | 12 +++---
 .../pab-results/pab-results.component.html    |  3 +-
 .../results-chart/results-chart.component.ts  | 40 ++++++++++---------
 .../formulaire/definition/form-pb-cloison.ts  |  2 -
 src/app/results/param-calc-results.ts         |  9 -----
 src/app/results/plottable-data.ts             |  5 +++
 .../plottable-macrorugo-compound-results.ts   |  4 ++
 src/app/results/plottable-pab-results.ts      |  4 ++
 src/app/results/var-results.ts                | 29 +++++++++-----
 15 files changed, 84 insertions(+), 76 deletions(-)

diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.html b/src/app/components/fixedvar-results/fixedvar-results.component.html
index 6c2d779be..271a25508 100644
--- a/src/app/components/fixedvar-results/fixedvar-results.component.html
+++ b/src/app/components/fixedvar-results/fixedvar-results.component.html
@@ -2,7 +2,7 @@
     <!-- journal -->
     <log [log]=mergedGlobalLogs></log>
 
-    <results-chart [hidden]="! showVarResultsChart" [results]=varResults></results-chart>
+    <results-chart [hidden]="! showVarResultsChart" [results]=varResults [resultData]=varResults?.result></results-chart>
 
     <div>
         <!-- table des résultats fixés -->
diff --git a/src/app/components/fixedvar-results/fixedvar-results.component.ts b/src/app/components/fixedvar-results/fixedvar-results.component.ts
index b80300bad..d93bcc55c 100644
--- a/src/app/components/fixedvar-results/fixedvar-results.component.ts
+++ b/src/app/components/fixedvar-results/fixedvar-results.component.ts
@@ -74,7 +74,7 @@ export class FixedVarResultsComponent extends ResultsComponentDirective {
      * affichage du graphique des résultats variés
      */
     public get showVarResultsChart(): boolean {
-        return this._varResults && this._varResults.hasPlottableResults;
+        return this._varResults && this._varResults.hasPlottableResults();
     }
 
     public getFixedResultClass(i: number) {
diff --git a/src/app/components/jet-results/jet-results.component.html b/src/app/components/jet-results/jet-results.component.html
index 1acaf47ff..f3680821b 100644
--- a/src/app/components/jet-results/jet-results.component.html
+++ b/src/app/components/jet-results/jet-results.component.html
@@ -2,9 +2,9 @@
     <!-- journal -->
     <log></log>
 
-    <results-chart *ngIf="showVarResults" [hidden]="! showVarResultsChart" [results]=varResults></results-chart>
+    <results-chart *ngIf="showVarResults" [hidden]="! showVarResultsChart" [results]=varResults [resultData]=varResults?.result></results-chart>
 
-    <jet-trajectory-chart [hidden]="! hasValidResults" [results]=trajectoryResults></jet-trajectory-chart>
+    <jet-trajectory-chart [hidden]="! hasValidResults" [results]=trajectoryResults?.result></jet-trajectory-chart>
 
     <div>
         <!-- table des résultats fixés -->
diff --git a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
index f4ee238a0..2f92d72ac 100644
--- a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
+++ b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
@@ -1,16 +1,14 @@
-import { Component, ViewChild, ChangeDetectorRef, Input } from "@angular/core";
+import { Component, ViewChild, ChangeDetectorRef, Input, OnChanges } from "@angular/core";
 
 import { ChartComponent } from "angular2-chartjs";
 
 import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 import { IYSeries } from "../../results/y-series";
-import { FixedResults } from "../../results/fixed-results";
-import { VarResults } from "../../results/var-results";
 import { fv } from "../../util";
 import { AppComponent } from "../../app.component";
 
-import { Jet } from "jalhyd";
+import { Jet, Result } from "jalhyd";
 
 @Component({
     selector: "jet-trajectory-chart",
@@ -19,12 +17,12 @@ import { Jet } from "jalhyd";
         "./jet-trajectory-chart.component.scss"
     ]
 })
-export class JetTrajectoryChartComponent extends ResultsComponentDirective {
+export class JetTrajectoryChartComponent extends ResultsComponentDirective implements OnChanges {
 
     @ViewChild(ChartComponent)
     private chartComponent;
 
-    private _results: FixedResults | VarResults;
+    private _results: Result;
 
     private _zoomWasChanged = false;
 
@@ -133,13 +131,17 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective {
     }
 
     @Input()
-    public set results(r: FixedResults | VarResults) {
+    public set results(r: Result) {
         console.log("miam miam les bons résultats !", r);
         this.forceRebuild(); // used for forcing redefinition of xAxes[0].ticks.min/max in generateScatterChart()
         this._results = r;
+    }
 
-        if (this._results && this._results.result) {
-            const nub = this._results.result.sourceNub as Jet;
+    // redessine le graphique dès qu'une entrée change
+    public ngOnChanges() {
+        console.log("----> regenerate trajectory chart !!");
+        if (this._results) {
+            const nub = this._results.sourceNub as Jet;
             const length = nub.variatingLength();
             // extract variable values list for legend
             if (nub.resultHasMultipleValues()) {
@@ -160,6 +162,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective {
                     }
                 }
             }
+            this.generateScatterChart();
         }
     }
 
@@ -172,17 +175,12 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective {
         return this._zoomWasChanged;
     }
 
-    public updateView() {
-        console.log("----> regenerate trajectory chart !!");
-        this.generateScatterChart();
-    }
-
     /**
      * génère les données d'un graphique de type "scatter"
      */
     private generateScatterChart() {
         const ySeries = this.getYSeries();
-        const nub = (this._results.result.sourceNub as Jet);
+        const nub = (this._results.sourceNub as Jet);
 
         this.graph_data = {
             datasets: []
@@ -263,7 +261,7 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective {
     private getYSeries(): IYSeries[] {
         const ret: IYSeries[] = [];
         const palette = ResultsComponentDirective.distinctColors;
-        const nub = (this._results.result.sourceNub as Jet);
+        const nub = (this._results.sourceNub as Jet);
         const trajectories = nub.generateTrajectories();
 
         for (let i = 0; i < trajectories.length; i++) {
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html
index 09e4fba15..563a41235 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html
@@ -22,9 +22,8 @@
         [currentItem]="'charts'" [align]="'left'"></quicknav>
 
     <div id="macrorugo-compound-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start">
-        <!-- <pab-profile-chart *ngIf="hasDisplayableResults" fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
-        </pab-profile-chart> -->
-        <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
+        <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults [resultData]=plottableResults?.result
+          fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </results-chart>
     </div>
 
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
index cbe53d860..d59d27a3f 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
@@ -25,15 +25,11 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
     /** résultats non mis en forme */
     private _mrcResults: MacrorugoCompoundResults;
 
-    /** résultats mis en forme pour le graphique de données (classique) */
-    private _plottableResults: PlottableMacrorugoCompoundResults;
-
     constructor(
         private appSetupService: ApplicationSetupService,
         private i18nService: I18nService,
     ) {
         super();
-        this._plottableResults = new PlottableMacrorugoCompoundResults();
     }
 
     public ngOnChanges() {
@@ -234,8 +230,9 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
 
     /** builds a set of PlottableData from MacrorugoCompoundResults, to feed the chart */
     protected get plottableResults(): PlottableData {
-        this._plottableResults.setMrcResults(this.mrcResults);
-        return this._plottableResults;
+        const plottableResults = new PlottableMacrorugoCompoundResults();
+        plottableResults.setMrcResults(this.mrcResults);
+        return plottableResults;
     }
 
 }
diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
index 6f24b8ab1..9e4e3ba5e 100644
--- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
+++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
@@ -1,4 +1,4 @@
-import { Component, ViewChild, ChangeDetectorRef, Input } from "@angular/core";
+import { Component, ViewChild, ChangeDetectorRef, Input, OnChanges } from "@angular/core";
 
 import { ChartComponent } from "angular2-chartjs";
 
@@ -20,7 +20,7 @@ import { sprintf } from "sprintf-js";
         "./pab-profile-chart.component.scss"
     ]
 })
-export class PabProfileChartComponent extends ResultsComponentDirective {
+export class PabProfileChartComponent extends ResultsComponentDirective implements OnChanges {
 
     @ViewChild(ChartComponent)
     private chartComponent;
@@ -128,7 +128,10 @@ export class PabProfileChartComponent extends ResultsComponentDirective {
     @Input()
     public set results(r: PabResults) {
         this._results = r;
+    }
 
+    // redessine le graphique dès qu'une entrée change
+    public ngOnChanges() {
         // pre-extract variable parameters values
         if (this._results) {
             this.varValues = [];
@@ -146,6 +149,7 @@ export class PabProfileChartComponent extends ResultsComponentDirective {
                 this.varValues.push(vv);
             }
         }
+        this.generateScatterChart();
     }
 
     public zoomComplete() {
@@ -157,10 +161,6 @@ export class PabProfileChartComponent extends ResultsComponentDirective {
         return this._zoomWasChanged;
     }
 
-    public updateView() {
-        this.generateScatterChart();
-    }
-
     /**
      * génère les données d'un graphique de type "scatter"
      */
diff --git a/src/app/components/pab-results/pab-results.component.html b/src/app/components/pab-results/pab-results.component.html
index 92237bf25..f7eaa7865 100644
--- a/src/app/components/pab-results/pab-results.component.html
+++ b/src/app/components/pab-results/pab-results.component.html
@@ -20,7 +20,8 @@
     <div id="pab-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start">
         <pab-profile-chart *ngIf="hasDisplayableResults" [results]=pabResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </pab-profile-chart>
-        <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
+        <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults [resultData]=plottableResults?.result
+          fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </results-chart>
     </div>
 
diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts
index 2995070a5..2dd547434 100644
--- a/src/app/components/results-chart/results-chart.component.ts
+++ b/src/app/components/results-chart/results-chart.component.ts
@@ -1,8 +1,8 @@
-import { Component, ViewChild, AfterContentInit, ChangeDetectorRef, Input, OnChanges, SimpleChanges } from "@angular/core";
+import { Component, ViewChild, AfterContentInit, ChangeDetectorRef, Input, OnChanges } from "@angular/core";
 
 import { ChartComponent } from "angular2-chartjs";
 
-import { Observer, ParamFamily } from "jalhyd";
+import { Observer, ParamFamily, Result } from "jalhyd";
 
 import { ChartTypeSelectComponent } from "./chart-type.component";
 import { I18nService } from "../../services/internationalisation.service";
@@ -21,7 +21,7 @@ import { AppComponent } from "../../app.component";
         "./results-chart.component.scss"
     ]
 })
-export class ResultsChartComponent extends ResultsComponentDirective implements AfterContentInit, Observer {
+export class ResultsChartComponent extends ResultsComponentDirective implements AfterContentInit, Observer, OnChanges {
 
     @ViewChild(ChartComponent)
     private chartComponent;
@@ -98,6 +98,11 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
         }
     }
 
+    @Input()
+    public set resultData(r: Result) {
+        // trick to trigger onChanges when results data changes
+    }
+
     public get availableXAxis(): string[] {
         if (this._results) {
             return this._results.getAvailableXAxis();
@@ -124,9 +129,8 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
     public set chartX(X) {
         if (X !== this.chartX) {
             this._results.chartX = X;
-            this.forceRebuild();
             // refresh chart
-            this.updateView();
+            this.drawChart();
         }
     }
 
@@ -139,9 +143,8 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
     public set chartY(Y) {
         if (Y !== this.chartY) {
             this._results.chartY = Y;
-            this.forceRebuild();
             // refresh chart
-            this.updateView();
+            this.drawChart();
         }
     }
 
@@ -169,8 +172,15 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
         return this._zoomWasChanged;
     }
 
-    public updateView() {
-        console.log("----> regenerate chart !!");
+    public ngOnChanges() {
+        console.log("==> ResChart onChanges");
+        // redessiner le graphique chaque fois qu'une entrée change
+        this.drawChart();
+    }
+
+    public drawChart() {
+        console.log("----> regenerate chart !!", this._results);
+        if (this._results && this._results.hasPlottableResults()) {
             switch (this._graphTypeComponent.selectedValue) {
                 case ChartType.Histogram:
                     this.graph_type = "bar";
@@ -188,6 +198,7 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
                     break;
             }
         }
+    }
 
     public ngAfterContentInit() {
         this._graphTypeComponent.addObserver(this);
@@ -212,15 +223,6 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
         return l;
     }
 
-    /** forces Angular to rebuild the chart @see bug #137 */
-    private forceRebuild() {
-        this.displayChart = false;
-        const that = this;
-        setTimeout(() => { // trick
-            that.displayChart = true;
-        }, 10);
-    }
-
     /**
      * génère les données d'un graphique de type "bar"
      */
@@ -482,6 +484,6 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
                 this._results.chartType = data.value;
             }
         }
-        this.updateView();
+        this.drawChart();
     }
 }
diff --git a/src/app/formulaire/definition/form-pb-cloison.ts b/src/app/formulaire/definition/form-pb-cloison.ts
index 0327b95aa..2b21a3287 100644
--- a/src/app/formulaire/definition/form-pb-cloison.ts
+++ b/src/app/formulaire/definition/form-pb-cloison.ts
@@ -146,8 +146,6 @@ export class FormulairePbCloison extends FormulaireParallelStructure {
     public reset() {
         // also reset parent results (that will reset all its children results)
         (this.parent as FormulairePrebarrage).reset();
-        // prévenir les composants qu'il faut détecter les changements
-        this.notifyReset();
     }
 
     // ensure all PBresults are reset
diff --git a/src/app/results/param-calc-results.ts b/src/app/results/param-calc-results.ts
index 62cd26f84..f77df00dd 100644
--- a/src/app/results/param-calc-results.ts
+++ b/src/app/results/param-calc-results.ts
@@ -40,15 +40,6 @@ export abstract class CalculatedParamResults extends CalculatorResults {
             return false;
         }
         return true;
-        // return ! this.result.hasOnlyErrors;
-    }
-
-    /** return true if there is something to display on the variable results chart */
-    public get hasPlottableResults(): boolean {
-        if (this.result === undefined) {
-            return false;
-        }
-        return ! this.result.hasOnlyErrors;
     }
 
     public get hasLog(): boolean {
diff --git a/src/app/results/plottable-data.ts b/src/app/results/plottable-data.ts
index 5df0f992f..a2bd574d2 100644
--- a/src/app/results/plottable-data.ts
+++ b/src/app/results/plottable-data.ts
@@ -47,4 +47,9 @@ export interface PlottableData {
      * (used by tooltip functions)
      */
     getVariatingParametersSymbols(): string[];
+
+    /**
+     * Returns true if results contain data
+     */
+    hasPlottableResults(): boolean;
 }
diff --git a/src/app/results/plottable-macrorugo-compound-results.ts b/src/app/results/plottable-macrorugo-compound-results.ts
index f98b337af..ace4357c6 100644
--- a/src/app/results/plottable-macrorugo-compound-results.ts
+++ b/src/app/results/plottable-macrorugo-compound-results.ts
@@ -21,6 +21,10 @@ export class PlottableMacrorugoCompoundResults implements PlottableData {
         this.chartY = this.chartY || "Q";
     }
 
+    public hasPlottableResults(): boolean {
+        return this.mrcResults && this.mrcResults.hasResults;
+    }
+
     /** reaffect mrcResults, for ex. when objet was contructed with empty mrcResults */
     public setMrcResults(mrcResults: MacrorugoCompoundResults) {
         this.mrcResults = mrcResults;
diff --git a/src/app/results/plottable-pab-results.ts b/src/app/results/plottable-pab-results.ts
index 09d83514e..1ca650a94 100644
--- a/src/app/results/plottable-pab-results.ts
+++ b/src/app/results/plottable-pab-results.ts
@@ -22,6 +22,10 @@ export class PlottablePabResults implements PlottableData {
         this.chartY = this.chartY || "YMOY";
     }
 
+    public hasPlottableResults(): boolean {
+        return this.pabResults && this.pabResults.hasResults;
+    }
+
     /** reaffect pabResults, for ex. when objet was contructed with empty pabResults */
     public setPabResults(pabResults: PabResults) {
         this.pabResults = pabResults;
diff --git a/src/app/results/var-results.ts b/src/app/results/var-results.ts
index 826d051ec..b3b4ace2c 100644
--- a/src/app/results/var-results.ts
+++ b/src/app/results/var-results.ts
@@ -106,19 +106,28 @@ export class VarResults extends CalculatedParamResults implements PlottableData
         this.resetDefaultAxisIfNeeded();
     }
 
-    public getChartAxisLabel(symbol: string): string {
-        // 1. calculated param ?
-        if (this.calculatedParameter && this.calculatedParameter.symbol === symbol) {
-            return this.calculatedParameterHeader;
+    public hasPlottableResults(): boolean {
+        if (this.result === undefined) {
+            return false;
         }
-        // 2. variated param ?
-        for (let i = 0; i < this.variatedParameters.length; i++) {
-            if (this._variatedParams[i].param.symbol === symbol) {
-                return this.variableParamHeaders[i];
+        return ! this.result.hasOnlyErrors;
+    }
+
+    public getChartAxisLabel(symbol: string): string {
+        if (this.result) {
+            // 1. calculated param ?
+            if (this.calculatedParameter && this.calculatedParameter.symbol === symbol) {
+                return this.calculatedParameterHeader;
+            }
+            // 2. variated param ?
+            for (let i = 0; i < this.variatedParameters.length; i++) {
+                if (this._variatedParams[i].param.symbol === symbol) {
+                    return this.variableParamHeaders[i];
+                }
             }
+            // 3. Result element / child result
+            return this.expandLabelFromSymbol(new ParamDefinition(undefined, symbol, ParamDomainValue.ANY));
         }
-        // 3. Result element / child result
-        return this.expandLabelFromSymbol(new ParamDefinition(undefined, symbol, ParamDomainValue.ANY));
     }
 
     /**
-- 
GitLab


From 9f7ebf373dcf691ec8fca86794bf086fea72c181 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Mon, 20 Jul 2020 15:51:39 +0200
Subject: [PATCH 115/117] Simplified section canvas component

---
 src/app/app.module.ts                         |   2 -
 src/app/components/canvas/canvas.component.ts | 109 -------
 .../jet-trajectory-chart.component.ts         |   1 -
 .../macrorugo-compound-results.component.ts   |   2 +-
 .../pab-profile-chart.component.ts            |   2 +-
 .../remous-results.component.html             |   2 +-
 .../remous-results.component.ts               |  18 +-
 .../section-canvas.component.html             |   2 +
 .../section-canvas.component.scss             |   3 +
 .../section-canvas.component.ts               | 284 +++++++++++++-----
 .../section-results.component.html            |   2 +-
 .../section-results.component.ts              | 138 +++------
 12 files changed, 263 insertions(+), 302 deletions(-)
 delete mode 100644 src/app/components/canvas/canvas.component.ts
 create mode 100644 src/app/components/section-canvas/section-canvas.component.html
 create mode 100644 src/app/components/section-canvas/section-canvas.component.scss

diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 4d9072331..053e0ddcf 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -67,7 +67,6 @@ import { FixedVarResultsComponent } from "./components/fixedvar-results/fixedvar
 import { SectionResultsComponent } from "./components/section-results/section-results.component";
 import { GenericCalculatorComponent } from "./components/generic-calculator/calculator.component";
 import { CalculatorNameComponent } from "./components/generic-calculator/calc-name.component";
-import { CalcCanvasComponent } from "./components/canvas/canvas.component";
 import { SectionCanvasComponent } from "./components/section-canvas/section-canvas.component";
 import { RemousResultsComponent } from "./components/remous-results/remous-results.component";
 import { ResultsChartComponent } from "./components/results-chart/results-chart.component";
@@ -185,7 +184,6 @@ const appRoutes: Routes = [
     AppComponent,
     ApplicationSetupComponent,
     BaseParamInputComponent,
-    CalcCanvasComponent,
     CalculatorListComponent,
     CalculatorNameComponent,
     CalculatorResultsComponent,
diff --git a/src/app/components/canvas/canvas.component.ts b/src/app/components/canvas/canvas.component.ts
deleted file mode 100644
index 2035e886e..000000000
--- a/src/app/components/canvas/canvas.component.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-import { Component, Input, ViewChild, ElementRef, AfterViewInit } from "@angular/core";
-
-@Component({
-    selector: "calc-canvas",
-    template: `<canvas #canvas
-    [attr.width]="width"
-    [attr.height]="height">
-    </canvas>
-    `
-})
-export class CalcCanvasComponent implements AfterViewInit {
-
-    public get width(): number {
-        return this._calcCanvas.nativeElement.width;
-    }
-
-    @Input()
-    public set width(w: number) {
-        this._calcCanvas.nativeElement.width = w;
-    }
-
-    public get height(): number {
-        return this._calcCanvas.nativeElement.height;
-    }
-
-    @Input()
-    public set height(h: number) {
-        this._calcCanvas.nativeElement.height = h;
-    }
-
-    private _context2d: CanvasRenderingContext2D;
-
-    @ViewChild("canvas", { static: true })
-    private _calcCanvas: ElementRef;
-
-    ngAfterViewInit() { // wait for the view to init before using the element
-        this._context2d = this._calcCanvas.nativeElement.getContext("2d");
-    }
-
-    public clear() {
-        if (this._context2d) {
-            this._context2d.clearRect(0, 0, this.width, this.height);
-        }
-    }
-
-    public setStrokeColor(r: number, g: number, b: number) {
-        const col: string = "rgb(" + r + "," + g + "," + b + ")";
-        this._context2d.strokeStyle = col;
-    }
-
-    public setFillColor(r: number, g: number, b: number) {
-        const col: string = "rgb(" + r + "," + g + "," + b + ")";
-        this._context2d.fillStyle = col;
-    }
-
-    public setFont(f: string) {
-        this._context2d.font = f;
-    }
-
-    public fillText(s: string, x: number, y: number, align?: any) {
-        if (align) {
-            this._context2d.textAlign = align;
-        }
-        this._context2d.fillText(s, x, y);
-    }
-
-    public setLineWidth(w: number) {
-        this._context2d.lineWidth = w;
-    }
-
-    public setLineDash(d: number[]) {
-        this._context2d.setLineDash(d);
-    }
-
-    public resetLineDash() {
-        this._context2d.setLineDash([]);
-    }
-
-    public drawRect(x1: number, y1: number, w: number, h: number) {
-        this._context2d.strokeRect(x1, y1, w, h);
-    }
-
-    public drawLine(x1: number, y1: number, x2: number, y2: number) {
-        this._context2d.beginPath();
-        this._context2d.moveTo(x1, y1);
-        this._context2d.lineTo(x2, y2);
-        this._context2d.stroke();
-    }
-
-    /**
-     *
-     * @param x The x axis of the coordinate for the ellipse's center.
-     * @param y The y axis of the coordinate for the ellipse's center.
-     * @param radiusX The ellipse's major-axis radius.
-     * @param radiusY The ellipse's minor-axis radius.
-     * @param rotation The rotation for this ellipse, expressed in radians
-     * @param startAngle The starting point, measured from the x axis, from which it will be drawn, expressed in radians
-     * @param endAngle The end ellipse's angle to which it will be drawn, expressed in radians
-     */
-    public drawEllipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number) {
-        this._context2d.beginPath();
-        this._context2d.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle);
-        this._context2d.stroke();
-    }
-
-    public get context2d(): CanvasRenderingContext2D {
-        return this._context2d;
-    }
-}
diff --git a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
index 2f92d72ac..3e4d1e9db 100644
--- a/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
+++ b/src/app/components/jet-trajectory-chart/jet-trajectory-chart.component.ts
@@ -132,7 +132,6 @@ export class JetTrajectoryChartComponent extends ResultsComponentDirective imple
 
     @Input()
     public set results(r: Result) {
-        console.log("miam miam les bons résultats !", r);
         this.forceRebuild(); // used for forcing redefinition of xAxes[0].ticks.min/max in generateScatterChart()
         this._results = r;
     }
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
index d59d27a3f..6c17591e8 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
@@ -33,7 +33,7 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
     }
 
     public ngOnChanges() {
-        console.log("--------> MRCR_C changes…");
+        // console.log("--------> MRCR_C changes…");
     }
 
     @Input()
diff --git a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
index 9e4e3ba5e..5d9220b27 100644
--- a/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
+++ b/src/app/components/pab-profile-chart/pab-profile-chart.component.ts
@@ -148,8 +148,8 @@ export class PabProfileChartComponent extends ResultsComponentDirective implemen
                 }
                 this.varValues.push(vv);
             }
+            this.generateScatterChart();
         }
-        this.generateScatterChart();
     }
 
     public zoomComplete() {
diff --git a/src/app/components/remous-results/remous-results.component.html b/src/app/components/remous-results/remous-results.component.html
index 6b5fda516..7d40b0fa6 100644
--- a/src/app/components/remous-results/remous-results.component.html
+++ b/src/app/components/remous-results/remous-results.component.html
@@ -40,7 +40,7 @@
 <!-- journal -->
 <log [log]=log></log>
 
-<div [hidden]="! hasData"><!-- *ngIf breaks @ViewChild availability-->
+<div *ngIf="hasData">
     <!-- résultats numériques -->
     <var-results [results]=varResults></var-results>
 </div>
diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts
index d6c1b356f..532556c37 100644
--- a/src/app/components/remous-results/remous-results.component.ts
+++ b/src/app/components/remous-results/remous-results.component.ts
@@ -1,4 +1,4 @@
-import { Component, Input } from "@angular/core";
+import { Component, Input, OnChanges, SimpleChanges } from "@angular/core";
 
 import { INumberIterator, CourbeRemousParams, CourbeRemous, ParamDefinition, ParamDomainValue, cLog } from "jalhyd";
 
@@ -19,7 +19,7 @@ import { VarResults } from "../../results/var-results";
         "./remous-results.component.scss"
     ]
 })
-export class RemousResultsComponent extends ResultsComponentDirective {
+export class RemousResultsComponent extends ResultsComponentDirective implements OnChanges {
 
     private _remousResults: RemousResults;
 
@@ -127,11 +127,6 @@ export class RemousResultsComponent extends ResultsComponentDirective {
         return this._tableHeaders;
     }
 
-    public getResultClass(i: number) {
-        // tslint:disable-next-line:no-bitwise
-        return "result_id_" + String(i & 1);
-    }
-
     public get hasResults(): boolean {
         return this._remousResults?.hasResults;
     }
@@ -153,6 +148,13 @@ export class RemousResultsComponent extends ResultsComponentDirective {
         }
     }
 
+    public ngOnChanges(s: SimpleChanges) {
+        // console.log("_________> RRC onChanges", s);
+        if (this._remousResults && this._remousResults.result) {
+            this.generateChart();
+        }
+    }
+
     public get log(): cLog {
         if (this._remousResults !== undefined) {
             return this._remousResults.log;
@@ -235,7 +237,7 @@ export class RemousResultsComponent extends ResultsComponentDirective {
     private generateChart() {
         // http://www.chartjs.org/docs/latest/charts/line.html
         // le dernier dataset de la liste datasets est dessiné en 1er
-
+        console.log("ooOOO Oui !");
         this._remousResults.update();
 
         const nub = this._remousResults.result.sourceNub as CourbeRemous;
diff --git a/src/app/components/section-canvas/section-canvas.component.html b/src/app/components/section-canvas/section-canvas.component.html
new file mode 100644
index 000000000..da242b966
--- /dev/null
+++ b/src/app/components/section-canvas/section-canvas.component.html
@@ -0,0 +1,2 @@
+<canvas #canvas [attr.width]="width" [attr.height]="height">
+</canvas>
diff --git a/src/app/components/section-canvas/section-canvas.component.scss b/src/app/components/section-canvas/section-canvas.component.scss
new file mode 100644
index 000000000..7f26ddcb5
--- /dev/null
+++ b/src/app/components/section-canvas/section-canvas.component.scss
@@ -0,0 +1,3 @@
+:host {
+    display: block;
+}
diff --git a/src/app/components/section-canvas/section-canvas.component.ts b/src/app/components/section-canvas/section-canvas.component.ts
index 3475f8842..81b4c45dd 100644
--- a/src/app/components/section-canvas/section-canvas.component.ts
+++ b/src/app/components/section-canvas/section-canvas.component.ts
@@ -1,27 +1,30 @@
-import { Component, ViewChild } from "@angular/core";
+import { Component, ViewChild, Input, OnChanges, AfterViewInit, ElementRef } from "@angular/core";
 
 import {
     acSection, cSnTrapez, ParamsSectionTrapez, cSnRectang, ParamsSectionRectang, cSnCirc,
     ParamsSectionCirc, cSnPuiss, ParamsSectionPuiss, Result
 } from "jalhyd";
 
-import { CalcCanvasComponent } from "../canvas/canvas.component";
+import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 
 @Component({
     selector: "section-canvas",
-    template: `<calc-canvas #calcCanvas
-    [width]="size"
-    [height]="size">
-    </calc-canvas>
-    `
+    templateUrl: "./section-canvas.component.html",
+    styleUrls: [
+        "./section-canvas.component.scss"
+    ]
 })
-export class SectionCanvasComponent {
-
-    /** default square size, supposed to match device size (computed at contruct time) */
-    public originalSize: number;
-
-    /** taille (pixels) du canvas (c'est un carré) */
-    public size = 400;
+export class SectionCanvasComponent extends ResultsComponentDirective implements AfterViewInit, OnChanges {
+
+    private static labelColors: { [key: string]: any; } = {
+        "Hs": { r: 255, g: 0, b: 0 },
+        "Hsc": { r: 0, g: 0, b: 255 },
+        "Yn": { r: 16, g: 128, b: 16 },
+        "Ycor": { r: 128, g: 128, b: 128 },
+        "Yc": { r: 255, g: 128, b: 0 },
+        "Ycon": { r: 255, g: 0, b: 255 },
+        "Y": { r: 50, g: 50, b: 50 }
+    };
 
     /** marges gauche/droite pour le texte (pixels) */
     private _textMargin = 90;
@@ -35,42 +38,59 @@ export class SectionCanvasComponent {
 
     private _section: acSection;
 
+    private _result: Result;
+
+    private _size: number;
+
     // tirants
     private _levels: Object[] = [];
 
-    @ViewChild("calcCanvas")
-    private _calcCanvas: CalcCanvasComponent;
+    public get width(): number {
+        // return this._calcCanvas.nativeElement.width;
+        return this._size;
+    }
 
+    public get height(): number {
+        // return this._calcCanvas.nativeElement.height;
+        return this._size;
+    }
+
+    private _context2d: CanvasRenderingContext2D;
+
+    @ViewChild("canvas", { static: true })
+    private _calcCanvas: ElementRef;
+
+    @Input()
     public set section(s: acSection) {
         this._section = s;
-        if (this._section) {
-            this.draw();
-        }
     }
 
-    public reset() {
-        this._section = undefined;
-        this._levels = [];
-        this._calcCanvas.clear();
+    @Input()
+    public set result(r: Result) {
+        this._result = r;
     }
 
-    private computeScale(maxWidth: number, maxHeight: number) {
-        this._scaleX = (this.size - 2 * this._textMargin) / maxWidth;
-        this._scaleY = (this.size - this._bottomMargin) / maxHeight;
+    @Input()
+    public set size(s: number) {
+        this._size = s;
+        console.log("(i) size set to", this._size);
     }
 
-    /**
-     * convertit une abscisse en m en pixels
-     */
-    private Xm2pix(x: number) {
-        return this._textMargin + x * this._scaleX;
+    // redessine le canvas chaque fois qu'une entrée change
+    public ngOnChanges() {
+        console.log("XXX section canvas on changes");
+        this.draw();
     }
 
-    /**
-     * convertit une ordonnée en m en pixels
-     */
-    private Ym2pix(y: number) {
-        return this.size - this._bottomMargin - y * this._scaleY;
+    public ngAfterViewInit() { // wait for the view to init before using the element
+        this._context2d = this._calcCanvas.nativeElement.getContext("2d");
+        console.log("<<<< after view init >>>");
+        this.draw();
+    }
+
+    public reset() {
+        this._levels = [];
+        this.clear();
     }
 
     public addLevel(val: number, label: string, rgb: {}) {
@@ -83,6 +103,45 @@ export class SectionCanvasComponent {
         return Math.max(this._section.prms.YB.v, this._levels[this._levels.length - 1]["val"]);
     }
 
+    private isSectionLevel(s: string) {
+        for (const k in SectionCanvasComponent.labelColors) {
+            if (k === s) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    public draw() {
+        console.log(">> redrawing at size", this._size);
+        if (this._context2d && this._section) {
+            this.reset();
+
+            // traduction des symboles des variables calculées
+            const re = this._result.resultElement;
+            for (const k in re.values) {
+                if (k !== re.vCalcSymbol) {
+                    const lbl = k.toUpperCase();
+                    const er = re.getValue(k);
+                    // this._resultElement.addExtraResult(lbl, er);
+
+                    if (this.isSectionLevel(k)) {
+                        this.addLevel(er, k + " = " + this.formattedValue(er), SectionCanvasComponent.labelColors[k]);
+                    }
+                }
+            }
+
+            // ajout du tirant d'eau saisi
+            const valY = this._result.sourceNub.getParameter("Y").singleValue;
+            this.addLevel(valY, "Y = " + this.formattedValue(valY), SectionCanvasComponent.labelColors["Y"]);
+
+            this.sortLevels();
+            this.drawFrame();
+            const maxWidth = this.drawSection();
+            this.drawLevels(maxWidth);
+        }
+    }
+
     /**
      * dessin des pointillés au dessus de la berge
      * xmin,xmax : position gauche/droite
@@ -90,9 +149,9 @@ export class SectionCanvasComponent {
      * maxHeight : valeur maxi des cotes
      */
     private drawTopDashLines(xmin: number, xmax: number, yb: number, maxHeight: number) {
-        this._calcCanvas.setLineWidth(2);
-        this._calcCanvas.setLineDash([5]);
-        this._calcCanvas.setStrokeColor(128, 128, 128);
+        this.setLineWidth(2);
+        this.setLineDash([5]);
+        this.setStrokeColor(128, 128, 128);
         this.drawSectionLine(xmin, yb, xmin, maxHeight);
         this.drawSectionLine(xmax, yb, xmax, maxHeight);
     }
@@ -118,8 +177,8 @@ export class SectionCanvasComponent {
 
         // dessin de la section
 
-        this._calcCanvas.setStrokeColor(0, 0, 0);
-        this._calcCanvas.setLineWidth(5);
+        this.setStrokeColor(0, 0, 0);
+        this.setLineWidth(5);
         this.drawSectionLine(0, yb, lp, 0);
         this.drawSectionLine(lp, 0, lp + prms.LargeurFond.v, 0);
         this.drawSectionLine(lp + prms.LargeurFond.v, 0, maxWidth, yb);
@@ -149,8 +208,8 @@ export class SectionCanvasComponent {
 
         // dessin de la section
 
-        this._calcCanvas.setStrokeColor(0, 0, 0);
-        this._calcCanvas.setLineWidth(5);
+        this.setStrokeColor(0, 0, 0);
+        this.setLineWidth(5);
         this.drawSectionLine(0, yb, 0, 0);
         this.drawSectionLine(0, 0, prms.LargeurBerge.v, 0);
         this.drawSectionLine(prms.LargeurBerge.v, 0, maxWidth, yb);
@@ -191,8 +250,8 @@ export class SectionCanvasComponent {
 
             // dessin de la section
 
-            this._calcCanvas.setStrokeColor(0, 0, 0);
-            this._calcCanvas.setLineWidth(5);
+            this.setStrokeColor(0, 0, 0);
+            this.setLineWidth(5);
 
             const wx: number = maxWidth / 2;
             const alpha: Result = sect.CalcSection("Alpha", yb);
@@ -237,19 +296,19 @@ export class SectionCanvasComponent {
 
         // contour de la section
 
-        this._calcCanvas.setStrokeColor(0, 0, 0);
-        this._calcCanvas.setLineWidth(5);
+        this.setStrokeColor(0, 0, 0);
+        this.setLineWidth(5);
         const k: number = prms.k.v;
         const lambda: number = B / Math.pow(yb, k);
         const inv_k: number = 1 / k;
 
         const n = 20;
-        this.beginPath();
+        this._context2d.beginPath();
         for (let x: number = -B / 2; x <= B / 2; x += B / n) {
             const y: number = Math.pow(Math.abs(x) * 2 / lambda, inv_k);
-            this.lineTo(x + B / 2, y);
+            this._context2d.lineTo(this.Xm2pix(x + B / 2), this.Ym2pix(y));
         }
-        this.closePath();
+        this._context2d.stroke();
 
         // pointillés du haut
         this.drawTopDashLines(0, maxWidth, yb, maxHeight);
@@ -257,28 +316,16 @@ export class SectionCanvasComponent {
         return maxWidth;
     }
 
-    private beginPath() {
-        this._calcCanvas.context2d.beginPath();
-    }
-
-    private lineTo(x: number, y: number) {
-        this._calcCanvas.context2d.lineTo(this.Xm2pix(x), this.Ym2pix(y));
-    }
-
-    private closePath() {
-        this._calcCanvas.context2d.stroke();
-    }
-
     private drawSectionEllipse(x: number, y: number, rX: number, rY: number, rot: number, start: number, end: number) {
-        this._calcCanvas.drawEllipse(this.Xm2pix(x), this.Ym2pix(y), rX * this._scaleX, rY * this._scaleY, rot, start, end);
+        this.drawEllipse(this.Xm2pix(x), this.Ym2pix(y), rX * this._scaleX, rY * this._scaleY, rot, start, end);
     }
 
     private drawText(s: string, x: number, y: number, align?: string) {
-        this._calcCanvas.fillText(s, this.Xm2pix(x), this.Ym2pix(y), align);
+        this.fillText(s, this.Xm2pix(x), this.Ym2pix(y), align);
     }
 
     private drawSectionLine(x1: number, y1: number, x2: number, y2: number) {
-        this._calcCanvas.drawLine(this.Xm2pix(x1), this.Ym2pix(y1), this.Xm2pix(x2), this.Ym2pix(y2));
+        this.drawLine(this.Xm2pix(x1), this.Ym2pix(y1), this.Xm2pix(x2), this.Ym2pix(y2));
     }
 
     /**
@@ -301,6 +348,25 @@ export class SectionCanvasComponent {
         throw new Error("SectionCanvasComponent.drawSection() : type de section non pris en charge");
     }
 
+    private computeScale(maxWidth: number, maxHeight: number) {
+        this._scaleX = (this._size - 2 * this._textMargin) / maxWidth;
+        this._scaleY = (this._size - this._bottomMargin) / maxHeight;
+    }
+
+    /**
+     * convertit une abscisse en m en pixels
+     */
+    private Xm2pix(x: number) {
+        return this._textMargin + x * this._scaleX;
+    }
+
+    /**
+     * convertit une ordonnée en m en pixels
+     */
+    private Ym2pix(y: number) {
+        return this._size - this._bottomMargin - y * this._scaleY;
+    }
+
     private sortLevels() {
         this._levels.sort((a, b) => {
             if (a["val"] < b["val"]) {
@@ -316,16 +382,16 @@ export class SectionCanvasComponent {
     private drawLevels(maxWidth: number) {
         let left = true;
 
-        this._calcCanvas.resetLineDash();
-        this._calcCanvas.setLineWidth(1);
-        this._calcCanvas.setFont("12px sans- serif");
+        this.resetLineDash();
+        this.setLineWidth(1);
+        this.setFont("12px sans- serif");
         for (const l of this._levels) {
             const y = l["val"];
             const col = l["rgb"];
-            this._calcCanvas.setStrokeColor(col["r"], col["g"], col["b"]);
+            this.setStrokeColor(col["r"], col["g"], col["b"]);
             this.drawSectionLine(0, y, maxWidth, y);
 
-            this._calcCanvas.setFillColor(col["r"], col["g"], col["b"]);
+            this.setFillColor(col["r"], col["g"], col["b"]);
             if (left) {
                 this.drawText(l["label"], -0.1, y, "right");
             } else {
@@ -337,17 +403,75 @@ export class SectionCanvasComponent {
 
     // contour du canvas
     private drawFrame() {
-        this._calcCanvas.clear();
-        this._calcCanvas.resetLineDash();
-        this._calcCanvas.setStrokeColor(128, 128, 128);
-        this._calcCanvas.drawRect(0, 0, this._calcCanvas.width, this._calcCanvas.height);
+        this.clear();
+        this.resetLineDash();
+        this.setStrokeColor(128, 128, 128);
+        this.drawRect(0, 0, this.width, this.height);
     }
 
-    public draw() {
-        // console.log(">> redrawing at size", this.size);
-        this.sortLevels();
-        this.drawFrame();
-        const maxWidth = this.drawSection();
-        this.drawLevels(maxWidth);
+    public clear() {
+        if (this._context2d) {
+            this._context2d.clearRect(0, 0, this.width, this.height);
+        }
+    }
+
+    public setStrokeColor(r: number, g: number, b: number) {
+        const col: string = "rgb(" + r + "," + g + "," + b + ")";
+        this._context2d.strokeStyle = col;
+    }
+
+    public setFillColor(r: number, g: number, b: number) {
+        const col: string = "rgb(" + r + "," + g + "," + b + ")";
+        this._context2d.fillStyle = col;
+    }
+
+    public setFont(f: string) {
+        this._context2d.font = f;
+    }
+
+    public fillText(s: string, x: number, y: number, align?: any) {
+        if (align) {
+            this._context2d.textAlign = align;
+        }
+        this._context2d.fillText(s, x, y);
+    }
+
+    public setLineWidth(w: number) {
+        this._context2d.lineWidth = w;
+    }
+
+    public setLineDash(d: number[]) {
+        this._context2d.setLineDash(d);
+    }
+
+    public resetLineDash() {
+        this._context2d.setLineDash([]);
+    }
+
+    public drawRect(x1: number, y1: number, w: number, h: number) {
+        this._context2d.strokeRect(x1, y1, w, h);
+    }
+
+    public drawLine(x1: number, y1: number, x2: number, y2: number) {
+        this._context2d.beginPath();
+        this._context2d.moveTo(x1, y1);
+        this._context2d.lineTo(x2, y2);
+        this._context2d.stroke();
+    }
+
+    /**
+     *
+     * @param x The x axis of the coordinate for the ellipse's center.
+     * @param y The y axis of the coordinate for the ellipse's center.
+     * @param radiusX The ellipse's major-axis radius.
+     * @param radiusY The ellipse's minor-axis radius.
+     * @param rotation The rotation for this ellipse, expressed in radians
+     * @param startAngle The starting point, measured from the x axis, from which it will be drawn, expressed in radians
+     * @param endAngle The end ellipse's angle to which it will be drawn, expressed in radians
+     */
+    public drawEllipse(x: number, y: number, radiusX: number, radiusY: number, rotation: number, startAngle: number, endAngle: number) {
+        this._context2d.beginPath();
+        this._context2d.ellipse(x, y, radiusX, radiusY, rotation, startAngle, endAngle);
+        this._context2d.stroke();
     }
 }
diff --git a/src/app/components/section-results/section-results.component.html b/src/app/components/section-results/section-results.component.html
index 04625e227..354c04b94 100644
--- a/src/app/components/section-results/section-results.component.html
+++ b/src/app/components/section-results/section-results.component.html
@@ -14,7 +14,7 @@
 
         <!-- graphique -->
         <div class="canvas-container">
-            <section-canvas></section-canvas>
+            <section-canvas [result]=result [section]=section [size]=size></section-canvas>
         </div>
     </div>
 </div>
diff --git a/src/app/components/section-results/section-results.component.ts b/src/app/components/section-results/section-results.component.ts
index 0f5529223..b38542d11 100644
--- a/src/app/components/section-results/section-results.component.ts
+++ b/src/app/components/section-results/section-results.component.ts
@@ -1,8 +1,5 @@
-import { Component, ViewChild, ElementRef, Input } from "@angular/core";
+import { Component, ElementRef, Input, AfterContentChecked } from "@angular/core";
 
-import { ResultElement } from "jalhyd";
-
-import { SectionCanvasComponent } from "../section-canvas/section-canvas.component";
 import { SectionResults } from "../../results/section-results";
 import { CalculatorResults } from "../../results/calculator-results";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
@@ -18,16 +15,30 @@ import { AppComponent } from "../../app.component";
 })
 export class SectionResultsComponent extends ResultsComponentDirective {
 
+    /** taille (pixels) du canvas (c'est un carré) */
+    public _size: number;
+
+    /** hardcoded bullet-proof default canvas size **/
+    private previousContainerSize: number;
+
+    private defaultSize = 400;
+
+    private minimalSize = 300;
+
+    /**  résultats non mis en forme */
+    private _results: SectionResults;
+
     constructor(
         private intlService: I18nService,
         private element: ElementRef,
     ) {
         super();
+        this.previousContainerSize = this.defaultSize;
+        this._size = this.previousContainerSize;
     }
 
     @Input()
     public set results(rs: CalculatorResults[]) {
-        this._resultElement = undefined;
         this._results = undefined;
         if (rs) {
             for (const r of rs) {
@@ -36,99 +47,22 @@ export class SectionResultsComponent extends ResultsComponentDirective {
                 }
             }
         }
-        this.drawSectionCanvas();
     }
 
-    /** détermine s'il y a des résultats de section "fixes" (pas de paramètre varié, graphique de la section) */
     public get hasResults(): boolean {
         return this._results && this._results.hasResults;
     }
 
-    public get resultElement() {
-        return this._resultElement;
+    public get section() {
+        return this._results.section;
     }
 
-    private static labelColors: { [key: string]: any; } = {
-        "Hs": { r: 255, g: 0, b: 0 },
-        "Hsc": { r: 0, g: 0, b: 255 },
-        "Yn": { r: 16, g: 128, b: 16 },
-        "Ycor": { r: 128, g: 128, b: 128 },
-        "Yc": { r: 255, g: 128, b: 0 },
-        "Ycon": { r: 255, g: 0, b: 255 },
-        "Y": { r: 50, g: 50, b: 50 }
-    };
-
-    /** hardcoded bullet-proof default canvas size **/
-    private previousContainerSize = 400;
-
-    /**  résultats non mis en forme */
-    private _results: SectionResults;
-
-    /**
-     * ResultElement mis en forme (symboles des variables traduits)
-     */
-    private _resultElement: ResultElement;
-
-    @ViewChild(SectionCanvasComponent)
-    private _sectionCanvas: SectionCanvasComponent;
-
-    private isSectionLevel(s: string) {
-        for (const k in SectionResultsComponent.labelColors) {
-            if (k === s) {
-                return true;
-            }
-        }
-        return false;
+    public get result() {
+        return this._results.result;
     }
 
-    private drawSectionCanvas() {
-        if (this._results && this._sectionCanvas) {
-
-            this._sectionCanvas.reset();
-
-            this._resultElement = new ResultElement();
-
-            // compute canvas optimal size the first time
-            if (this._sectionCanvas.originalSize === undefined) {
-                const container = this.element.nativeElement.querySelector(".section-results-container");
-                const size = Math.min(container.offsetWidth, container.offsetHeight);
-                this._sectionCanvas.originalSize = size - 17; // 417 - 17 = 400
-                this._sectionCanvas.size = this._sectionCanvas.originalSize;
-            }
-
-            // traduction des symboles des variables calculées
-            const re = this._results.result.resultElement;
-            for (const k in re.values) {
-                if (k !== re.vCalcSymbol) {
-                    const lbl = k.toUpperCase();
-                    const er = re.getValue(k);
-                    this._resultElement.addExtraResult(lbl, er);
-
-                    if (this.isSectionLevel(k)) {
-                        this._sectionCanvas.addLevel(er, k + " = " + this.formattedValue(er), SectionResultsComponent.labelColors[k]);
-                    }
-                }
-            }
-
-            // ajout du tirant d'eau saisi
-            const valY = this._results.result.sourceNub.getParameter("Y").singleValue;
-            this._sectionCanvas.addLevel(valY, "Y = " + this.formattedValue(valY), SectionResultsComponent.labelColors["Y"]);
-
-            // wait just a little to draw, in case this._sectionCanvas.size was changed above (1st run)
-            setTimeout(() => {
-                if (this._results && this._results.section) {
-                    this._sectionCanvas.section = this._results.section;
-                }
-            }, 100);
-
-            return true;
-        }
-        return false;
-    }
-
-    public getResultClass(i: number) {
-        // tslint:disable-next-line:no-bitwise
-        return "result_id_" + String(i & 1);
+    public get size() {
+        return this._size;
     }
 
     public exportAsImage(element: HTMLDivElement) {
@@ -137,26 +71,34 @@ export class SectionResultsComponent extends ResultsComponentDirective {
 
     /** redraw canvas on fullscreen state change (scale drawing) */
     public fullscreenChange(isFullscreen: boolean) {
-        this._sectionCanvas.size = this.getContainerSize(! isFullscreen);
-        this.previousContainerSize = this._sectionCanvas.size;
-        setTimeout(() => {
-            this._sectionCanvas.draw();
-        }, 100);
+        this._size = this.getContainerSize(! isFullscreen, isFullscreen);
+        this.previousContainerSize = this._size;
     }
 
-    private getContainerSize(useOriginalSize: boolean = false): number {
+    private getContainerSize(useDefaultSize: boolean = false, useMinOfWidthAndHeight: boolean = false): number {
         const container = this.element.nativeElement.querySelector(".section-results-container");
+        console.log("[container size in getContainerSize]", container.offsetWidth, container.offsetHeight);
         let size: number;
         if (container) {
-            size = Math.min(container.offsetWidth, container.offsetHeight);
+            if (useMinOfWidthAndHeight) {
+                // when going to fullscreen mode, ensure the drawing
+                // is not larger or higher than the screen
+                size = Math.min(container.offsetWidth, container.offsetHeight);
+            } else {
+                size = container.offsetWidth;
+            }
         } else {
             size = this.previousContainerSize;
         }
         // when going back from fullscreen mode, container size tends to be
-        // too high for whatever reason; use originalSize on this purpose
-        if (useOriginalSize) {
-            size = Math.min(size, this._sectionCanvas.originalSize);
+        // too high for whatever reason; use defaultSize on this purpose
+        if (useDefaultSize) {
+            console.log("~~ use default ~~", size, this.defaultSize);
+            size = this.defaultSize;
         }
+        // lower boundary
+        size = Math.max(size, this.minimalSize);
+
         return size;
     }
 
-- 
GitLab


From 4cb1df04c34f3811e57e653e9a22702ba0c740b6 Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 21 Jul 2020 11:39:28 +0200
Subject: [PATCH 116/117] Simplified plottable results charts in PAB and MRC

---
 .../macrorugo-compound-results.component.html |   8 +-
 .../macrorugo-compound-results.component.ts   |  17 +-
 .../pab-results/pab-results.component.html    |   8 +-
 .../pab-results/pab-results.component.ts      |  12 --
 .../pb-results/pb-results.component.html      |   4 +-
 .../results-chart/results-chart.component.ts  |   5 +
 src/app/results/macrorugo-compound-results.ts | 108 ++++++++++++-
 src/app/results/pab-results.ts                | 130 +++++++++++++++-
 .../plottable-macrorugo-compound-results.ts   | 124 ---------------
 src/app/results/plottable-pab-results.ts      | 147 ------------------
 10 files changed, 251 insertions(+), 312 deletions(-)
 delete mode 100644 src/app/results/plottable-macrorugo-compound-results.ts
 delete mode 100644 src/app/results/plottable-pab-results.ts

diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html
index 563a41235..d299d02a3 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.html
@@ -1,11 +1,11 @@
 <div class="container">
 
-    <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log>
+    <log [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log>
 
     <variable-results-selector [results]=mrcResults [variatedParameters]=mrcResults?.variatedParameters>
     </variable-results-selector>
 
-    <log #iterationLog [log]=iterationLog></log>
+    <log [log]=iterationLog></log>
 
     <div>
         <!-- tableau de résultats -->
@@ -22,8 +22,8 @@
         [currentItem]="'charts'" [align]="'left'"></quicknav>
 
     <div id="macrorugo-compound-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start">
-        <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults [resultData]=plottableResults?.result
-          fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
+        <results-chart *ngIf="hasDisplayableResults" [results]=mrcResults [resultData]=mrcResults?.result
+          [variableIndex]=mrcResults?.variableIndex fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </results-chart>
     </div>
 
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
index 6c17591e8..4e4f108bb 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
@@ -1,4 +1,4 @@
-import { Component, Input, OnChanges } from "@angular/core";
+import { Component, Input } from "@angular/core";
 
 import { Result, cLog, Message, MessageCode, MessageSeverity, MRCInclination } from "jalhyd";
 
@@ -7,10 +7,8 @@ import { fv } from "../../../app/util";
 import { CalculatorResults } from "../../results/calculator-results";
 import { NgParameter } from "../../formulaire/elements/ngparam";
 import { ApplicationSetupService } from "../../services/app-setup.service";
-import { PlottableData } from "../../results/plottable-data";
 import { I18nService } from "../../services/internationalisation.service";
 import { MacrorugoCompoundResults } from "../../results/macrorugo-compound-results";
-import { PlottableMacrorugoCompoundResults } from "../../results/plottable-macrorugo-compound-results";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 
 @Component({
@@ -20,7 +18,7 @@ import { ResultsComponentDirective } from "../fixedvar-results/results.component
         "./macrorugo-compound-results.component.scss"
     ]
 })
-export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective implements OnChanges {
+export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective {
 
     /** résultats non mis en forme */
     private _mrcResults: MacrorugoCompoundResults;
@@ -32,10 +30,6 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
         super();
     }
 
-    public ngOnChanges() {
-        // console.log("--------> MRCR_C changes…");
-    }
-
     @Input()
     public set results(rs: CalculatorResults[]) {
         this._mrcResults = undefined;
@@ -228,11 +222,4 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
         return fv(lincl);
     }
 
-    /** builds a set of PlottableData from MacrorugoCompoundResults, to feed the chart */
-    protected get plottableResults(): PlottableData {
-        const plottableResults = new PlottableMacrorugoCompoundResults();
-        plottableResults.setMrcResults(this.mrcResults);
-        return plottableResults;
-    }
-
 }
diff --git a/src/app/components/pab-results/pab-results.component.html b/src/app/components/pab-results/pab-results.component.html
index f7eaa7865..c2191ca1e 100644
--- a/src/app/components/pab-results/pab-results.component.html
+++ b/src/app/components/pab-results/pab-results.component.html
@@ -1,11 +1,11 @@
 <div class="container">
 
-    <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log>
+    <log [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log>
 
     <variable-results-selector [results]="pabResults" [variatedParameters]=pabResults?.variatedParameters>
     </variable-results-selector>
 
-    <log #iterationLog [log]=iterationLog></log>
+    <log [log]=iterationLog></log>
 
     <div>
         <!-- tableau de résultats -->
@@ -20,8 +20,8 @@
     <div id="pab-graphs-container" class="container" fxLayout="row wrap" fxLayoutAlign="space-around start">
         <pab-profile-chart *ngIf="hasDisplayableResults" [results]=pabResults fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </pab-profile-chart>
-        <results-chart *ngIf="hasDisplayableResults" [results]=plottableResults [resultData]=plottableResults?.result
-          fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
+        <results-chart *ngIf="hasDisplayableResults" [results]=pabResults [resultData]=pabResults?.result
+          [variableIndex]=pabResults?.variableIndex fxFlex.gt-xs="1 0 400px" fxFlex.lt-sm="1 0 300px">
         </results-chart>
     </div>
 
diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts
index 513710980..edcbdbb30 100644
--- a/src/app/components/pab-results/pab-results.component.ts
+++ b/src/app/components/pab-results/pab-results.component.ts
@@ -4,8 +4,6 @@ import { Result, cLog, Message, MessageCode, MessageSeverity } from "jalhyd";
 
 import { CalculatorResults } from "../../results/calculator-results";
 import { PabResults } from "../../results/pab-results";
-import { PlottableData } from "../../results/plottable-data";
-import { PlottablePabResults } from "../../results/plottable-pab-results";
 import { I18nService } from "../../services/internationalisation.service";
 import { ResultsComponentDirective } from "../fixedvar-results/results.component";
 
@@ -21,14 +19,10 @@ export class PabResultsComponent extends ResultsComponentDirective {
     /** résultats non mis en forme */
     private _pabResults: PabResults;
 
-    /** résultats mis en forme pour le graphique de données (classique) */
-    private _plottableResults: PlottablePabResults;
-
     constructor(
         private i18nService: I18nService,
     ) {
         super();
-        this._plottableResults = new PlottablePabResults();
     }
 
     @Input()
@@ -226,10 +220,4 @@ export class PabResultsComponent extends ResultsComponentDirective {
         return this.i18nService.localizeText("INFO_TITREJOURNAL_GLOBAL");
     }
 
-    /** builds a set of PlottableData from PabResults, to feed the chart */
-    protected get plottableResults(): PlottableData {
-        this._plottableResults.setPabResults(this.pabResults);
-        return this._plottableResults;
-    }
-
 }
diff --git a/src/app/components/pb-results/pb-results.component.html b/src/app/components/pb-results/pb-results.component.html
index cce785e43..ae3009105 100644
--- a/src/app/components/pb-results/pb-results.component.html
+++ b/src/app/components/pb-results/pb-results.component.html
@@ -1,10 +1,10 @@
 <div class="container">
-    <log #generalLog [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log>
+    <log [logTitle]="uitextGeneralLogTitle" [log]=globalLog>log général</log>
 
     <variable-results-selector [results]=pbResults>
     </variable-results-selector>
 
-    <log #iterationLog [log]=iterationLog></log>
+    <log [log]=iterationLog></log>
 
     <!-- tableau de résultats des bassins -->
     <pb-results-table *ngIf="hasBasinResults" [results]=pbResults></pb-results-table>
diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts
index 2dd547434..d8fd854ae 100644
--- a/src/app/components/results-chart/results-chart.component.ts
+++ b/src/app/components/results-chart/results-chart.component.ts
@@ -103,6 +103,11 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
         // trick to trigger onChanges when results data changes
     }
 
+    @Input()
+    public set variableIndex(v: number) {
+        // trick to trigger onChanges when variable index changes
+    }
+
     public get availableXAxis(): string[] {
         if (this._results) {
             return this._results.getAvailableXAxis();
diff --git a/src/app/results/macrorugo-compound-results.ts b/src/app/results/macrorugo-compound-results.ts
index a5c609205..431711bdc 100644
--- a/src/app/results/macrorugo-compound-results.ts
+++ b/src/app/results/macrorugo-compound-results.ts
@@ -1,9 +1,11 @@
-import { Result } from "jalhyd";
+import { Result, ParamDefinition } from "jalhyd";
 
 import { ServiceFactory } from "../services/service-factory";
 import { MultiDimensionResults } from "./multidimension-results";
+import { PlottableData } from "./plottable-data";
+import { ChartType } from "./chart-type";
 
-export class MacrorugoCompoundResults extends MultiDimensionResults {
+export class MacrorugoCompoundResults extends MultiDimensionResults implements PlottableData {
 
     /** résultats des modules MacroRugo enfants */
     public childrenResults: Result[];
@@ -11,6 +13,10 @@ export class MacrorugoCompoundResults extends MultiDimensionResults {
     /** symboles des colonnes de résultat */
     protected _columns: string[];
 
+    public chartType: ChartType = ChartType.Scatter;
+    public chartX: string;
+    public chartY: string;
+
     public constructor() {
         super();
         this.reset();
@@ -28,6 +34,9 @@ export class MacrorugoCompoundResults extends MultiDimensionResults {
             "ENUM_MacroRugoFlowType",
             "xCenter"
         ];
+        // axes par défaut
+        this.chartX = this.chartX || "xCenter";
+        this.chartY = this.chartY || "Q";
     }
 
     /** headers symbols */
@@ -119,4 +128,99 @@ export class MacrorugoCompoundResults extends MultiDimensionResults {
 
         return err;
     }
+    public hasPlottableResults(): boolean {
+        return this.hasResults;
+    }
+
+    /**
+     * Returns the label to display, for an element of getAvailableChartAxis()
+     * @param symbol parameter / result symbol (ex: "Q")
+     */
+    public getChartAxisLabel(symbol: string): string {
+        return this.headers[this.columns.indexOf(symbol)];
+    }
+
+    public expandLabelFromSymbol(p: ParamDefinition): string {
+        return p.symbol;
+    }
+
+    /**
+     * Returns a list of plottable parameters / result elements, that can be defined
+     * as X or Y chart axis
+     */
+    public getAvailableChartAxis(): string[] {
+        const axis = [];
+        for (const c of this.columns) {
+            if (c.indexOf("ENUM_") === -1) { // ENUM variables are not plottable
+                axis.push(c);
+            }
+        }
+        return axis;
+    }
+
+    public getAvailableXAxis(): string[] {
+        return this.getAvailableChartAxis();
+    }
+
+    public getAvailableYAxis(): string[] {
+        return this.getAvailableChartAxis();
+    }
+
+    // just to implement interface
+    public getVariatingParametersSymbols(): string[] {
+        return [];
+    }
+
+    /**
+     * Returns the series of values for the required symbol
+     * @param symbol parameter / result symbol (ex: "Q")
+     */
+    public getValuesSeries(symbol: string): number[] {
+        const data: number[] = [];
+        const l = this.childrenResults.length;
+        // when a parameter is variating, index of the variating parameter
+        // values to build the data from
+        const vi = this.variableIndex;
+
+        if (this.iterationHasError(vi)) {
+            return [];
+        }
+
+        for (let i = 0; i < l; i++) {
+            switch (symbol) {
+                case "RADIER_N":
+                    data.push(i + 1);
+                    break;
+
+                case "ZF1":
+                case "Y":
+                case "B":
+                    let v: number;
+                    const nub = this.childrenResults[i].sourceNub;
+                    const param = nub.getParameter(symbol);
+                    try {
+                        if (param.hasMultipleValues) {
+                            v = param.getInferredValuesList()[vi];
+                        } else {
+                            v = param.singleValue;
+                        }
+                    } catch (e) {
+                        // silent fail
+                    }
+                    data.push(v);
+                    break;
+
+                case "Q":
+                case "Vdeb":
+                case "Fr":
+                case "Vmax":
+                case "PV":
+                case "xCenter":
+                    data.push(this.childrenResults[i].resultElements[vi].getValue(symbol));
+                    break;
+            }
+        }
+
+        return data;
+    }
 }
diff --git a/src/app/results/pab-results.ts b/src/app/results/pab-results.ts
index bcf4b2b68..1fdf77041 100644
--- a/src/app/results/pab-results.ts
+++ b/src/app/results/pab-results.ts
@@ -1,9 +1,11 @@
-import { Result } from "jalhyd";
+import { Result, ParamDefinition } from "jalhyd";
 
 import { ServiceFactory } from "../services/service-factory";
 import { MultiDimensionResults } from "./multidimension-results";
+import { PlottableData } from "./plottable-data";
+import { ChartType } from "./chart-type";
 
-export class PabResults extends MultiDimensionResults {
+export class PabResults extends MultiDimensionResults implements PlottableData {
 
     /** résultats des modules Cloisons avant chaque bassin */
     public cloisonsResults: Result[];
@@ -20,6 +22,10 @@ export class PabResults extends MultiDimensionResults {
     /** symboles des colonnes de résultat */
     protected _columns: string[];
 
+    public chartType: ChartType = ChartType.Scatter;
+    public chartX: string;
+    public chartY: string;
+
     public constructor() {
         super();
         this.reset();
@@ -36,6 +42,9 @@ export class PabResults extends MultiDimensionResults {
             "QA",
             "ENUM_StructureJetType"
         ];
+        // axes par défaut
+        this.chartX = this.chartX || "CLOISON";
+        this.chartY = this.chartY || "YMOY";
     }
 
     /** headers symbols */
@@ -130,4 +139,121 @@ export class PabResults extends MultiDimensionResults {
 
         return err;
     }
+
+    public hasPlottableResults(): boolean {
+        return this.hasResults;
+    }
+
+    /**
+     * Returns the label to display, for an element of getAvailableChartAxis()
+     * @param symbol parameter / result symbol (ex: "Q")
+     */
+    public getChartAxisLabel(symbol: string): string {
+        if (symbol === "x") { // specific case for wall abscissa
+            return ServiceFactory.instance.i18nService.localizeText("INFO_LIB_ABSCISSE_CLOISON");
+        } else {
+            return this.headers[this.columns.indexOf(symbol)];
+        }
+    }
+
+    public expandLabelFromSymbol(p: ParamDefinition): string {
+        return p.symbol;
+    }
+
+    /**
+     * Returns a list of plottable parameters / result elements, that can be defined
+     * as X or Y chart axis
+     */
+    public getAvailableChartAxis(): string[] {
+        const axis = [];
+        axis.push("x"); // wall abscissa
+        for (const c of this.columns) {
+            if (c.indexOf("ENUM_") === -1) { // ENUM variables are not plottable
+                axis.push(c);
+            }
+        }
+        return axis;
+    }
+
+    public getAvailableXAxis(): string[] {
+        return this.getAvailableChartAxis();
+    }
+
+    public getAvailableYAxis(): string[] {
+        return this.getAvailableChartAxis();
+    }
+
+    // just to implement interface
+    public getVariatingParametersSymbols(): string[] {
+        return [];
+    }
+
+    /**
+     * Returns the series of values for the required symbol
+     * @param symbol parameter / result symbol (ex: "Q")
+     */
+    public getValuesSeries(symbol: string): number[] {
+        const data: number[] = [];
+        const l = this.cloisonsResults.length;
+        // when a parameter is variating, index of the variating parameter
+        // values to build the data from
+        const vi = this.variableIndex;
+
+        if (this.iterationHasError(vi)) {
+            return [];
+        }
+
+        switch (symbol) {
+            case "CLOISON":
+                data.push(undefined);
+                for (let i = 0; i <= l; i++) { // <= for one extra step (downwall)
+                    data.push(i + 1);
+                }
+                break;
+
+            case "DH":
+            case "ZRAM":
+            case "Q":
+                data.push(undefined);
+                for (let i = 0; i < l; i++) {
+                    const er = this.cloisonsResults[i].resultElements[vi].getValue(symbol);
+                    data.push(er);
+                }
+                const zrAval = this.cloisonAvalResults.resultElements[vi].getValue(symbol);
+                data.push(zrAval);
+                break;
+
+            case "Z":
+                for (let i = 0; i < l; i++) {
+                    data.push(this.cloisonsResults[i].resultElements[vi].vCalc);
+                }
+                data.push(this.cloisonAvalResults.resultElements[vi].vCalc);
+                data.push(this.Z2[vi]);
+                break;
+
+            case "PV":
+            case "YMOY":
+            case "ZRMB":
+            case "QA":
+                data.push(undefined);
+                for (let i = 0; i < l; i++) {
+                    const er = this.cloisonsResults[i].resultElements[vi].getValue(symbol);
+                    data.push(er);
+                }
+                data.push(undefined);
+                break;
+
+            case "x": // wall abscissa
+                data.push(undefined);
+                for (let i = 0; i < l; i++) {
+                    const er = this.cloisonsResults[i].resultElements[vi].getValue(symbol);
+                    data.push(er);
+                }
+                const erXdw = this.cloisonAvalResults.resultElements[vi].getValue(symbol);
+                data.push(erXdw);
+                break;
+        }
+
+        return data;
+    }
 }
diff --git a/src/app/results/plottable-macrorugo-compound-results.ts b/src/app/results/plottable-macrorugo-compound-results.ts
deleted file mode 100644
index ace4357c6..000000000
--- a/src/app/results/plottable-macrorugo-compound-results.ts
+++ /dev/null
@@ -1,124 +0,0 @@
-import { PlottableData } from "./plottable-data";
-import { ChartType } from "./chart-type";
-import { MacrorugoCompoundResults } from "./macrorugo-compound-results";
-
-import { ParamDefinition } from "jalhyd";
-
-export class PlottableMacrorugoCompoundResults implements PlottableData {
-
-    public chartType: ChartType = ChartType.Scatter;
-    public chartX: string;
-    public chartY: string;
-
-    protected mrcResults: MacrorugoCompoundResults;
-
-    public constructor(mrcResults?: MacrorugoCompoundResults) {
-        if (mrcResults) {
-            this.setMrcResults(mrcResults);
-        }
-        // axes par défaut
-        this.chartX = this.chartX || "xCenter";
-        this.chartY = this.chartY || "Q";
-    }
-
-    public hasPlottableResults(): boolean {
-        return this.mrcResults && this.mrcResults.hasResults;
-    }
-
-    /** reaffect mrcResults, for ex. when objet was contructed with empty mrcResults */
-    public setMrcResults(mrcResults: MacrorugoCompoundResults) {
-        this.mrcResults = mrcResults;
-    }
-
-    /**
-     * Returns the label to display, for an element of getAvailableChartAxis()
-     * @param symbol parameter / result symbol (ex: "Q")
-     */
-    public getChartAxisLabel(symbol: string): string {
-        return this.mrcResults.headers[this.mrcResults.columns.indexOf(symbol)];
-    }
-
-    public expandLabelFromSymbol(p: ParamDefinition): string {
-        return p.symbol;
-    }
-
-    /**
-     * Returns a list of plottable parameters / result elements, that can be defined
-     * as X or Y chart axis
-     */
-    public getAvailableChartAxis(): string[] {
-        const axis = [];
-        for (const c of this.mrcResults.columns) {
-            if (c.indexOf("ENUM_") === -1) { // ENUM variables are not plottable
-                axis.push(c);
-            }
-        }
-        return axis;
-    }
-
-    public getAvailableXAxis(): string[] {
-        return this.getAvailableChartAxis();
-    }
-
-    public getAvailableYAxis(): string[] {
-        return this.getAvailableChartAxis();
-    }
-
-    // just to implement interface
-    public getVariatingParametersSymbols(): string[] {
-        return [];
-    }
-
-    /**
-     * Returns the series of values for the required symbol
-     * @param symbol parameter / result symbol (ex: "Q")
-     */
-    public getValuesSeries(symbol: string): number[] {
-        const data: number[] = [];
-        const l = this.mrcResults.childrenResults.length;
-        // when a parameter is variating, index of the variating parameter
-        // values to build the data from
-        const vi = this.mrcResults.variableIndex;
-
-        if (this.mrcResults.iterationHasError(vi)) {
-            return [];
-        }
-
-        for (let i = 0; i < l; i++) {
-            switch (symbol) {
-                case "RADIER_N":
-                    data.push(i + 1);
-                    break;
-
-                case "ZF1":
-                case "Y":
-                case "B":
-                    let v: number;
-                    const nub = this.mrcResults.childrenResults[i].sourceNub;
-                    const param = nub.getParameter(symbol);
-                    try {
-                        if (param.hasMultipleValues) {
-                            v = param.getInferredValuesList()[vi];
-                        } else {
-                            v = param.singleValue;
-                        }
-                    } catch (e) {
-                        // silent fail
-                    }
-                    data.push(v);
-                    break;
-
-                case "Q":
-                case "Vdeb":
-                case "Fr":
-                case "Vmax":
-                case "PV":
-                case "xCenter":
-                    data.push(this.mrcResults.childrenResults[i].resultElements[vi].getValue(symbol));
-                    break;
-            }
-        }
-
-        return data;
-    }
-}
diff --git a/src/app/results/plottable-pab-results.ts b/src/app/results/plottable-pab-results.ts
deleted file mode 100644
index 1ca650a94..000000000
--- a/src/app/results/plottable-pab-results.ts
+++ /dev/null
@@ -1,147 +0,0 @@
-import { PlottableData } from "./plottable-data";
-import { PabResults } from "./pab-results";
-import { ChartType } from "./chart-type";
-import { ServiceFactory } from "../services/service-factory";
-
-import { ParamDefinition } from "jalhyd";
-
-export class PlottablePabResults implements PlottableData {
-
-    public chartType: ChartType = ChartType.Scatter;
-    public chartX: string;
-    public chartY: string;
-
-    protected pabResults: PabResults;
-
-    public constructor(pabResults?: PabResults) {
-        if (pabResults) {
-            this.setPabResults(pabResults);
-        }
-        // axes par défaut
-        this.chartX = this.chartX || "CLOISON";
-        this.chartY = this.chartY || "YMOY";
-    }
-
-    public hasPlottableResults(): boolean {
-        return this.pabResults && this.pabResults.hasResults;
-    }
-
-    /** reaffect pabResults, for ex. when objet was contructed with empty pabResults */
-    public setPabResults(pabResults: PabResults) {
-        this.pabResults = pabResults;
-    }
-
-    /**
-     * Returns the label to display, for an element of getAvailableChartAxis()
-     * @param symbol parameter / result symbol (ex: "Q")
-     */
-    public getChartAxisLabel(symbol: string): string {
-        if (symbol === "x") { // specific case for wall abscissa
-            return ServiceFactory.instance.i18nService.localizeText("INFO_LIB_ABSCISSE_CLOISON");
-        } else {
-            return this.pabResults.headers[this.pabResults.columns.indexOf(symbol)];
-        }
-    }
-
-    public expandLabelFromSymbol(p: ParamDefinition): string {
-        return p.symbol;
-    }
-
-    /**
-     * Returns a list of plottable parameters / result elements, that can be defined
-     * as X or Y chart axis
-     */
-    public getAvailableChartAxis(): string[] {
-        const axis = [];
-        axis.push("x"); // wall abscissa
-        for (const c of this.pabResults.columns) {
-            if (c.indexOf("ENUM_") === -1) { // ENUM variables are not plottable
-                axis.push(c);
-            }
-        }
-        return axis;
-    }
-
-    public getAvailableXAxis(): string[] {
-        return this.getAvailableChartAxis();
-    }
-
-    public getAvailableYAxis(): string[] {
-        return this.getAvailableChartAxis();
-    }
-
-    // just to implement interface
-    public getVariatingParametersSymbols(): string[] {
-        return [];
-    }
-
-    /**
-     * Returns the series of values for the required symbol
-     * @param symbol parameter / result symbol (ex: "Q")
-     */
-    public getValuesSeries(symbol: string): number[] {
-        const data: number[] = [];
-        const pr = this.pabResults;
-        const l = this.pabResults.cloisonsResults.length;
-        // when a parameter is variating, index of the variating parameter
-        // values to build the data from
-        const vi = this.pabResults.variableIndex;
-
-        if (this.pabResults.iterationHasError(vi)) {
-            return [];
-        }
-
-        switch (symbol) {
-            case "CLOISON":
-                data.push(undefined);
-                for (let i = 0; i <= l; i++) { // <= for one extra step (downwall)
-                    data.push(i + 1);
-                }
-                break;
-
-            case "DH":
-            case "ZRAM":
-            case "Q":
-                data.push(undefined);
-                for (let i = 0; i < l; i++) {
-                    const er = pr.cloisonsResults[i].resultElements[vi].getValue(symbol);
-                    data.push(er);
-                }
-                const zrAval = pr.cloisonAvalResults.resultElements[vi].getValue(symbol);
-                data.push(zrAval);
-                break;
-
-            case "Z":
-                for (let i = 0; i < l; i++) {
-                    data.push(pr.cloisonsResults[i].resultElements[vi].vCalc);
-                }
-                data.push(pr.cloisonAvalResults.resultElements[vi].vCalc);
-                data.push(pr.Z2[vi]);
-                break;
-
-            case "PV":
-            case "YMOY":
-            case "ZRMB":
-            case "QA":
-                data.push(undefined);
-                for (let i = 0; i < l; i++) {
-                    const er = pr.cloisonsResults[i].resultElements[vi].getValue(symbol);
-                    data.push(er);
-                }
-                data.push(undefined);
-                break;
-
-            case "x": // wall abscissa
-                data.push(undefined);
-                for (let i = 0; i < l; i++) {
-                    const er = pr.cloisonsResults[i].resultElements[vi].getValue(symbol);
-                    data.push(er);
-                }
-                const erXdw = pr.cloisonAvalResults.resultElements[vi].getValue(symbol);
-                data.push(erXdw);
-                break;
-        }
-
-        return data;
-    }
-}
-- 
GitLab


From 4b402e8f9ec327f89a51089b15d79e7aecea853a Mon Sep 17 00:00:00 2001
From: "mathias.chouet" <mathias.chouet@irstea.fr>
Date: Tue, 21 Jul 2020 12:03:51 +0200
Subject: [PATCH 117/117] Added conditions on sub calc-results components

---
 .../calculator-results.component.html         | 10 ++--
 .../calculator-results.component.ts           | 22 ++++++++-
 .../calculator.component.ts                   | 10 ++++
 .../macrorugo-compound-results.component.ts   |  6 +--
 .../pab-results/pab-results.component.ts      |  8 ++--
 .../pb-results/pb-results.component.ts        | 46 +++++++++++++++++++
 .../remous-results.component.ts               |  1 -
 .../results-chart/results-chart.component.ts  |  2 -
 .../variable-results-selector.component.ts    |  1 -
 9 files changed, 88 insertions(+), 18 deletions(-)

diff --git a/src/app/components/calculator-results/calculator-results.component.html b/src/app/components/calculator-results/calculator-results.component.html
index bcff4069a..bc3ccaa7b 100644
--- a/src/app/components/calculator-results/calculator-results.component.html
+++ b/src/app/components/calculator-results/calculator-results.component.html
@@ -1,9 +1,9 @@
 <div>
-    <section-results [results]=formResultsArray></section-results>
-    <remous-results [results]=formResultsArray></remous-results>
-    <pab-results [results]=formResultsArray></pab-results>
-    <pb-results [results]=formResultsArray></pb-results>
-    <macrorugo-compound-results [results]=formResultsArray></macrorugo-compound-results>
+    <section-results *ngIf="isSP" [results]=formResultsArray></section-results>
+    <remous-results *ngIf="isRemous" [results]=formResultsArray></remous-results>
+    <pab-results *ngIf="isPAB" [results]=formResultsArray></pab-results>
+    <pb-results *ngIf="isPB" [results]=formResultsArray></pb-results>
+    <macrorugo-compound-results *ngIf="isMRC" [results]=formResultsArray></macrorugo-compound-results>
     <jet-results *ngIf="isJet" [results]=formResultsArray></jet-results>
     <fixedvar-results *ngIf="! isJet" [results]=formResultsArray></fixedvar-results>
 </div>
diff --git a/src/app/components/calculator-results/calculator-results.component.ts b/src/app/components/calculator-results/calculator-results.component.ts
index 8d6de93b5..41a6e20d1 100644
--- a/src/app/components/calculator-results/calculator-results.component.ts
+++ b/src/app/components/calculator-results/calculator-results.component.ts
@@ -37,8 +37,26 @@ export class CalculatorResultsComponent implements AfterViewChecked {
         this.afterViewChecked.emit();
     }
 
-    // JetResultsComponent extends FixedVarResultsComponent, which makes
-    // them incompatible with each other
+    public get isSP() {
+        return this.calculatorComponent.isSP;
+    }
+
+    public get isRemous() {
+        return this.calculatorComponent.isRemous;
+    }
+
+    public get isPAB() {
+        return this.calculatorComponent.isPAB;
+    }
+
+    public get isPB() {
+        return this.calculatorComponent.isPB;
+    }
+
+    public get isMRC() {
+        return this.calculatorComponent.isMRC;
+    }
+
     public get isJet() {
         return this.calculatorComponent.isJet;
     }
diff --git a/src/app/components/generic-calculator/calculator.component.ts b/src/app/components/generic-calculator/calculator.component.ts
index 11c12466a..0590ec732 100644
--- a/src/app/components/generic-calculator/calculator.component.ts
+++ b/src/app/components/generic-calculator/calculator.component.ts
@@ -626,6 +626,16 @@ export class GenericCalculatorComponent implements OnInit, DoCheck, AfterViewChe
         return this.is(CalculatorType.Par);
     }
 
+    // true if current Nub is PAR
+    public get isSP() {
+        return this.is(CalculatorType.SectionParametree);
+    }
+
+    // true if current Nub is PAR
+    public get isRemous() {
+        return this.is(CalculatorType.CourbeRemous);
+    }
+
     /**
      * Returns true if no parameter is varying; ignores parameters having
      * one of the given {except} symbols, if any
diff --git a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
index 4e4f108bb..232f0c436 100644
--- a/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
+++ b/src/app/components/macrorugo-compound-results/macrorugo-compound-results.component.ts
@@ -133,9 +133,9 @@ export class MacrorugoCompoundResultsComponent extends ResultsComponentDirective
     }
 
     /**
-     * Retourne les logs à afficher dans le composant de log global, au dessus
-     * du sélecteur d'itération : messages globaux et / ou résumé des messages
-     * spécifiques à chaque ResultElement
+     * Retourne les logs à afficher dans le composant de log local, en dessous
+     * du sélecteur d'itération : messages concernant l'itération (le ResultElement)
+     * en cours
      */
     public get iterationLog(): cLog {
         const l = new cLog();
diff --git a/src/app/components/pab-results/pab-results.component.ts b/src/app/components/pab-results/pab-results.component.ts
index edcbdbb30..bb190be6a 100644
--- a/src/app/components/pab-results/pab-results.component.ts
+++ b/src/app/components/pab-results/pab-results.component.ts
@@ -148,11 +148,11 @@ export class PabResultsComponent extends ResultsComponentDirective {
     }
 
     /**
-     * Retourne les logs à afficher dans le composant de log global, au dessus
-     * du sélecteur d'itération : messages globaux et / ou résumé des messages
-     * spécifiques à chaque ResultElement
+     * Retourne les logs à afficher dans le composant de log local, en dessous
+     * du sélecteur d'itération : messages concernant l'itération (le ResultElement)
+     * en cours
      */
-    private get iterationLog(): cLog {
+    public get iterationLog(): cLog {
         const l = new cLog();
         if (this._pabResults) {
             if (this.pabResults.variatedParameters.length > 0) {
diff --git a/src/app/components/pb-results/pb-results.component.ts b/src/app/components/pb-results/pb-results.component.ts
index 034f24e0c..b502c4e40 100644
--- a/src/app/components/pb-results/pb-results.component.ts
+++ b/src/app/components/pb-results/pb-results.component.ts
@@ -165,6 +165,52 @@ export class PbResultsComponent {
         return l;
     }
 
+    /**
+     * Retourne les logs à afficher dans le composant de log local, en dessous
+     * du sélecteur d'itération : messages concernant l'itération (le ResultElement)
+     * en cours
+     */
+    public get iterationLog(): cLog {
+        const l = new cLog();
+        /* if (this._pabResults) {
+            if (this.pabResults.variatedParameters.length > 0) {
+                // A. si un paramètre varie
+                const vi = this._pabResults.variableIndex;
+                // log de la PAB pour l'itération en cours
+                if (
+                    this._pabResults.result
+                    && this._pabResults.result.hasResultElements()
+                    && this._pabResults.result.resultElements[vi]
+                    && this._pabResults.result.resultElements[vi].hasLog()
+                ) {
+                    l.addLog(this._pabResults.result.resultElements[vi].log);
+                }
+                // logs des enfants pour l'itération en cours
+                for (const cr of this._pabResults.cloisonsResults) {
+                    if (cr && cr.hasResultElements() && cr.resultElements[vi].hasLog()) {
+                        l.addLog(cr.resultElements[vi].log);
+                    }
+                }
+                if (this._pabResults.cloisonAvalResults && this._pabResults.cloisonAvalResults.resultElements[vi].hasLog()) {
+                    l.addLog(this._pabResults.cloisonAvalResults.resultElements[vi].log);
+                }
+            } else {
+                // B. si aucun paramètre ne varie
+                this.mergeGlobalLog(this._pabResults.result, l); // faut bien mettre le log global quelque part
+                // logs des enfants
+                for (const cr of this._pabResults.cloisonsResults) {
+                    if (cr && cr.hasResultElements() && cr.resultElement.hasLog()) {
+                        l.addLog(cr.resultElement.log);
+                    }
+                }
+                if (this._pabResults.cloisonAvalResults && this._pabResults.cloisonAvalResults.resultElement.hasLog()) {
+                    l.addLog(this._pabResults.cloisonAvalResults.resultElement.log);
+                }
+            }
+        } */
+        return l;
+    }
+
     public get uitextGeneralLogTitle(): string {
         return this.i18nService.localizeText("INFO_TITREJOURNAL_GLOBAL");
     }
diff --git a/src/app/components/remous-results/remous-results.component.ts b/src/app/components/remous-results/remous-results.component.ts
index 532556c37..b39505299 100644
--- a/src/app/components/remous-results/remous-results.component.ts
+++ b/src/app/components/remous-results/remous-results.component.ts
@@ -237,7 +237,6 @@ export class RemousResultsComponent extends ResultsComponentDirective implements
     private generateChart() {
         // http://www.chartjs.org/docs/latest/charts/line.html
         // le dernier dataset de la liste datasets est dessiné en 1er
-        console.log("ooOOO Oui !");
         this._remousResults.update();
 
         const nub = this._remousResults.result.sourceNub as CourbeRemous;
diff --git a/src/app/components/results-chart/results-chart.component.ts b/src/app/components/results-chart/results-chart.component.ts
index d8fd854ae..d41858fe7 100644
--- a/src/app/components/results-chart/results-chart.component.ts
+++ b/src/app/components/results-chart/results-chart.component.ts
@@ -178,13 +178,11 @@ export class ResultsChartComponent extends ResultsComponentDirective implements
     }
 
     public ngOnChanges() {
-        console.log("==> ResChart onChanges");
         // redessiner le graphique chaque fois qu'une entrée change
         this.drawChart();
     }
 
     public drawChart() {
-        console.log("----> regenerate chart !!", this._results);
         if (this._results && this._results.hasPlottableResults()) {
             switch (this._graphTypeComponent.selectedValue) {
                 case ChartType.Histogram:
diff --git a/src/app/components/variable-results-selector/variable-results-selector.component.ts b/src/app/components/variable-results-selector/variable-results-selector.component.ts
index 716d7fc9e..68491335a 100644
--- a/src/app/components/variable-results-selector/variable-results-selector.component.ts
+++ b/src/app/components/variable-results-selector/variable-results-selector.component.ts
@@ -41,7 +41,6 @@ export class VariableResultsSelectorComponent implements OnChanges {
     ) { }
 
     public ngOnChanges() {
-        console.log("==//== changes !! ==//==", this.variatedParameters);
         // rebuild variable parameters values everytime somthing changes
         if (this.variatedParameters) {
             this.varValues = [];
-- 
GitLab