From 3b1ecf2a03d380bdf3d93f176534168477fd1ed9 Mon Sep 17 00:00:00 2001
From: jwnasambu <julietwamalwa@yahoo.com>
Date: Wed, 22 Sep 2021 22:52:39 +0300
Subject: [PATCH] OCLOMRS-1044:Bug Fix: Pick Concepts from Source and
 Dictionaries

---
 package-lock.json                             | 1272 +++++++----------
 package.json                                  |    3 +-
 .../components/ConceptSourceSwitcher.tsx      |  268 ++++
 .../components/ViewConceptsHeader.tsx         |  254 +++-
 src/apps/concepts/pages/ViewConceptsPage.tsx  |   48 +-
 src/apps/dictionaries/api.ts                  |    4 +
 src/apps/dictionaries/logic.ts                |   12 +-
 src/apps/dictionaries/redux/actionTypes.ts    |    1 +
 src/apps/dictionaries/redux/actions.ts        |    4 +-
 src/apps/dictionaries/redux/reducer.ts        |    5 +-
 10 files changed, 1094 insertions(+), 777 deletions(-)
 create mode 100644 src/apps/concepts/components/ConceptSourceSwitcher.tsx

diff --git a/package-lock.json b/package-lock.json
index 4fbc1d834..bc1a41e13 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,8 +1,9 @@
 {
   "name": "ocl-client",
   "version": "0.1.0",
-  "lockfileVersion": 2,
+  "lockfileVersion": 1,
   "requires": true,
+<<<<<<< HEAD
   "packages": {
     "": {
       "name": "ocl-client",
@@ -81,23 +82,27 @@
       }
     },
     "node_modules/@babel/code-frame": {
+=======
+  "dependencies": {
+    "@babel/code-frame": {
+>>>>>>> 7683e91... OCLOMRS-1044:Bug Fix: Pick Concepts from Source and Dictionaries
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
       "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
-      "dependencies": {
+      "requires": {
         "@babel/highlight": "^7.12.13"
       }
     },
-    "node_modules/@babel/compat-data": {
+    "@babel/compat-data": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz",
       "integrity": "sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ=="
     },
-    "node_modules/@babel/core": {
+    "@babel/core": {
       "version": "7.14.3",
       "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.14.3.tgz",
       "integrity": "sha512-jB5AmTKOCSJIZ72sd78ECEhuPiDMKlQdDI/4QRI6lzYATx5SSogS1oQA2AoPecRCknm30gHi2l+QVvNUu3wZAg==",
-      "dependencies": {
+      "requires": {
         "@babel/code-frame": "^7.12.13",
         "@babel/generator": "^7.14.3",
         "@babel/helper-compilation-targets": "^7.13.16",
@@ -114,69 +119,64 @@
         "semver": "^6.3.0",
         "source-map": "^0.5.0"
       },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/core/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "bin": {
-        "semver": "bin/semver.js"
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+        }
       }
     },
-    "node_modules/@babel/generator": {
+    "@babel/generator": {
       "version": "7.14.3",
       "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.14.3.tgz",
       "integrity": "sha512-bn0S6flG/j0xtQdz3hsjJ624h3W0r3llttBMfyHX3YrZ/KtLYr15bjA0FXkgW7FpvrDuTuElXeVjiKlYRpnOFA==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.14.2",
         "jsesc": "^2.5.1",
         "source-map": "^0.5.0"
       }
     },
-    "node_modules/@babel/helper-annotate-as-pure": {
+    "@babel/helper-annotate-as-pure": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz",
       "integrity": "sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.12.13"
       }
     },
-    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
+    "@babel/helper-builder-binary-assignment-operator-visitor": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz",
       "integrity": "sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-explode-assignable-expression": "^7.12.13",
         "@babel/types": "^7.12.13"
       }
     },
-    "node_modules/@babel/helper-compilation-targets": {
+    "@babel/helper-compilation-targets": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz",
       "integrity": "sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==",
-      "dependencies": {
+      "requires": {
         "@babel/compat-data": "^7.14.4",
         "@babel/helper-validator-option": "^7.12.17",
         "browserslist": "^4.16.6",
         "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=="
+        }
       }
     },
-    "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@babel/helper-create-class-features-plugin": {
+    "@babel/helper-create-class-features-plugin": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.4.tgz",
       "integrity": "sha512-idr3pthFlDCpV+p/rMgGLGYIVtazeatrSOQk8YzO2pAepIjQhCN3myeihVg58ax2bbbGK9PUE1reFi7axOYIOw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-annotate-as-pure": "^7.12.13",
         "@babel/helper-function-name": "^7.14.2",
         "@babel/helper-member-expression-to-functions": "^7.13.12",
@@ -185,20 +185,20 @@
         "@babel/helper-split-export-declaration": "^7.12.13"
       }
     },
-    "node_modules/@babel/helper-create-regexp-features-plugin": {
+    "@babel/helper-create-regexp-features-plugin": {
       "version": "7.14.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.3.tgz",
       "integrity": "sha512-JIB2+XJrb7v3zceV2XzDhGIB902CmKGSpSl4q2C6agU9SNLG/2V1RtFRGPG1Ajh9STj3+q6zJMOC+N/pp2P9DA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-annotate-as-pure": "^7.12.13",
         "regexpu-core": "^4.7.1"
       }
     },
-    "node_modules/@babel/helper-define-polyfill-provider": {
+    "@babel/helper-define-polyfill-provider": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz",
       "integrity": "sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-compilation-targets": "^7.13.0",
         "@babel/helper-module-imports": "^7.12.13",
         "@babel/helper-plugin-utils": "^7.13.0",
@@ -207,72 +207,71 @@
         "lodash.debounce": "^4.0.8",
         "resolve": "^1.14.2",
         "semver": "^6.1.2"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "6.3.0",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+          "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
+        }
       }
     },
-    "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@babel/helper-explode-assignable-expression": {
+    "@babel/helper-explode-assignable-expression": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz",
       "integrity": "sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.13.0"
       }
     },
-    "node_modules/@babel/helper-function-name": {
+    "@babel/helper-function-name": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.14.2.tgz",
       "integrity": "sha512-NYZlkZRydxw+YT56IlhIcS8PAhb+FEUiOzuhFTfqDyPmzAhRge6ua0dQYT/Uh0t/EDHq05/i+e5M2d4XvjgarQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-get-function-arity": "^7.12.13",
         "@babel/template": "^7.12.13",
         "@babel/types": "^7.14.2"
       }
     },
-    "node_modules/@babel/helper-get-function-arity": {
+    "@babel/helper-get-function-arity": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.13.tgz",
       "integrity": "sha512-DjEVzQNz5LICkzN0REdpD5prGoidvbdYk1BVgRUOINaWJP2t6avB27X1guXK1kXNrX0WMfsrm1A/ZBthYuIMQg==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.12.13"
       }
     },
-    "node_modules/@babel/helper-hoist-variables": {
+    "@babel/helper-hoist-variables": {
       "version": "7.13.16",
       "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.16.tgz",
       "integrity": "sha512-1eMtTrXtrwscjcAeO4BVK+vvkxaLJSPFz1w1KLawz6HLNi9bPFGBNwwDyVfiu1Tv/vRRFYfoGaKhmAQPGPn5Wg==",
-      "dependencies": {
+      "requires": {
         "@babel/traverse": "^7.13.15",
         "@babel/types": "^7.13.16"
       }
     },
-    "node_modules/@babel/helper-member-expression-to-functions": {
+    "@babel/helper-member-expression-to-functions": {
       "version": "7.13.12",
       "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.12.tgz",
       "integrity": "sha512-48ql1CLL59aKbU94Y88Xgb2VFy7a95ykGRbJJaaVv+LX5U8wFpLfiGXJJGUozsmA1oEh/o5Bp60Voq7ACyA/Sw==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.13.12"
       }
     },
-    "node_modules/@babel/helper-module-imports": {
+    "@babel/helper-module-imports": {
       "version": "7.13.12",
       "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.13.12.tgz",
       "integrity": "sha512-4cVvR2/1B693IuOvSI20xqqa/+bl7lqAMR59R4iu39R9aOX8/JoYY1sFaNvUMyMBGnHdwvJgUrzNLoUZxXypxA==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.13.12"
       }
     },
-    "node_modules/@babel/helper-module-transforms": {
+    "@babel/helper-module-transforms": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.14.2.tgz",
       "integrity": "sha512-OznJUda/soKXv0XhpvzGWDnml4Qnwp16GN+D/kZIdLsWoHj05kyu8Rm5kXmMef+rVJZ0+4pSGLkeixdqNUATDA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-module-imports": "^7.13.12",
         "@babel/helper-replace-supers": "^7.13.12",
         "@babel/helper-simple-access": "^7.13.12",
@@ -283,224 +282,218 @@
         "@babel/types": "^7.14.2"
       }
     },
-    "node_modules/@babel/helper-optimise-call-expression": {
+    "@babel/helper-optimise-call-expression": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.13.tgz",
       "integrity": "sha512-BdWQhoVJkp6nVjB7nkFWcn43dkprYauqtk++Py2eaf/GRDFm5BxRqEIZCiHlZUGAVmtwKcsVL1dC68WmzeFmiA==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.12.13"
       }
     },
-    "node_modules/@babel/helper-plugin-utils": {
+    "@babel/helper-plugin-utils": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz",
       "integrity": "sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ=="
     },
-    "node_modules/@babel/helper-remap-async-to-generator": {
+    "@babel/helper-remap-async-to-generator": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz",
       "integrity": "sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-annotate-as-pure": "^7.12.13",
         "@babel/helper-wrap-function": "^7.13.0",
         "@babel/types": "^7.13.0"
       }
     },
-    "node_modules/@babel/helper-replace-supers": {
+    "@babel/helper-replace-supers": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz",
       "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-member-expression-to-functions": "^7.13.12",
         "@babel/helper-optimise-call-expression": "^7.12.13",
         "@babel/traverse": "^7.14.2",
         "@babel/types": "^7.14.4"
       }
     },
-    "node_modules/@babel/helper-simple-access": {
+    "@babel/helper-simple-access": {
       "version": "7.13.12",
       "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.13.12.tgz",
       "integrity": "sha512-7FEjbrx5SL9cWvXioDbnlYTppcZGuCY6ow3/D5vMggb2Ywgu4dMrpTJX0JdQAIcRRUElOIxF3yEooa9gUb9ZbA==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.13.12"
       }
     },
-    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+    "@babel/helper-skip-transparent-expression-wrappers": {
       "version": "7.12.1",
       "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz",
       "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.12.1"
       }
     },
-    "node_modules/@babel/helper-split-export-declaration": {
+    "@babel/helper-split-export-declaration": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.13.tgz",
       "integrity": "sha512-tCJDltF83htUtXx5NLcaDqRmknv652ZWCHyoTETf1CXYJdPC7nohZohjUgieXhv0hTJdRf2FjDueFehdNucpzg==",
-      "dependencies": {
+      "requires": {
         "@babel/types": "^7.12.13"
       }
     },
-    "node_modules/@babel/helper-validator-identifier": {
+    "@babel/helper-validator-identifier": {
       "version": "7.14.0",
       "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.0.tgz",
       "integrity": "sha512-V3ts7zMSu5lfiwWDVWzRDGIN+lnCEUdaXgtVHJgLb1rGaA6jMrtB9EmE7L18foXJIE8Un/A/h6NJfGQp/e1J4A=="
     },
-    "node_modules/@babel/helper-validator-option": {
+    "@babel/helper-validator-option": {
       "version": "7.12.17",
       "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz",
       "integrity": "sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw=="
     },
-    "node_modules/@babel/helper-wrap-function": {
+    "@babel/helper-wrap-function": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz",
       "integrity": "sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-function-name": "^7.12.13",
         "@babel/template": "^7.12.13",
         "@babel/traverse": "^7.13.0",
         "@babel/types": "^7.13.0"
       }
     },
-    "node_modules/@babel/helpers": {
+    "@babel/helpers": {
       "version": "7.14.0",
       "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.14.0.tgz",
       "integrity": "sha512-+ufuXprtQ1D1iZTO/K9+EBRn+qPWMJjZSw/S0KlFrxCw4tkrzv9grgpDHkY9MeQTjTY8i2sp7Jep8DfU6tN9Mg==",
-      "dependencies": {
+      "requires": {
         "@babel/template": "^7.12.13",
         "@babel/traverse": "^7.14.0",
         "@babel/types": "^7.14.0"
       }
     },
-    "node_modules/@babel/highlight": {
+    "@babel/highlight": {
       "version": "7.14.0",
       "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.14.0.tgz",
       "integrity": "sha512-YSCOwxvTYEIMSGaBQb5kDDsCopDdiUGsqpatp3fOlI4+2HQSkTmEVWnVuySdAC5EWCqSWWTv0ib63RjR7dTBdg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-validator-identifier": "^7.14.0",
         "chalk": "^2.0.0",
         "js-tokens": "^4.0.0"
       }
     },
-    "node_modules/@babel/parser": {
+    "@babel/parser": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.14.4.tgz",
-      "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA==",
-      "bin": {
-        "parser": "bin/babel-parser.js"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
+      "integrity": "sha512-ArliyUsWDUqEGfWcmzpGUzNfLxTdTp6WU4IuP6QFSp9gGfWS6boxFCkJSJ/L4+RG8z/FnIU3WxCk6hPL9SSWeA=="
     },
-    "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
       "version": "7.13.12",
       "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.13.12.tgz",
       "integrity": "sha512-d0u3zWKcoZf379fOeJdr1a5WPDny4aOFZ6hlfKivgK0LY7ZxNfoaHL2fWwdGtHyVvra38FC+HVYkO+byfSA8AQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
         "@babel/plugin-proposal-optional-chaining": "^7.13.12"
       }
     },
-    "node_modules/@babel/plugin-proposal-async-generator-functions": {
+    "@babel/plugin-proposal-async-generator-functions": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.2.tgz",
       "integrity": "sha512-b1AM4F6fwck4N8ItZ/AtC4FP/cqZqmKRQ4FaTDutwSYyjuhtvsGEMLK4N/ztV/ImP40BjIDyMgBQAeAMsQYVFQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/helper-remap-async-to-generator": "^7.13.0",
         "@babel/plugin-syntax-async-generators": "^7.8.4"
       }
     },
-    "node_modules/@babel/plugin-proposal-class-properties": {
+    "@babel/plugin-proposal-class-properties": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz",
       "integrity": "sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-class-features-plugin": "^7.13.0",
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-proposal-class-static-block": {
+    "@babel/plugin-proposal-class-static-block": {
       "version": "7.14.3",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz",
       "integrity": "sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-class-features-plugin": "^7.14.3",
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-class-static-block": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-proposal-decorators": {
+    "@babel/plugin-proposal-decorators": {
       "version": "7.12.1",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.1.tgz",
       "integrity": "sha512-knNIuusychgYN8fGJHONL0RbFxLGawhXOJNLBk75TniTsZZeA+wdkDuv6wp4lGwzQEKjZi6/WYtnb3udNPmQmQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-class-features-plugin": "^7.12.1",
         "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-decorators": "^7.12.1"
       }
     },
-    "node_modules/@babel/plugin-proposal-dynamic-import": {
+    "@babel/plugin-proposal-dynamic-import": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.2.tgz",
       "integrity": "sha512-oxVQZIWFh91vuNEMKltqNsKLFWkOIyJc95k2Gv9lWVyDfPUQGSSlbDEgWuJUU1afGE9WwlzpucMZ3yDRHIItkA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-dynamic-import": "^7.8.3"
       }
     },
-    "node_modules/@babel/plugin-proposal-export-namespace-from": {
+    "@babel/plugin-proposal-export-namespace-from": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.2.tgz",
       "integrity": "sha512-sRxW3z3Zp3pFfLAgVEvzTFutTXax837oOatUIvSG9o5gRj9mKwm3br1Se5f4QalTQs9x4AzlA/HrCWbQIHASUQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
       }
     },
-    "node_modules/@babel/plugin-proposal-json-strings": {
+    "@babel/plugin-proposal-json-strings": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.2.tgz",
       "integrity": "sha512-w2DtsfXBBJddJacXMBhElGEYqCZQqN99Se1qeYn8DVLB33owlrlLftIbMzn5nz1OITfDVknXF433tBrLEAOEjA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-json-strings": "^7.8.3"
       }
     },
-    "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
+    "@babel/plugin-proposal-logical-assignment-operators": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.2.tgz",
       "integrity": "sha512-1JAZtUrqYyGsS7IDmFeaem+/LJqujfLZ2weLR9ugB0ufUPjzf8cguyVT1g5im7f7RXxuLq1xUxEzvm68uYRtGg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
       }
     },
-    "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": {
+    "@babel/plugin-proposal-nullish-coalescing-operator": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.2.tgz",
       "integrity": "sha512-ebR0zU9OvI2N4qiAC38KIAK75KItpIPTpAtd2r4OZmMFeKbKJpUFLYP2EuDut82+BmYi8sz42B+TfTptJ9iG5Q==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
       }
     },
-    "node_modules/@babel/plugin-proposal-numeric-separator": {
+    "@babel/plugin-proposal-numeric-separator": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.2.tgz",
       "integrity": "sha512-DcTQY9syxu9BpU3Uo94fjCB3LN9/hgPS8oUL7KrSW3bA2ePrKZZPJcc5y0hoJAM9dft3pGfErtEUvxXQcfLxUg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-numeric-separator": "^7.10.4"
       }
     },
-    "node_modules/@babel/plugin-proposal-object-rest-spread": {
+    "@babel/plugin-proposal-object-rest-spread": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.4.tgz",
       "integrity": "sha512-AYosOWBlyyXEagrPRfLJ1enStufsr7D1+ddpj8OLi9k7B6+NdZ0t/9V7Fh+wJ4g2Jol8z2JkgczYqtWrZd4vbA==",
-      "dependencies": {
+      "requires": {
         "@babel/compat-data": "^7.14.4",
         "@babel/helper-compilation-targets": "^7.14.4",
         "@babel/helper-plugin-utils": "^7.13.0",
@@ -508,256 +501,253 @@
         "@babel/plugin-transform-parameters": "^7.14.2"
       }
     },
-    "node_modules/@babel/plugin-proposal-optional-catch-binding": {
+    "@babel/plugin-proposal-optional-catch-binding": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.2.tgz",
       "integrity": "sha512-XtkJsmJtBaUbOxZsNk0Fvrv8eiqgneug0A6aqLFZ4TSkar2L5dSXWcnUKHgmjJt49pyB/6ZHvkr3dPgl9MOWRQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
       }
     },
-    "node_modules/@babel/plugin-proposal-optional-chaining": {
+    "@babel/plugin-proposal-optional-chaining": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.2.tgz",
       "integrity": "sha512-qQByMRPwMZJainfig10BoaDldx/+VDtNcrA7qdNaEOAj6VXud+gfrkA8j4CRAU5HjnWREXqIpSpH30qZX1xivA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1",
         "@babel/plugin-syntax-optional-chaining": "^7.8.3"
       }
     },
-    "node_modules/@babel/plugin-proposal-private-methods": {
+    "@babel/plugin-proposal-private-methods": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz",
       "integrity": "sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-class-features-plugin": "^7.13.0",
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-proposal-private-property-in-object": {
+    "@babel/plugin-proposal-private-property-in-object": {
       "version": "7.14.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.0.tgz",
       "integrity": "sha512-59ANdmEwwRUkLjB7CRtwJxxwtjESw+X2IePItA+RGQh+oy5RmpCh/EvVVvh5XQc3yxsm5gtv0+i9oBZhaDNVTg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-annotate-as-pure": "^7.12.13",
         "@babel/helper-create-class-features-plugin": "^7.14.0",
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-private-property-in-object": "^7.14.0"
       }
     },
-    "node_modules/@babel/plugin-proposal-unicode-property-regex": {
+    "@babel/plugin-proposal-unicode-property-regex": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz",
       "integrity": "sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-regexp-features-plugin": "^7.12.13",
         "@babel/helper-plugin-utils": "^7.12.13"
-      },
-      "engines": {
-        "node": ">=4"
       }
     },
-    "node_modules/@babel/plugin-syntax-async-generators": {
+    "@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==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "node_modules/@babel/plugin-syntax-bigint": {
+    "@babel/plugin-syntax-bigint": {
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
       "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "node_modules/@babel/plugin-syntax-class-properties": {
+    "@babel/plugin-syntax-class-properties": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
       "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-syntax-class-static-block": {
+    "@babel/plugin-syntax-class-static-block": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.12.13.tgz",
       "integrity": "sha512-ZmKQ0ZXR0nYpHZIIuj9zE7oIqCx2hw9TKi+lIo73NNrMPAZGHfS92/VRV0ZmPj6H2ffBgyFHXvJ5NYsNeEaP2A==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-syntax-decorators": {
+    "@babel/plugin-syntax-decorators": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.13.tgz",
       "integrity": "sha512-Rw6aIXGuqDLr6/LoBBYE57nKOzQpz/aDkKlMqEwH+Vp0MXbG6H/TfRjaY343LKxzAKAMXIHsQ8JzaZKuDZ9MwA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-syntax-dynamic-import": {
+    "@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==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "node_modules/@babel/plugin-syntax-export-namespace-from": {
+    "@babel/plugin-syntax-export-namespace-from": {
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
       "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.8.3"
       }
     },
-    "node_modules/@babel/plugin-syntax-flow": {
+    "@babel/plugin-syntax-flow": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz",
       "integrity": "sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-syntax-import-meta": {
+    "@babel/plugin-syntax-import-meta": {
       "version": "7.10.4",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
       "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
-    "node_modules/@babel/plugin-syntax-json-strings": {
+    "@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==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "node_modules/@babel/plugin-syntax-jsx": {
+    "@babel/plugin-syntax-jsx": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz",
       "integrity": "sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+    "@babel/plugin-syntax-logical-assignment-operators": {
       "version": "7.10.4",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
       "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
-    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+    "@babel/plugin-syntax-nullish-coalescing-operator": {
       "version": "7.8.3",
       "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==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "node_modules/@babel/plugin-syntax-numeric-separator": {
+    "@babel/plugin-syntax-numeric-separator": {
       "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==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
-    "node_modules/@babel/plugin-syntax-object-rest-spread": {
+    "@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==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+    "@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==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "node_modules/@babel/plugin-syntax-optional-chaining": {
+    "@babel/plugin-syntax-optional-chaining": {
       "version": "7.8.3",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
       "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "node_modules/@babel/plugin-syntax-private-property-in-object": {
+    "@babel/plugin-syntax-private-property-in-object": {
       "version": "7.14.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.0.tgz",
       "integrity": "sha512-bda3xF8wGl5/5btF794utNOL0Jw+9jE5C1sLZcoK7c4uonE/y3iQiyG+KbkF3WBV/paX58VCpjhxLPkdj5Fe4w==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-syntax-top-level-await": {
+    "@babel/plugin-syntax-top-level-await": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz",
       "integrity": "sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-syntax-typescript": {
+    "@babel/plugin-syntax-typescript": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.13.tgz",
       "integrity": "sha512-cHP3u1JiUiG2LFDKbXnwVad81GvfyIOmCD6HIEId6ojrY0Drfy2q1jw7BwN7dE84+kTnBjLkXoL3IEy/3JPu2w==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-arrow-functions": {
+    "@babel/plugin-transform-arrow-functions": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz",
       "integrity": "sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-async-to-generator": {
+    "@babel/plugin-transform-async-to-generator": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz",
       "integrity": "sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-module-imports": "^7.12.13",
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/helper-remap-async-to-generator": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-block-scoped-functions": {
+    "@babel/plugin-transform-block-scoped-functions": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz",
       "integrity": "sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-block-scoping": {
+    "@babel/plugin-transform-block-scoping": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.4.tgz",
       "integrity": "sha512-5KdpkGxsZlTk+fPleDtGKsA+pon28+ptYmMO8GBSa5fHERCJWAzj50uAfCKBqq42HO+Zot6JF1x37CRprwmN4g==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-classes": {
+    "@babel/plugin-transform-classes": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.4.tgz",
       "integrity": "sha512-p73t31SIj6y94RDVX57rafVjttNr8MvKEgs5YFatNB/xC68zM3pyosuOEcQmYsYlyQaGY9R7rAULVRcat5FKJQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-annotate-as-pure": "^7.12.13",
         "@babel/helper-function-name": "^7.14.2",
         "@babel/helper-optimise-call-expression": "^7.12.13",
@@ -767,116 +757,116 @@
         "globals": "^11.1.0"
       }
     },
-    "node_modules/@babel/plugin-transform-computed-properties": {
+    "@babel/plugin-transform-computed-properties": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz",
       "integrity": "sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-destructuring": {
+    "@babel/plugin-transform-destructuring": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.4.tgz",
       "integrity": "sha512-JyywKreTCGTUsL1OKu1A3ms/R1sTP0WxbpXlALeGzF53eB3bxtNkYdMj9SDgK7g6ImPy76J5oYYKoTtQImlhQA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-dotall-regex": {
+    "@babel/plugin-transform-dotall-regex": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz",
       "integrity": "sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-regexp-features-plugin": "^7.12.13",
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-duplicate-keys": {
+    "@babel/plugin-transform-duplicate-keys": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz",
       "integrity": "sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-exponentiation-operator": {
+    "@babel/plugin-transform-exponentiation-operator": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz",
       "integrity": "sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-builder-binary-assignment-operator-visitor": "^7.12.13",
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-flow-strip-types": {
+    "@babel/plugin-transform-flow-strip-types": {
       "version": "7.12.1",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz",
       "integrity": "sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-syntax-flow": "^7.12.1"
       }
     },
-    "node_modules/@babel/plugin-transform-for-of": {
+    "@babel/plugin-transform-for-of": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz",
       "integrity": "sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-function-name": {
+    "@babel/plugin-transform-function-name": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz",
       "integrity": "sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-function-name": "^7.12.13",
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-literals": {
+    "@babel/plugin-transform-literals": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz",
       "integrity": "sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-member-expression-literals": {
+    "@babel/plugin-transform-member-expression-literals": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz",
       "integrity": "sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-modules-amd": {
+    "@babel/plugin-transform-modules-amd": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.2.tgz",
       "integrity": "sha512-hPC6XBswt8P3G2D1tSV2HzdKvkqOpmbyoy+g73JG0qlF/qx2y3KaMmXb1fLrpmWGLZYA0ojCvaHdzFWjlmV+Pw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-module-transforms": "^7.14.2",
         "@babel/helper-plugin-utils": "^7.13.0",
         "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
-    "node_modules/@babel/plugin-transform-modules-commonjs": {
+    "@babel/plugin-transform-modules-commonjs": {
       "version": "7.14.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.0.tgz",
       "integrity": "sha512-EX4QePlsTaRZQmw9BsoPeyh5OCtRGIhwfLquhxGp5e32w+dyL8htOcDwamlitmNFK6xBZYlygjdye9dbd9rUlQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-module-transforms": "^7.14.0",
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/helper-simple-access": "^7.13.12",
         "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
-    "node_modules/@babel/plugin-transform-modules-systemjs": {
+    "@babel/plugin-transform-modules-systemjs": {
       "version": "7.13.8",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.13.8.tgz",
       "integrity": "sha512-hwqctPYjhM6cWvVIlOIe27jCIBgHCsdH2xCJVAYQm7V5yTMoilbVMi9f6wKg0rpQAOn6ZG4AOyvCqFF/hUh6+A==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-hoist-variables": "^7.13.0",
         "@babel/helper-module-transforms": "^7.13.0",
         "@babel/helper-plugin-utils": "^7.13.0",
@@ -884,77 +874,77 @@
         "babel-plugin-dynamic-import-node": "^2.3.3"
       }
     },
-    "node_modules/@babel/plugin-transform-modules-umd": {
+    "@babel/plugin-transform-modules-umd": {
       "version": "7.14.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.0.tgz",
       "integrity": "sha512-nPZdnWtXXeY7I87UZr9VlsWme3Y0cfFFE41Wbxz4bbaexAjNMInXPFUpRRUJ8NoMm0Cw+zxbqjdPmLhcjfazMw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-module-transforms": "^7.14.0",
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
+    "@babel/plugin-transform-named-capturing-groups-regex": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz",
       "integrity": "sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-regexp-features-plugin": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-new-target": {
+    "@babel/plugin-transform-new-target": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz",
       "integrity": "sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-object-super": {
+    "@babel/plugin-transform-object-super": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz",
       "integrity": "sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13",
         "@babel/helper-replace-supers": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-parameters": {
+    "@babel/plugin-transform-parameters": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.2.tgz",
       "integrity": "sha512-NxoVmA3APNCC1JdMXkdYXuQS+EMdqy0vIwyDHeKHiJKRxmp1qGSdb0JLEIoPRhkx6H/8Qi3RJ3uqOCYw8giy9A==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-property-literals": {
+    "@babel/plugin-transform-property-literals": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz",
       "integrity": "sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-react-constant-elements": {
+    "@babel/plugin-transform-react-constant-elements": {
       "version": "7.13.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.13.13.tgz",
       "integrity": "sha512-SNJU53VM/SjQL0bZhyU+f4kJQz7bQQajnrZRSaU21hruG/NWY41AEM9AWXeXX90pYr/C2yAmTgI6yW3LlLrAUQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-react-display-name": {
+    "@babel/plugin-transform-react-display-name": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.2.tgz",
       "integrity": "sha512-zCubvP+jjahpnFJvPaHPiGVfuVUjXHhFvJKQdNnsmSsiU9kR/rCZ41jHc++tERD2zV+p7Hr6is+t5b6iWTCqSw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-react-jsx": {
+    "@babel/plugin-transform-react-jsx": {
       "version": "7.14.3",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.3.tgz",
       "integrity": "sha512-uuxuoUNVhdgYzERiHHFkE4dWoJx+UFVyuAl0aqN8P2/AKFHwqgUC5w2+4/PjpKXJsFgBlYAFXlUmDQ3k3DUkXw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-annotate-as-pure": "^7.12.13",
         "@babel/helper-module-imports": "^7.13.12",
         "@babel/helper-plugin-utils": "^7.13.0",
@@ -962,147 +952,146 @@
         "@babel/types": "^7.14.2"
       }
     },
-    "node_modules/@babel/plugin-transform-react-jsx-development": {
+    "@babel/plugin-transform-react-jsx-development": {
       "version": "7.12.17",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz",
       "integrity": "sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ==",
-      "dependencies": {
+      "requires": {
         "@babel/plugin-transform-react-jsx": "^7.12.17"
       }
     },
-    "node_modules/@babel/plugin-transform-react-jsx-self": {
+    "@babel/plugin-transform-react-jsx-self": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.12.13.tgz",
       "integrity": "sha512-FXYw98TTJ125GVCCkFLZXlZ1qGcsYqNQhVBQcZjyrwf8FEUtVfKIoidnO8S0q+KBQpDYNTmiGo1gn67Vti04lQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-react-jsx-source": {
+    "@babel/plugin-transform-react-jsx-source": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.2.tgz",
       "integrity": "sha512-OMorspVyjxghAjzgeAWc6O7W7vHbJhV69NeTGdl9Mxgz6PaweAuo7ffB9T5A1OQ9dGcw0As4SYMUhyNC4u7mVg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-react-pure-annotations": {
+    "@babel/plugin-transform-react-pure-annotations": {
       "version": "7.12.1",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz",
       "integrity": "sha512-RqeaHiwZtphSIUZ5I85PEH19LOSzxfuEazoY7/pWASCAIBuATQzpSVD+eT6MebeeZT2F4eSL0u4vw6n4Nm0Mjg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-annotate-as-pure": "^7.10.4",
         "@babel/helper-plugin-utils": "^7.10.4"
       }
     },
-    "node_modules/@babel/plugin-transform-regenerator": {
+    "@babel/plugin-transform-regenerator": {
       "version": "7.13.15",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.13.15.tgz",
       "integrity": "sha512-Bk9cOLSz8DiurcMETZ8E2YtIVJbFCPGW28DJWUakmyVWtQSm6Wsf0p4B4BfEr/eL2Nkhe/CICiUiMOCi1TPhuQ==",
-      "dependencies": {
+      "requires": {
         "regenerator-transform": "^0.14.2"
       }
     },
-    "node_modules/@babel/plugin-transform-reserved-words": {
+    "@babel/plugin-transform-reserved-words": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz",
       "integrity": "sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-runtime": {
+    "@babel/plugin-transform-runtime": {
       "version": "7.12.1",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz",
       "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-module-imports": "^7.12.1",
         "@babel/helper-plugin-utils": "^7.10.4",
         "resolve": "^1.8.1",
         "semver": "^5.5.1"
+      },
+      "dependencies": {
+        "semver": {
+          "version": "5.7.1",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+          "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+        }
       }
     },
-    "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
-      "version": "5.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/@babel/plugin-transform-shorthand-properties": {
+    "@babel/plugin-transform-shorthand-properties": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz",
       "integrity": "sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-spread": {
+    "@babel/plugin-transform-spread": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz",
       "integrity": "sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1"
       }
     },
-    "node_modules/@babel/plugin-transform-sticky-regex": {
+    "@babel/plugin-transform-sticky-regex": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz",
       "integrity": "sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-template-literals": {
+    "@babel/plugin-transform-template-literals": {
       "version": "7.13.0",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz",
       "integrity": "sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0"
       }
     },
-    "node_modules/@babel/plugin-transform-typeof-symbol": {
+    "@babel/plugin-transform-typeof-symbol": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz",
       "integrity": "sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-typescript": {
+    "@babel/plugin-transform-typescript": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.4.tgz",
       "integrity": "sha512-WYdcGNEO7mCCZ2XzRlxwGj3PgeAr50ifkofOUC/+IN/GzKLB+biDPVBUAQN2C/dVZTvEXCp80kfQ1FFZPrwykQ==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-class-features-plugin": "^7.14.4",
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/plugin-syntax-typescript": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-unicode-escapes": {
+    "@babel/plugin-transform-unicode-escapes": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz",
       "integrity": "sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/plugin-transform-unicode-regex": {
+    "@babel/plugin-transform-unicode-regex": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz",
       "integrity": "sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-create-regexp-features-plugin": "^7.12.13",
         "@babel/helper-plugin-utils": "^7.12.13"
       }
     },
-    "node_modules/@babel/preset-env": {
+    "@babel/preset-env": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.4.tgz",
       "integrity": "sha512-GwMMsuAnDtULyOtuxHhzzuSRxFeP0aR/LNzrHRzP8y6AgDNgqnrfCCBm/1cRdTU75tRs28Eh76poHLcg9VF0LA==",
-      "dependencies": {
+      "requires": {
         "@babel/compat-data": "^7.14.4",
         "@babel/helper-compilation-targets": "^7.14.4",
         "@babel/helper-plugin-utils": "^7.13.0",
@@ -1176,21 +1165,20 @@
         "babel-plugin-polyfill-regenerator": "^0.2.0",
         "core-js-compat": "^3.9.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=="
+        }
       }
     },
-    "node_modules/@babel/preset-env/node_modules/semver": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-      "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@babel/preset-modules": {
+    "@babel/preset-modules": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz",
       "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==",
-      "dependencies": {
+      "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",
@@ -1198,11 +1186,11 @@
         "esutils": "^2.0.2"
       }
     },
-    "node_modules/@babel/preset-react": {
+    "@babel/preset-react": {
       "version": "7.13.13",
       "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.13.13.tgz",
       "integrity": "sha512-gx+tDLIE06sRjKJkVtpZ/t3mzCDOnPG+ggHZG9lffUbX8+wC739x20YQc9V35Do6ZAxaUc/HhVHIiOzz5MvDmA==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.13.0",
         "@babel/helper-validator-option": "^7.12.17",
         "@babel/plugin-transform-react-display-name": "^7.12.13",
@@ -1211,50 +1199,58 @@
         "@babel/plugin-transform-react-pure-annotations": "^7.12.1"
       }
     },
-    "node_modules/@babel/preset-typescript": {
+    "@babel/preset-typescript": {
       "version": "7.12.1",
       "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.1.tgz",
       "integrity": "sha512-hNK/DhmoJPsksdHuI/RVrcEws7GN5eamhi28JkO52MqIxU8Z0QpmiSOQxZHWOHV7I3P4UjHV97ay4TcamMA6Kw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-plugin-utils": "^7.10.4",
         "@babel/plugin-transform-typescript": "^7.12.1"
       }
     },
+<<<<<<< HEAD
     "node_modules/@babel/runtime": {
       "version": "7.15.4",
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz",
       "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==",
       "dependencies": {
+=======
+    "@babel/runtime": {
+      "version": "7.14.0",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.14.0.tgz",
+      "integrity": "sha512-JELkvo/DlpNdJ7dlyw/eY7E0suy5i5GQH+Vlxaq1nsNJ+H7f4Vtv3jMeCEgRhZZQFXTjldYfQgv2qmM6M1v5wA==",
+      "requires": {
+>>>>>>> 7683e91... OCLOMRS-1044:Bug Fix: Pick Concepts from Source and Dictionaries
         "regenerator-runtime": "^0.13.4"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
-    "node_modules/@babel/runtime-corejs3": {
+    "@babel/runtime-corejs3": {
       "version": "7.14.0",
       "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.14.0.tgz",
       "integrity": "sha512-0R0HTZWHLk6G8jIk0FtoX+AatCtKnswS98VhXwGImFc759PJRp4Tru0PQYZofyijTFUr+gT8Mu7sgXVJLQ0ceg==",
-      "dependencies": {
+      "requires": {
         "core-js-pure": "^3.0.0",
         "regenerator-runtime": "^0.13.4"
       }
     },
-    "node_modules/@babel/template": {
+    "@babel/template": {
       "version": "7.12.13",
       "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.13.tgz",
       "integrity": "sha512-/7xxiGA57xMo/P2GVvdEumr8ONhFOhfgq2ihK3h1e6THqzTAkHbkXgB0xI9yeTfIUoH3+oAeHhqm/I43OTbbjA==",
-      "dependencies": {
+      "requires": {
         "@babel/code-frame": "^7.12.13",
         "@babel/parser": "^7.12.13",
         "@babel/types": "^7.12.13"
       }
     },
-    "node_modules/@babel/traverse": {
+    "@babel/traverse": {
       "version": "7.14.2",
       "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.14.2.tgz",
       "integrity": "sha512-TsdRgvBFHMyHOOzcP9S6QU0QQtjxlRpEYOy3mcCO5RgmC305ki42aSAmfZEMSSYBla2oZ9BMqYlncBaKmD/7iA==",
-      "dependencies": {
+      "requires": {
         "@babel/code-frame": "^7.12.13",
         "@babel/generator": "^7.14.2",
         "@babel/helper-function-name": "^7.14.2",
@@ -1265,53 +1261,45 @@
         "globals": "^11.1.0"
       }
     },
-    "node_modules/@babel/types": {
+    "@babel/types": {
       "version": "7.14.4",
       "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz",
       "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==",
-      "dependencies": {
+      "requires": {
         "@babel/helper-validator-identifier": "^7.14.0",
         "to-fast-properties": "^2.0.0"
       }
     },
-    "node_modules/@bcoe/v8-coverage": {
+    "@bcoe/v8-coverage": {
       "version": "0.2.3",
       "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
       "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw=="
     },
-    "node_modules/@cnakazawa/watch": {
+    "@cnakazawa/watch": {
       "version": "1.0.4",
       "resolved": "https://registry.npmjs.org/@cnakazawa/watch/-/watch-1.0.4.tgz",
       "integrity": "sha512-v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==",
-      "dependencies": {
+      "requires": {
         "exec-sh": "^0.3.2",
         "minimist": "^1.2.0"
-      },
-      "bin": {
-        "watch": "cli.js"
-      },
-      "engines": {
-        "node": ">=0.1.95"
       }
     },
-    "node_modules/@csstools/convert-colors": {
+    "@csstools/convert-colors": {
       "version": "1.4.0",
       "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz",
-      "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==",
-      "engines": {
-        "node": ">=4.0.0"
-      }
+      "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw=="
     },
-    "node_modules/@csstools/normalize.css": {
+    "@csstools/normalize.css": {
       "version": "10.1.0",
       "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz",
       "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg=="
     },
-    "node_modules/@cypress/browserify-preprocessor": {
+    "@cypress/browserify-preprocessor": {
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/@cypress/browserify-preprocessor/-/browserify-preprocessor-3.0.1.tgz",
       "integrity": "sha512-sErmFSEr5287bLMRl0POGnyFtJCs/lSk5yxrUIJUIHZ8eDvtTEr0V93xRgLjJVG54gJU4MbpHy1mRPA9VZbtQA==",
       "dev": true,
+<<<<<<< HEAD
       "dependencies": {
         "@babel/core": "7.4.5",
         "@babel/plugin-proposal-class-properties": "7.3.0",
@@ -26637,6 +26625,8 @@
       "resolved": "https://registry.npmjs.org/@cypress/browserify-preprocessor/-/browserify-preprocessor-3.0.1.tgz",
       "integrity": "sha512-sErmFSEr5287bLMRl0POGnyFtJCs/lSk5yxrUIJUIHZ8eDvtTEr0V93xRgLjJVG54gJU4MbpHy1mRPA9VZbtQA==",
       "dev": true,
+=======
+>>>>>>> 7683e91... OCLOMRS-1044:Bug Fix: Pick Concepts from Source and Dictionaries
       "requires": {
         "@babel/core": "7.4.5",
         "@babel/plugin-proposal-class-properties": "7.3.0",
@@ -26658,6 +26648,12 @@
         "watchify": "3.11.1"
       },
       "dependencies": {
+        "@babel/compat-data": {
+          "version": "7.15.0",
+          "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.15.0.tgz",
+          "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==",
+          "dev": true
+        },
         "@babel/core": {
           "version": "7.4.5",
           "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.4.5.tgz",
@@ -26680,6 +26676,32 @@
             "source-map": "^0.5.0"
           }
         },
+        "@babel/helper-compilation-targets": {
+          "version": "7.15.4",
+          "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.15.4.tgz",
+          "integrity": "sha512-rMWPCirulnPSe4d+gwdWXLfAXTTBj8M3guAf5xFQJ0nvFY7tfNAFnWdqaHegHlgDZOCT4qvhF3BYlSJag8yhqQ==",
+          "dev": true,
+          "requires": {
+            "@babel/compat-data": "^7.15.0",
+            "@babel/helper-validator-option": "^7.14.5",
+            "browserslist": "^4.16.6",
+            "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
+            }
+          }
+        },
+        "@babel/helper-validator-option": {
+          "version": "7.14.5",
+          "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz",
+          "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==",
+          "dev": true
+        },
         "@babel/plugin-proposal-class-properties": {
           "version": "7.3.0",
           "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.3.0.tgz",
@@ -26769,16 +26791,33 @@
           },
           "dependencies": {
             "@babel/plugin-proposal-object-rest-spread": {
-              "version": "7.14.4",
-              "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.4.tgz",
-              "integrity": "sha512-AYosOWBlyyXEagrPRfLJ1enStufsr7D1+ddpj8OLi9k7B6+NdZ0t/9V7Fh+wJ4g2Jol8z2JkgczYqtWrZd4vbA==",
+              "version": "7.15.6",
+              "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.15.6.tgz",
+              "integrity": "sha512-qtOHo7A1Vt+O23qEAX+GdBpqaIuD3i9VRrWgCJeq7WO6H2d14EK3q11urj5Te2MAeK97nMiIdRpwd/ST4JFbNg==",
               "dev": true,
               "requires": {
-                "@babel/compat-data": "^7.14.4",
-                "@babel/helper-compilation-targets": "^7.14.4",
-                "@babel/helper-plugin-utils": "^7.13.0",
+                "@babel/compat-data": "^7.15.0",
+                "@babel/helper-compilation-targets": "^7.15.4",
+                "@babel/helper-plugin-utils": "^7.14.5",
                 "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-                "@babel/plugin-transform-parameters": "^7.14.2"
+                "@babel/plugin-transform-parameters": "^7.15.4"
+              },
+              "dependencies": {
+                "@babel/helper-plugin-utils": {
+                  "version": "7.14.5",
+                  "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz",
+                  "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==",
+                  "dev": true
+                },
+                "@babel/plugin-transform-parameters": {
+                  "version": "7.15.4",
+                  "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.15.4.tgz",
+                  "integrity": "sha512-9WB/GUTO6lvJU3XQsSr6J/WKvBC2hcs4Pew8YxZagi6GkTdniyqp8On5kqdK8MN0LMeu0mGbhPN+O049NV/9FQ==",
+                  "dev": true,
+                  "requires": {
+                    "@babel/helper-plugin-utils": "^7.14.5"
+                  }
+                }
               }
             }
           }
@@ -28146,12 +28185,12 @@
       "integrity": "sha512-IXf3XA7+XyN7CP9gGh/XB0UxVMlvARGEgGXLubFICsUMGz6Q+DU+i4gGlpOxTjKvXjkJDJC8YdqdKkDj9qZHEQ=="
     },
     "@reduxjs/toolkit": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.5.1.tgz",
-      "integrity": "sha512-PngZKuwVZsd+mimnmhiOQzoD0FiMjqVks6ituO1//Ft5UEX5Ca9of13NEjo//pU22Jk7z/mdXVsmDfgsig1osA==",
+      "version": "1.6.2",
+      "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.6.2.tgz",
+      "integrity": "sha512-HbfI/hOVrAcMGAYsMWxw3UJyIoAS9JTdwddsjlr5w3S50tXhWb+EMyhIw+IAvCVCLETkzdjgH91RjDSYZekVBA==",
       "requires": {
-        "immer": "^8.0.1",
-        "redux": "^4.0.0",
+        "immer": "^9.0.6",
+        "redux": "^4.1.0",
         "redux-thunk": "^2.3.0",
         "reselect": "^4.0.0"
       }
@@ -29241,6 +29280,16 @@
       "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
       "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
     },
+    "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"
+      }
+    },
     "abab": {
       "version": "2.0.5",
       "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
@@ -29373,9 +29422,9 @@
       "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4="
     },
     "ansi-regex": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz",
-      "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg=="
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
     },
     "ansi-styles": {
       "version": "3.2.1",
@@ -29580,6 +29629,17 @@
       "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==",
       "dev": true
     },
+    "assertion-error-formatter": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-2.0.1.tgz",
+      "integrity": "sha512-cjC3jUCh9spkroKue5PDSKH5RFQ/KNuZJhk3GwHYmB/8qqETxLOmMdLH+ohi/VukNzxDlMvIe7zScvLoOdhb6Q==",
+      "dev": true,
+      "requires": {
+        "diff": "^3.0.0",
+        "pad-right": "^0.2.2",
+        "repeat-string": "^1.6.1"
+      }
+    },
     "assign-symbols": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
@@ -29660,11 +29720,11 @@
       "integrity": "sha512-evY7DN8qSIbsW2H/TWQ1bX3sXN1d4MNb5Vb4n7BzPuCwRHdkZ1H2eNLuSh73EoQqkGKUtju2G2HCcjCfhvZIAA=="
     },
     "axios": {
-      "version": "0.21.1",
-      "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
-      "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
+      "version": "0.21.4",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
+      "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
       "requires": {
-        "follow-redirects": "^1.10.0"
+        "follow-redirects": "^1.14.0"
       }
     },
     "axobject-query": {
@@ -30655,9 +30715,9 @@
       "integrity": "sha512-erYug8XoqzU3IfcU8fUgyHqyOXqIE4tUTTQ+7mqUjQlvnXkOO6OlT9c/ZoJVHYoAaqGxr09CN53G7XIsO4KtWA==",
       "dev": true,
       "requires": {
+        "JSONStream": "^1.0.3",
         "combine-source-map": "~0.8.0",
         "defined": "^1.0.0",
-        "JSONStream": "^1.0.3",
         "safe-buffer": "^5.1.1",
         "through2": "^2.0.0",
         "umd": "^3.0.0"
@@ -30691,6 +30751,7 @@
       "integrity": "sha512-zQt/Gd1+W+IY+h/xX2NYMW4orQWhqSwyV+xsblycTtpOuB27h1fZhhNQuipJ4t79ohw4P4mMem0jp/ZkISQtjQ==",
       "dev": true,
       "requires": {
+        "JSONStream": "^1.0.3",
         "assert": "^1.4.0",
         "browser-pack": "^6.0.1",
         "browser-resolve": "^1.11.0",
@@ -30712,7 +30773,6 @@
         "https-browserify": "^1.0.0",
         "inherits": "~2.0.1",
         "insert-module-globals": "^7.0.0",
-        "JSONStream": "^1.0.3",
         "labeled-stream-splicer": "^2.0.0",
         "mkdirp": "^0.5.0",
         "module-deps": "^6.0.0",
@@ -32126,6 +32186,74 @@
       "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.17.tgz",
       "integrity": "sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A=="
     },
+    "cucumber": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-4.2.1.tgz",
+      "integrity": "sha512-3gQ0Vv4kSHsvXEFC6b1c+TfLRDzWD1/kU7e5vm8Kh8j35b95k6favan9/4ixcBNqd7UsU1T6FYcawC87+DlNKw==",
+      "dev": true,
+      "requires": {
+        "assertion-error-formatter": "^2.0.1",
+        "babel-runtime": "^6.11.6",
+        "bluebird": "^3.4.1",
+        "cli-table": "^0.3.1",
+        "colors": "^1.1.2",
+        "commander": "^2.9.0",
+        "cucumber-expressions": "^5.0.13",
+        "cucumber-tag-expressions": "^1.1.1",
+        "duration": "^0.2.0",
+        "escape-string-regexp": "^1.0.5",
+        "figures": "2.0.0",
+        "gherkin": "^5.0.0",
+        "glob": "^7.0.0",
+        "indent-string": "^3.1.0",
+        "is-generator": "^1.0.2",
+        "is-stream": "^1.1.0",
+        "knuth-shuffle-seeded": "^1.0.6",
+        "lodash": "^4.17.4",
+        "mz": "^2.4.0",
+        "progress": "^2.0.0",
+        "resolve": "^1.3.3",
+        "serialize-error": "^2.1.0",
+        "stack-chain": "^2.0.0",
+        "stacktrace-js": "^2.0.0",
+        "string-argv": "0.0.2",
+        "title-case": "^2.1.1",
+        "util-arity": "^1.0.2",
+        "verror": "^1.9.0"
+      },
+      "dependencies": {
+        "commander": {
+          "version": "2.20.3",
+          "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+          "dev": true
+        },
+        "cucumber-expressions": {
+          "version": "5.0.18",
+          "resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-5.0.18.tgz",
+          "integrity": "sha1-bHB3nv0668Xp54U5OLERAyJClZY=",
+          "dev": true,
+          "requires": {
+            "becke-ch--regex--s0-0-v1--base--pl--lib": "^1.2.0"
+          }
+        },
+        "figures": {
+          "version": "2.0.0",
+          "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
+          "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
+          "dev": true,
+          "requires": {
+            "escape-string-regexp": "^1.0.5"
+          }
+        },
+        "indent-string": {
+          "version": "3.2.0",
+          "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
+          "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
+          "dev": true
+        }
+      }
+    },
     "cucumber-expressions": {
       "version": "6.6.2",
       "resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-6.6.2.tgz",
@@ -32374,14 +32502,14 @@
       }
     },
     "cypress-cucumber-preprocessor": {
-      "version": "4.1.2",
-      "resolved": "https://registry.npmjs.org/cypress-cucumber-preprocessor/-/cypress-cucumber-preprocessor-4.1.2.tgz",
-      "integrity": "sha512-9TPpYeF5VGAO99TWzGnEMIwXamhDvvJP+may/CZKbaEeY8w3Bh82FIGgRiE59OnA92oe/BXJwNrduNgPQ1qt5w==",
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/cypress-cucumber-preprocessor/-/cypress-cucumber-preprocessor-4.3.0.tgz",
+      "integrity": "sha512-/jgkC5BN6NrSQSMDaxxDzq9hIbhhtVcQg4u7soW3rJn57vFhIAs1x38N0kYgv7+JZ0UafDdVM7FllUSHhjM9KQ==",
       "dev": true,
       "requires": {
         "@cypress/browserify-preprocessor": "^3.0.1",
         "chai": "^4.2.0",
-        "chokidar": "2.1.8",
+        "chokidar": "3.5.2",
         "cosmiconfig": "^4.0.0",
         "cucumber": "^4.2.1",
         "cucumber-expressions": "^6.0.1",
@@ -32395,99 +32523,22 @@
         "through": "^2.3.8"
       },
       "dependencies": {
-        "anymatch": {
-          "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"
-          },
-          "dependencies": {
-            "normalize-path": {
-              "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"
-              }
-            }
-          }
-        },
-        "assertion-error-formatter": {
-          "version": "2.0.1",
-          "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-2.0.1.tgz",
-          "integrity": "sha512-cjC3jUCh9spkroKue5PDSKH5RFQ/KNuZJhk3GwHYmB/8qqETxLOmMdLH+ohi/VukNzxDlMvIe7zScvLoOdhb6Q==",
-          "dev": true,
-          "requires": {
-            "diff": "^3.0.0",
-            "pad-right": "^0.2.2",
-            "repeat-string": "^1.6.1"
-          }
-        },
-        "binary-extensions": {
-          "version": "1.13.1",
-          "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz",
-          "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==",
-          "dev": true
-        },
-        "braces": {
-          "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",
-            "extend-shallow": "^2.0.1",
-            "fill-range": "^4.0.0",
-            "isobject": "^3.0.1",
-            "repeat-element": "^1.1.2",
-            "snapdragon": "^0.8.1",
-            "snapdragon-node": "^2.0.1",
-            "split-string": "^3.0.2",
-            "to-regex": "^3.0.1"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "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"
-              }
-            }
-          }
-        },
         "chokidar": {
-          "version": "2.1.8",
-          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz",
-          "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==",
+          "version": "3.5.2",
+          "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
+          "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
           "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"
+            "anymatch": "~3.1.2",
+            "braces": "~3.0.2",
+            "fsevents": "~2.3.2",
+            "glob-parent": "~5.1.2",
+            "is-binary-path": "~2.1.0",
+            "is-glob": "~4.0.1",
+            "normalize-path": "~3.0.0",
+            "readdirp": "~3.6.0"
           }
         },
-        "commander": {
-          "version": "2.20.3",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
-          "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
-          "dev": true
-        },
         "cosmiconfig": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-4.0.0.tgz",
@@ -32500,53 +32551,6 @@
             "require-from-string": "^2.0.1"
           }
         },
-        "cucumber": {
-          "version": "4.2.1",
-          "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-4.2.1.tgz",
-          "integrity": "sha512-3gQ0Vv4kSHsvXEFC6b1c+TfLRDzWD1/kU7e5vm8Kh8j35b95k6favan9/4ixcBNqd7UsU1T6FYcawC87+DlNKw==",
-          "dev": true,
-          "requires": {
-            "assertion-error-formatter": "^2.0.1",
-            "babel-runtime": "^6.11.6",
-            "bluebird": "^3.4.1",
-            "cli-table": "^0.3.1",
-            "colors": "^1.1.2",
-            "commander": "^2.9.0",
-            "cucumber-expressions": "^5.0.13",
-            "cucumber-tag-expressions": "^1.1.1",
-            "duration": "^0.2.0",
-            "escape-string-regexp": "^1.0.5",
-            "figures": "2.0.0",
-            "gherkin": "^5.0.0",
-            "glob": "^7.0.0",
-            "indent-string": "^3.1.0",
-            "is-generator": "^1.0.2",
-            "is-stream": "^1.1.0",
-            "knuth-shuffle-seeded": "^1.0.6",
-            "lodash": "^4.17.4",
-            "mz": "^2.4.0",
-            "progress": "^2.0.0",
-            "resolve": "^1.3.3",
-            "serialize-error": "^2.1.0",
-            "stack-chain": "^2.0.0",
-            "stacktrace-js": "^2.0.0",
-            "string-argv": "0.0.2",
-            "title-case": "^2.1.1",
-            "util-arity": "^1.0.2",
-            "verror": "^1.9.0"
-          },
-          "dependencies": {
-            "cucumber-expressions": {
-              "version": "5.0.18",
-              "resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-5.0.18.tgz",
-              "integrity": "sha1-bHB3nv0668Xp54U5OLERAyJClZY=",
-              "dev": true,
-              "requires": {
-                "becke-ch--regex--s0-0-v1--base--pl--lib": "^1.2.0"
-              }
-            }
-          }
-        },
         "debug": {
           "version": "3.2.7",
           "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
@@ -32556,144 +32560,6 @@
             "ms": "^2.1.1"
           }
         },
-        "diff": {
-          "version": "3.5.0",
-          "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
-          "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
-          "dev": true
-        },
-        "figures": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
-          "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
-          "dev": true,
-          "requires": {
-            "escape-string-regexp": "^1.0.5"
-          }
-        },
-        "fill-range": {
-          "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",
-            "repeat-string": "^1.6.1",
-            "to-regex-range": "^2.1.0"
-          },
-          "dependencies": {
-            "extend-shallow": {
-              "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"
-              }
-            }
-          }
-        },
-        "fsevents": {
-          "version": "1.2.13",
-          "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz",
-          "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==",
-          "dev": true,
-          "optional": true,
-          "requires": {
-            "bindings": "^1.5.0",
-            "nan": "^2.12.1"
-          }
-        },
-        "gherkin": {
-          "version": "5.1.0",
-          "resolved": "https://registry.npmjs.org/gherkin/-/gherkin-5.1.0.tgz",
-          "integrity": "sha1-aEu7A63STq9731RPWAM+so+zxtU=",
-          "dev": true
-        },
-        "glob-parent": {
-          "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"
-          },
-          "dependencies": {
-            "is-glob": {
-              "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"
-              }
-            }
-          }
-        },
-        "indent-string": {
-          "version": "3.2.0",
-          "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz",
-          "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=",
-          "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"
-          }
-        },
-        "is-number": {
-          "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"
-          },
-          "dependencies": {
-            "kind-of": {
-              "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"
-              }
-            }
-          }
-        },
-        "isarray": {
-          "version": "1.0.0",
-          "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-          "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
-          "dev": true
-        },
-        "micromatch": {
-          "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",
-            "braces": "^2.3.1",
-            "define-property": "^2.0.2",
-            "extend-shallow": "^3.0.2",
-            "extglob": "^2.0.4",
-            "fragment-cache": "^0.2.1",
-            "kind-of": "^6.0.2",
-            "nanomatch": "^1.2.9",
-            "object.pick": "^1.3.0",
-            "regex-not": "^1.0.0",
-            "snapdragon": "^0.8.1",
-            "to-regex": "^3.0.2"
-          }
-        },
         "parse-json": {
           "version": "4.0.0",
           "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz",
@@ -32704,55 +32570,13 @@
             "json-parse-better-errors": "^1.0.1"
           }
         },
-        "readable-stream": {
-          "version": "2.3.7",
-          "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
-          "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
-          "dev": true,
-          "requires": {
-            "core-util-is": "~1.0.0",
-            "inherits": "~2.0.3",
-            "isarray": "~1.0.0",
-            "process-nextick-args": "~2.0.0",
-            "safe-buffer": "~5.1.1",
-            "string_decoder": "~1.1.1",
-            "util-deprecate": "~1.0.1"
-          }
-        },
         "readdirp": {
-          "version": "2.2.1",
-          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
-          "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+          "version": "3.6.0",
+          "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+          "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
           "dev": true,
           "requires": {
-            "graceful-fs": "^4.1.11",
-            "micromatch": "^3.1.10",
-            "readable-stream": "^2.0.2"
-          }
-        },
-        "string_decoder": {
-          "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"
-          }
-        },
-        "string-argv": {
-          "version": "0.0.2",
-          "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz",
-          "integrity": "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=",
-          "dev": true
-        },
-        "to-regex-range": {
-          "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"
+            "picomatch": "^2.2.1"
           }
         }
       }
@@ -33077,6 +32901,12 @@
         "minimist": "^1.1.1"
       }
     },
+    "diff": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz",
+      "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==",
+      "dev": true
+    },
     "diff-sequences": {
       "version": "26.6.2",
       "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
@@ -34684,9 +34514,9 @@
       "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
     },
     "fast-safe-stringify": {
-      "version": "2.0.7",
-      "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz",
-      "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==",
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz",
+      "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==",
       "dev": true
     },
     "fastq": {
@@ -35279,6 +35109,12 @@
         "assert-plus": "^1.0.0"
       }
     },
+    "gherkin": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/gherkin/-/gherkin-5.1.0.tgz",
+      "integrity": "sha1-aEu7A63STq9731RPWAM+so+zxtU=",
+      "dev": true
+    },
     "glob": {
       "version": "7.1.7",
       "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
@@ -35961,9 +35797,9 @@
       "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw=="
     },
     "immer": {
-      "version": "8.0.4",
-      "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.4.tgz",
-      "integrity": "sha512-jMfL18P+/6P6epANRvRk6q8t+3gGhqsJ9EuJ25AXE+9bNTYtssvzeYbEd0mXRYWCmmXSIbnlpz6vd6iJlmGGGQ=="
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.6.tgz",
+      "integrity": "sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ=="
     },
     "import-cwd": {
       "version": "2.1.0",
@@ -36070,11 +35906,11 @@
       "integrity": "sha512-ufS5Qq9RZN+Bu899eA9QCAYThY+gGW7oRkmb0vC93Vlyu/CFGcH0OYPEjVkDXA5FEbTt1+VWzdoOD3Ny9N+8tg==",
       "dev": true,
       "requires": {
+        "JSONStream": "^1.0.3",
         "acorn-node": "^1.5.2",
         "combine-source-map": "^0.8.0",
         "concat-stream": "^1.6.1",
         "is-buffer": "^1.1.0",
-        "JSONStream": "^1.0.3",
         "path-is-absolute": "^1.0.1",
         "process": "~0.11.0",
         "through2": "^2.0.0",
@@ -38283,16 +38119,6 @@
       "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=",
       "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"
-      }
-    },
     "jsprim": {
       "version": "1.4.1",
       "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
@@ -39142,6 +38968,7 @@
       "integrity": "sha512-fg7OZaQBcL4/L+AK5f4iVqf9OMbCclXfy/znXRxTVhJSeW5AIlS9AwheYwDaXM3lVW7OBeaeUEY3gbaC6cLlSA==",
       "dev": true,
       "requires": {
+        "JSONStream": "^1.0.3",
         "browser-resolve": "^2.0.0",
         "cached-path-relative": "^1.0.2",
         "concat-stream": "~1.6.0",
@@ -39149,7 +38976,6 @@
         "detective": "^5.2.0",
         "duplexer2": "^0.1.2",
         "inherits": "^2.0.1",
-        "JSONStream": "^1.0.3",
         "parents": "^1.0.0",
         "readable-stream": "^2.0.2",
         "resolve": "^1.4.0",
@@ -40030,6 +39856,11 @@
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
       "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
     },
+    "picocolors": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
+      "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA=="
+    },
     "picomatch": {
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
@@ -40188,27 +40019,18 @@
       "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
     },
     "postcss": {
-      "version": "7.0.35",
-      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz",
-      "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==",
+      "version": "7.0.39",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
+      "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
       "requires": {
-        "chalk": "^2.4.2",
-        "source-map": "^0.6.1",
-        "supports-color": "^6.1.0"
+        "picocolors": "^0.2.1",
+        "source-map": "^0.6.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=="
-        },
-        "supports-color": {
-          "version": "6.1.0",
-          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz",
-          "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==",
-          "requires": {
-            "has-flag": "^3.0.0"
-          }
         }
       }
     },
@@ -41801,8 +41623,15 @@
     "react-ga": {
       "version": "3.3.0",
       "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-3.3.0.tgz",
-      "integrity": "sha512-o8RScHj6Lb8cwy3GMrVH6NJvL+y0zpJvKtc0+wmH7Bt23rszJmnqEQxRbyrqUzk9DTJIHoP42bfO5rswC9SWBQ==",
-      "requires": {}
+      "integrity": "sha512-o8RScHj6Lb8cwy3GMrVH6NJvL+y0zpJvKtc0+wmH7Bt23rszJmnqEQxRbyrqUzk9DTJIHoP42bfO5rswC9SWBQ=="
+    },
+    "react-infinite-scroll-component": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/react-infinite-scroll-component/-/react-infinite-scroll-component-6.1.0.tgz",
+      "integrity": "sha512-SQu5nCqy8DxQWpnUVLx7V7b7LcA37aM7tvoWjTLZp1dk6EJibM5/4EJKzOnl07/BsM1Y40sKLuqjCwwH/xV0TQ==",
+      "requires": {
+        "throttle-debounce": "^2.1.0"
+      }
     },
     "react-input-autosize": {
       "version": "3.0.0",
@@ -42417,9 +42246,9 @@
       "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
     },
     "resolve-url-loader": {
-      "version": "3.1.3",
-      "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.3.tgz",
-      "integrity": "sha512-WbDSNFiKPPLem1ln+EVTE+bFUBdTTytfQZWbmghroaFNFaAVmGq0Saqw6F/306CwgPXsGwXVxbODE+3xAo/YbA==",
+      "version": "3.1.4",
+      "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz",
+      "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==",
       "requires": {
         "adjust-sourcemap-loader": "3.0.0",
         "camelcase": "5.3.1",
@@ -42427,7 +42256,7 @@
         "convert-source-map": "1.7.0",
         "es6-iterator": "2.0.3",
         "loader-utils": "1.2.3",
-        "postcss": "7.0.21",
+        "postcss": "7.0.36",
         "rework": "1.0.1",
         "rework-visit": "1.0.0",
         "source-map": "0.6.1"
@@ -42462,9 +42291,9 @@
           }
         },
         "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.36",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz",
+          "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==",
           "requires": {
             "chalk": "^2.4.2",
             "source-map": "^0.6.1",
@@ -43785,20 +43614,11 @@
       "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
       "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM="
     },
-    "string_decoder": {
-      "version": "1.3.0",
-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-      "requires": {
-        "safe-buffer": "~5.2.0"
-      },
-      "dependencies": {
-        "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=="
-        }
-      }
+    "string-argv": {
+      "version": "0.0.2",
+      "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.0.2.tgz",
+      "integrity": "sha1-2sMECGkMIfPDYwo/86BYd73L1zY=",
+      "dev": true
     },
     "string-length": {
       "version": "4.0.2",
@@ -43857,6 +43677,21 @@
         "define-properties": "^1.1.3"
       }
     },
+    "string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "requires": {
+        "safe-buffer": "~5.2.0"
+      },
+      "dependencies": {
+        "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=="
+        }
+      }
+    },
     "stringify-object": {
       "version": "3.3.0",
       "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz",
@@ -44078,9 +43913,9 @@
       "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="
     },
     "tar": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.0.tgz",
-      "integrity": "sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA==",
+      "version": "6.1.11",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz",
+      "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==",
       "requires": {
         "chownr": "^2.0.0",
         "fs-minipass": "^2.0.0",
@@ -44282,6 +44117,11 @@
       "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz",
       "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA=="
     },
+    "throttle-debounce": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz",
+      "integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ=="
+    },
     "throttleit": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
@@ -44397,9 +44237,9 @@
       }
     },
     "tmpl": {
-      "version": "1.0.4",
-      "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
-      "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE="
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+      "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw=="
     },
     "to-arraybuffer": {
       "version": "1.0.1",
@@ -44880,9 +44720,9 @@
       }
     },
     "url-parse": {
-      "version": "1.5.1",
-      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.1.tgz",
-      "integrity": "sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==",
+      "version": "1.5.3",
+      "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.3.tgz",
+      "integrity": "sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==",
       "requires": {
         "querystringify": "^2.1.1",
         "requires-port": "^1.0.0"
@@ -46192,14 +46032,6 @@
           "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
           "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
         },
-        "string_decoder": {
-          "version": "1.1.1",
-          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
-          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
-          "requires": {
-            "safe-buffer": "~5.1.0"
-          }
-        },
         "string-width": {
           "version": "3.1.0",
           "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
@@ -46225,6 +46057,14 @@
             }
           }
         },
+        "string_decoder": {
+          "version": "1.1.1",
+          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+          "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+          "requires": {
+            "safe-buffer": "~5.1.0"
+          }
+        },
         "strip-ansi": {
           "version": "3.0.1",
           "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
@@ -46276,9 +46116,9 @@
           }
         },
         "ws": {
-          "version": "6.2.1",
-          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
-          "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
+          "version": "6.2.2",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz",
+          "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==",
           "requires": {
             "async-limiter": "~1.0.0"
           }
diff --git a/package.json b/package.json
index a37f8ef3e..141878dd6 100644
--- a/package.json
+++ b/package.json
@@ -44,6 +44,7 @@
     "react-csv": "^2.0.3",
     "react-dom": "^17.0.2",
     "react-ga": "^3.3.0",
+    "react-infinite-scroll-component": "^6.1.0",
     "react-redux": "^7.2.2",
     "react-router-dom": "^5.1.2",
     "react-scripts": "^4.0.3",
@@ -102,7 +103,7 @@
     "@types/jest": "^26.0.23",
     "@types/node": "^12.7.12",
     "cypress": "^7.5.0",
-    "cypress-cucumber-preprocessor": "^4.1.2",
+    "cypress-cucumber-preprocessor": "^4.1.0",
     "cypress-wait-until": "^1.7.1",
     "eslint-plugin-cypress": "^2.11.2",
     "husky": "^6.0.0",
diff --git a/src/apps/concepts/components/ConceptSourceSwitcher.tsx b/src/apps/concepts/components/ConceptSourceSwitcher.tsx
new file mode 100644
index 000000000..dd07cb473
--- /dev/null
+++ b/src/apps/concepts/components/ConceptSourceSwitcher.tsx
@@ -0,0 +1,268 @@
+import React, { useEffect, useState } from "react";
+import { Link } from "react-router-dom";
+import { DICTIONARY_VERSION_CONTAINER, SOURCE_CONTAINER } from "../constants";
+import { getContainerIdFromUrl } from "../utils";
+import {
+  Button,
+  FormControlLabel,
+  Grid,
+  IconButton,
+  Input,
+  InputAdornment,
+  Menu,
+  MenuItem,
+  Switch,
+  Theme
+} from "@mui/material";
+import { PREFERRED_SOURCES_VIEW_ONLY, useAnchor } from "../../../utils";
+import { APISource } from "../../sources";
+import {
+  AccountTreeOutlined,
+  FolderOpen,
+  Search as SearchIcon
+} from "@mui/icons-material";
+import { APIDictionary } from "../../dictionaries/types";
+import { createStyles, makeStyles } from "@mui/styles";
+import InfiniteScroll from "react-infinite-scroll-component";
+import { partialRight, pick } from "lodash";
+import dictionaryApi from "../../dictionaries/api";
+import sourceApi from "../../sources/api";
+
+interface Props {
+  containerType: string;
+  containerUrl?: string;
+  gimmeAUrl: Function;
+  addConceptToDictionary?: string;
+  sources: APISource[];
+  dictionaries: APIDictionary[];
+  showOnlyVerified: boolean;
+  toggleShowVerified: React.ChangeEventHandler<HTMLInputElement>;
+  goTo: Function;
+  initialSearch: string;
+  pathUrl: Function;
+  dictionaryMeta?: {
+    num_found?: number;
+    page_number?: number;
+    pages?: number;
+    num_returned?: number;
+  };
+  sourcesMeta?: {
+    num_found?: number;
+    page_number?: number;
+    pages?: number;
+    num_returned?: number;
+  };
+}
+
+const useStyles = makeStyles((theme: Theme) =>
+  createStyles({
+    lightColour: {
+      color: "white !important"
+    },
+    textField: {
+      padding: "0.2rem 1rem",
+      cursor: "none"
+    },
+    sourcesDropdownHeader: {
+      padding: "0.5rem 1rem"
+    },
+    input: {
+      cursor: "pointer",
+      borderBottom: "1px dotted black",
+      paddingBottom: "0.25rem"
+    },
+    underline: {
+      "&&&:before": {
+        borderBottom: "none"
+      },
+      "&&:after": {
+        borderBottom: "none"
+      }
+    },
+    sourceIcon: {
+      marginRight: "0.2rem",
+      fill: "#8080809c"
+    },
+    searchInput: {
+      textAlign: "center",
+      fontSize: "larger"
+    }
+  })
+);
+const ConceptSourceSwitcher: React.FC<Props> = ({
+  containerType,
+  containerUrl,
+  gimmeAUrl,
+  addConceptToDictionary,
+  sources,
+  dictionaries,
+  goTo,
+  initialSearch,
+  pathUrl
+}) => {
+  const [queryString, setQueryString] = useState(initialSearch);
+  const [currentSources, setCurrentSources] = useState<
+    { name: string; url: string }[]
+  >();
+  const [useSources, setUseSources] = useState(true);
+  const [currentPage, setCurrentPage] = useState(1);
+  const [apiMethod, setApiMethod] = useState<
+    | typeof sourceApi.sources.retrieve.private
+    | typeof dictionaryApi.dictionaries.retrieve.private
+  >(sourceApi.sources.retrieve.private);
+  const [totalResultCount, setTotalResultCount] = useState(0);
+  const [currentResultCount, setCurrentResultCount] = useState(0);
+  const [resultsLoadedCount, setResultsLoadedCount] = useState(0);
+
+  useEffect(() => {
+    const defaultSources = Object.entries(
+      PREFERRED_SOURCES_VIEW_ONLY
+    ).map(([key, value]) => ({ name: key, url: value }));
+    const allSources = defaultSources
+      .concat(sources.map((s) => ({ name: s.name, url: s.url })))
+      .concat(dictionaries.map((d) => ({ name: d.name, url: d.url })));
+    setCurrentSources(allSources);
+  }, [sources, dictionaries, initialSearch]);
+
+  useEffect(() => setCurrentPage(0), [useSources]);
+  useEffect(
+    () =>
+      useSources
+        ? setApiMethod(sourceApi.sources.retrieve.private)
+        : setApiMethod(dictionaryApi.dictionaries.retrieve.private),
+    [useSources]
+  );
+
+  useEffect(() => {
+    const url = useSources ? "/sources/" : "/collections/";
+
+    apiMethod(url, undefined, 25, currentPage).then((results) => {
+      const sources = results.data.map(partialRight(pick, "name", "url")) as {
+        name: string;
+        url: string;
+      }[];
+
+      if (currentPage === 1) {
+        setTotalResultCount(results.headers.num_found);
+      }
+
+      setCurrentResultCount(results.headers.num_returned);
+      setResultsLoadedCount(
+        results.headers.offset + results.headers.num_returned
+      );
+
+      const existingSources = currentSources ? currentSources : [];
+      setCurrentSources([...existingSources, ...sources]);
+    });
+  }, [apiMethod, currentPage, currentSources, useSources]);
+
+  const loadData = () => {
+    setCurrentPage(currentPage + 1);
+  };
+
+  const handleSearch = (q: string) => goTo(pathUrl({ q }));
+
+  const classes = useStyles();
+  const isSourceContainer = containerType === SOURCE_CONTAINER;
+  const isAddToDictionary = isSourceContainer && !!addConceptToDictionary;
+  const [
+    switchSourceAnchor,
+    handleSwitchSourceClick,
+    handleSwitchSourceClose
+  ] = useAnchor();
+
+  return !isAddToDictionary ? null : (
+    <>
+      <Button
+        data-testid="switch-source"
+        className={classes.lightColour}
+        variant="text"
+        size="large"
+        aria-haspopup="true"
+        onClick={handleSwitchSourceClick}
+      >
+        Switch source (Currently {getContainerIdFromUrl(containerUrl)})
+      </Button>
+      <Menu
+        PaperProps={{
+          style: {
+            marginTop: "30px",
+            marginLeft: "10px"
+          }
+        }}
+        anchorEl={switchSourceAnchor}
+        keepMounted
+        open={!!switchSourceAnchor}
+        onClose={handleSwitchSourceClose}
+      >
+        <Grid
+          container
+          direction="column"
+          className={classes.sourcesDropdownHeader}
+        >
+          <FormControlLabel
+            control={
+              <Switch
+                checked={useSources}
+                onChange={() => setUseSources(!useSources)}
+                color="primary"
+                name="displayVerified"
+              />
+            }
+            label={useSources ? `Showing all Sources` : `Show all Dictionaries`}
+          />
+          <form
+            onSubmit={(e: React.SyntheticEvent) => {
+              e.preventDefault();
+              handleSearch(queryString);
+            }}
+          >
+            <Input
+              color="primary"
+              type="search"
+              fullWidth
+              placeholder={"Select an alternative source"}
+              value={queryString}
+              onChange={(e) => setQueryString(e.target.value)}
+              endAdornment={
+                <InputAdornment position="end">
+                  <IconButton onClick={() => handleSearch(queryString)}>
+                    <SearchIcon />
+                  </IconButton>
+                </InputAdornment>
+              }
+            />
+          </form>
+        </Grid>
+        <InfiniteScroll
+          dataLength={currentResultCount}
+          next={loadData}
+          hasMore={resultsLoadedCount < totalResultCount}
+          loader={<h4>Loading...</h4>}
+          endMessage={<h4>end</h4>}
+          scrollableTarget="scrollableDiv"
+        >
+          {currentSources?.map(({ name, url }) => (
+            <MenuItem
+              // replace because we want to keep the back button useful
+              replace
+              to={gimmeAUrl({}, `${url}concepts/`)}
+              key={name}
+              component={Link}
+              onClick={handleSwitchSourceClose}
+            >
+              {url?.includes("/collection") ? (
+                <FolderOpen className={classes.sourceIcon} />
+              ) : (
+                <AccountTreeOutlined className={classes.sourceIcon} />
+              )}
+              {name}
+            </MenuItem>
+          ))}
+        </InfiniteScroll>
+      </Menu>
+    </>
+  );
+};
+
+export default ConceptSourceSwitcher;
diff --git a/src/apps/concepts/components/ViewConceptsHeader.tsx b/src/apps/concepts/components/ViewConceptsHeader.tsx
index 46003bb34..8558085b6 100644
--- a/src/apps/concepts/components/ViewConceptsHeader.tsx
+++ b/src/apps/concepts/components/ViewConceptsHeader.tsx
@@ -7,12 +7,31 @@ import {
   SOURCE_CONTAINER
 } from "../constants";
 import { getContainerIdFromUrl } from "../utils";
-import { Button, Menu, MenuItem, TextField, Theme } from "@mui/material";
+import {
+  Button,
+  FormControlLabel,
+  Grid,
+  IconButton,
+  Input,
+  InputAdornment,
+  Menu,
+  MenuItem,
+  Switch,
+  Theme
+} from "@mui/material";
 import { PREFERRED_SOURCES_VIEW_ONLY, useAnchor } from "../../../utils";
 import { APISource } from "../../sources";
-import { AccountTreeOutlined, FolderOpen } from "@mui/icons-material";
+import {
+  AccountTreeOutlined,
+  FolderOpen,
+  Search as SearchIcon
+} from "@mui/icons-material";
 import { APIDictionary } from "../../dictionaries/types";
 import { createStyles, makeStyles } from "@mui/styles";
+import InfiniteScroll from "react-infinite-scroll-component";
+import { partialRight, pick } from "lodash";
+import dictionaryApi from "../../dictionaries/api";
+import sourceApi from "../../sources/api";
 
 interface Props {
   containerType: string;
@@ -22,6 +41,23 @@ interface Props {
   children?: React.ReactNode[];
   sources: APISource[];
   dictionaries: APIDictionary[];
+  showOnlyVerified: boolean;
+  toggleShowVerified: React.ChangeEventHandler<HTMLInputElement>;
+  goTo: Function;
+  initialSearch: string;
+  pathUrl: Function;
+  dictionaryMeta?: {
+    num_found?: number;
+    page_number?: number;
+    pages?: number;
+    num_returned?: number;
+  };
+  sourcesMeta?: {
+    num_found?: number;
+    page_number?: number;
+    pages?: number;
+    num_returned?: number;
+  };
 }
 
 const useStyles = makeStyles((theme: Theme) =>
@@ -33,6 +69,9 @@ const useStyles = makeStyles((theme: Theme) =>
       padding: "0.2rem 1rem",
       cursor: "none"
     },
+    sourcesDropdownHeader: {
+      padding: "0.5rem 1rem"
+    },
     input: {
       cursor: "pointer",
       borderBottom: "1px dotted black",
@@ -48,12 +87,14 @@ const useStyles = makeStyles((theme: Theme) =>
     },
     sourceIcon: {
       marginRight: "0.2rem",
-      fill: "#8080809c",
-      color:"#000000ad"
+      fill: "#8080809c"
+    },
+    searchInput: {
+      textAlign: "center",
+      fontSize: "larger"
     }
   })
 );
-
 const ViewConceptsHeader: React.FC<Props> = ({
   containerType,
   containerUrl,
@@ -61,24 +102,82 @@ const ViewConceptsHeader: React.FC<Props> = ({
   addConceptToDictionary,
   children,
   sources,
-  dictionaries
+  dictionaries,
+  goTo,
+  initialSearch,
+  pathUrl
 }) => {
-  const [showSources, setShowSources] = useState(false);
-  const [preferredSources, setPreferredSources] = useState<
+  const [showAllSources, setShowAllSources] = useState(false);
+  const [queryString, setQueryString] = useState(initialSearch);
+  const [currentSources, setCurrentSources] = useState<
     { name: string; url: string }[]
   >();
+  const [useSources, setUseSources] = useState(true);
+  const [currentPage, setCurrentPage] = useState(1);
+  const [apiMethod, setApiMethod] = useState<
+    | typeof sourceApi.sources.retrieve.private
+    | typeof dictionaryApi.dictionaries.retrieve.private
+  >(sourceApi.sources.retrieve.private);
+  const [totalResultCount, setTotalResultCount] = useState(0);
+  const [currentResultCount, setCurrentResultCount] = useState(0);
+  const [resultsLoadedCount, setResultsLoadedCount] = useState(0);
+
   useEffect(() => {
     const defaultSources = Object.entries(
       PREFERRED_SOURCES_VIEW_ONLY
     ).map(([key, value]) => ({ name: key, url: value }));
-    if (showSources) {
+    if (showAllSources) {
       const allSources = defaultSources
-        .concat(sources.map(s => ({ name: s.name, url: s.url })))
-        .concat(dictionaries.map(d => ({ name: d.name, url: d.url })));
-      setPreferredSources(allSources);
-    } else setPreferredSources(defaultSources);
-  }, [showSources, sources, dictionaries]);
+        .concat(sources.map((s) => ({ name: s.name, url: s.url })))
+        .concat(dictionaries.map((d) => ({ name: d.name, url: d.url })));
+      setCurrentSources(allSources);
+    } else setCurrentSources(defaultSources);
+  }, [showAllSources, sources, dictionaries, initialSearch]);
+
+  useEffect(() => setCurrentPage(0), [useSources]);
+  useEffect(
+    () =>
+      useSources
+        ? setApiMethod(sourceApi.sources.retrieve.private)
+        : setApiMethod(dictionaryApi.dictionaries.retrieve.private),
+    [useSources]
+  );
+
+  const fetchMoreData = (page: number) => {
+    setCurrentPage(page);
+    apiMethod(
+      useSources ? "/sources/" : "/collections/",
+      "",
+      25,
+      currentPage
+    ).then((results) => {
+      const sources = results.data.map(partialRight(pick, "name", "url")) as {
+        name: string;
+        url: string;
+      }[];
 
+      if (currentPage === 1) {
+        setTotalResultCount(results.headers.num_found);
+      }
+
+      setCurrentResultCount(results.headers.num_returned);
+      setResultsLoadedCount(
+        results.headers.offset + results.headers.num_returned
+      );
+
+      const existingSources = currentSources ? currentSources : [];
+      setCurrentSources([...existingSources, ...sources]);
+    });
+  };
+
+  const loadData = () => {
+    fetchMoreData(currentPage + 1);
+  };
+
+  const handleSearch = (q: string) => goTo(pathUrl({ q }));
+  const handleShowSources = (event: React.ChangeEvent<HTMLInputElement>) => {
+    setShowAllSources(event.target.checked);
+  };
   const classes = useStyles();
   const isSourceContainer = containerType === SOURCE_CONTAINER;
   const isAddToDictionary = isSourceContainer && !!addConceptToDictionary;
@@ -87,7 +186,6 @@ const ViewConceptsHeader: React.FC<Props> = ({
     handleSwitchSourceClick,
     handleSwitchSourceClose
   ] = useAnchor();
-
   const getTitleBasedOnContainerType = () => {
     return isAddToDictionary
       ? `Import existing concept from ${getContainerIdFromUrl(containerUrl)}`
@@ -118,48 +216,103 @@ const ViewConceptsHeader: React.FC<Props> = ({
           }}
           anchorEl={switchSourceAnchor}
           keepMounted
-          open={Boolean(switchSourceAnchor)}
+          open={!!switchSourceAnchor}
           onClose={handleSwitchSourceClose}
         >
-          <TextField
-            multiline
-            className={classes.textField}
-            InputProps={{
-              className: classes.underline
-            }}
-            inputProps={{
-              className: classes.input
-            }}
-            value={
-              showSources
-                ? "Choose a source/dictionary"
-                : "Select a different source/dictionary"
-            }
-            onClick={() => setShowSources(!showSources)}
-          />
-          {preferredSources?.map(({ name, url }) => (
-            <MenuItem
-              // replace because we want to keep the back button useful
-              replace
-              to={gimmeAUrl({}, `${url}concepts/`)}
-              key={name}
-              component={Link}
-              onClick={handleSwitchSourceClose}
-              data-testid={name}
+          <Grid
+            container
+            direction="column"
+            className={classes.sourcesDropdownHeader}
+          >
+            <FormControlLabel
+              control={
+                <Switch
+                  checked={showAllSources}
+                  onChange={handleShowSources}
+                  color="primary"
+                  name="displayVerified"
+                />
+              }
+              label={
+                showAllSources ? `Showing all Sources` : `Show all Sources`
+              }
+            />
+            {showAllSources && (
+              <form
+                onSubmit={(e: React.SyntheticEvent) => {
+                  e.preventDefault();
+                  handleSearch(queryString);
+                }}
+              >
+                <Input
+                  color="primary"
+                  type="search"
+                  fullWidth
+                  placeholder={"Select an alternative source"}
+                  value={queryString}
+                  onChange={(e) => setQueryString(e.target.value)}
+                  endAdornment={
+                    <InputAdornment position="end">
+                      <IconButton onClick={() => handleSearch(queryString)}>
+                        <SearchIcon />
+                      </IconButton>
+                    </InputAdornment>
+                  }
+                />
+              </form>
+            )}
+          </Grid>
+          {showAllSources ? (
+            <InfiniteScroll
+              dataLength={currentResultCount}
+              next={loadData}
+              hasMore={resultsLoadedCount < totalResultCount}
+              loader={<h4>Loading...</h4>}
+              endMessage={<h4>end</h4>}
+              scrollableTarget="scrollableDiv"
             >
-              {url?.includes("/collection") ? (
-                <FolderOpen className={classes.sourceIcon} />
-              ) : (
-                <AccountTreeOutlined className={classes.sourceIcon} />
-              )}
-              {name}
-            </MenuItem>
-          ))}
+              {currentSources?.map(({ name, url }) => (
+                <MenuItem
+                  // replace because we want to keep the back button useful
+                  replace
+                  to={gimmeAUrl({}, `${url}concepts/`)}
+                  key={name}
+                  component={Link}
+                  onClick={handleSwitchSourceClose}
+                >
+                  {url?.includes("/collection") ? (
+                    <FolderOpen className={classes.sourceIcon} />
+                  ) : (
+                    <AccountTreeOutlined className={classes.sourceIcon} />
+                  )}
+                  {name}
+                </MenuItem>
+              ))}
+            </InfiniteScroll>
+          ) : (
+            currentSources?.map(({ name, url }) => (
+              <MenuItem
+                // replace because we want to keep the back button useful
+                replace
+                to={gimmeAUrl({}, `${url}concepts/`)}
+                key={name}
+                component={Link}
+                onClick={handleSwitchSourceClose}
+                data-testid={name}
+              >
+                {url?.includes("/collection") ? (
+                  <FolderOpen className={classes.sourceIcon} />
+                ) : (
+                  <AccountTreeOutlined className={classes.sourceIcon} />
+                )}
+                {name}
+              </MenuItem>
+            ))
+          )}
         </Menu>
       </>
     );
   };
-
   return (
     <Header
       title={getTitleBasedOnContainerType()}
@@ -177,5 +330,4 @@ const ViewConceptsHeader: React.FC<Props> = ({
     </Header>
   );
 };
-
 export default ViewConceptsHeader;
diff --git a/src/apps/concepts/pages/ViewConceptsPage.tsx b/src/apps/concepts/pages/ViewConceptsPage.tsx
index 521c5d38a..c27db7345 100644
--- a/src/apps/concepts/pages/ViewConceptsPage.tsx
+++ b/src/apps/concepts/pages/ViewConceptsPage.tsx
@@ -61,6 +61,18 @@ export interface StateProps {
   loading: boolean;
   errors?: {};
   meta?: { num_found?: number };
+  dictionaryMeta?: {
+    num_found?: number;
+    page_number?: number;
+    pages?: number;
+    num_returned?: number;
+  };
+  sourcesMeta?: {
+    num_found?: number;
+    page_number?: number;
+    pages?: number;
+    num_returned?: number;
+  };
   profile?: APIProfile;
   usersOrgs?: APIOrg[];
 }
@@ -129,6 +141,8 @@ const ViewConceptsPage: React.FC<Props> = ({
   retrievePublicDictionaries,
   retrieveSource,
   meta = {},
+  dictionaryMeta = {},
+  sourcesMeta = {},
   profile,
   usersOrgs,
   containerType,
@@ -174,6 +188,9 @@ const ViewConceptsPage: React.FC<Props> = ({
     addToDictionary: dictionaryToAddTo
   } = queryParams;
 
+  const headerQueryParams: { q?: string } = useQueryParams();
+  const { q: initialSearch = "" } = queryParams;
+
   const sourceUrl = "/sources/";
   const collectionsUrl = "/collections/";
   const sourcesLimit = 0;
@@ -222,6 +239,7 @@ const ViewConceptsPage: React.FC<Props> = ({
   const isImporting = dictionaryToAddTo !== undefined;
 
   const [q, setQ] = useState(initialQ);
+  const [showOnlyVerified, setShowOnlyVerified] = useState(false);
 
   const gimmeAUrl = (params: QueryParams = {}, conceptsUrl: string = url) => {
     const newParams: QueryParams = {
@@ -239,6 +257,14 @@ const ViewConceptsPage: React.FC<Props> = ({
     return `${conceptsUrl}?${qs.stringify(newParams)}`;
   };
 
+  const pathUrl = (params: { q?: string }) => {
+    const newParams: { q?: string } = {
+      ...headerQueryParams,
+      ...params
+    };
+    return `${url}?${qs.stringify(newParams)}`;
+  };
+
   useEffect(() => {
     if (containerUrl) {
       // we don't make this reactive(only depend on the initial values), because the requirement
@@ -307,6 +333,13 @@ const ViewConceptsPage: React.FC<Props> = ({
       addConceptToDictionary={dictionaryToAddTo}
       sources={sources}
       dictionaries={dictionaries}
+      showOnlyVerified={showOnlyVerified}
+      toggleShowVerified={(e) => setShowOnlyVerified(e.target.checked)}
+      goTo={goTo}
+      initialSearch={initialSearch}
+      pathUrl={pathUrl}
+      dictionaryMeta={dictionaryMeta}
+      sourcesMeta={sourcesMeta}
     >
       <Grid
         container
@@ -390,7 +423,7 @@ const ViewConceptsPage: React.FC<Props> = ({
                   [
                     getContainerIdFromUrl(linkedSource),
                     ...FILTER_SOURCE_IDS
-                  ].filter(source => source !== undefined) as string[]
+                  ].filter((source) => source !== undefined) as string[]
                 }
                 url={gimmeAUrl()}
               />
@@ -414,8 +447,8 @@ const ViewConceptsPage: React.FC<Props> = ({
 const mapStateToProps = (state: AppState) => {
   const dictionary = dictionarySelector(state);
   const concepts = state.concepts.concepts.items || [];
-  const dictionaryConcepts = dictionary?.references?.map(r => r.expression);
-  const modifiedConcepts = concepts?.map(c =>
+  const dictionaryConcepts = dictionary?.references?.map((r) => r.expression);
+  const modifiedConcepts = concepts?.map((c) =>
     includes(dictionaryConcepts, c.version_url)
       ? { ...c, added: true }
       : { ...c }
@@ -435,6 +468,15 @@ const mapStateToProps = (state: AppState) => {
     meta: state.concepts.concepts
       ? state.concepts.concepts.responseMeta
       : undefined,
+    dictionaryMeta: state.dictionaries.dictionaries[
+      PUBLIC_DICTIONARIES_ACTION_INDEX
+    ]
+      ? state.dictionaries.dictionaries[PUBLIC_DICTIONARIES_ACTION_INDEX]
+          .responseMeta
+      : undefined,
+    sourcesMeta: state.sources.sources[PUBLIC_SOURCES_ACTION_INDEX]
+      ? state.sources.sources[PUBLIC_SOURCES_ACTION_INDEX].responseMeta
+      : undefined,
     loading:
       viewConceptsLoadingSelector(state) ||
       retrieveDictionaryLoadingSelector(state) ||
diff --git a/src/apps/dictionaries/api.ts b/src/apps/dictionaries/api.ts
index 471f49172..02c975859 100644
--- a/src/apps/dictionaries/api.ts
+++ b/src/apps/dictionaries/api.ts
@@ -11,6 +11,10 @@ import { default as containerAPI } from "../containers/api";
 
 const api = {
   ...containerAPI,
+  dictionariesCount: {
+    retrieveCount: (dictionaryUrl: string) =>
+      authenticatedInstance.head(`${dictionaryUrl}dictionaries`),
+  },
   create: (ownerUrl: string, data: NewAPIDictionary) =>
     authenticatedInstance.post(`${ownerUrl}collections/`, data),
   update: (dictionaryUrl: string, data: EditableDictionaryFields) =>
diff --git a/src/apps/dictionaries/logic.ts b/src/apps/dictionaries/logic.ts
index bb4503efa..dcfb559e3 100644
--- a/src/apps/dictionaries/logic.ts
+++ b/src/apps/dictionaries/logic.ts
@@ -1,6 +1,7 @@
 import api from "./api";
 import { APIMapping, InternalAPIMapping } from "../concepts";
 import { union } from "lodash";
+import { AxiosResponse } from "axios";
 
 const fetchConceptMappings = async (
   sourceUrl: string,
@@ -73,4 +74,13 @@ const recursivelyFetchToConcepts = async (
   return getConceptUrls(mappingsLists);
 };
 
-export { recursivelyFetchToConcepts };
+const retrieveDictionariesCount = async (
+  dictionaryUrl: string,
+): Promise<AxiosResponse<any>> => {
+  const totalCount = api.dictionariesCount.retrieveCount(dictionaryUrl)
+  const response = await totalCount 
+  console.log(response)
+  return response
+  
+}
+export { recursivelyFetchToConcepts, retrieveDictionariesCount };
\ No newline at end of file
diff --git a/src/apps/dictionaries/redux/actionTypes.ts b/src/apps/dictionaries/redux/actionTypes.ts
index fe3e86a56..3d6bfbd74 100644
--- a/src/apps/dictionaries/redux/actionTypes.ts
+++ b/src/apps/dictionaries/redux/actionTypes.ts
@@ -3,6 +3,7 @@ export const CREATE_SOURCE_AND_DICTIONARY_ACTION =
   "dictionaries/createSourceAndDictionary";
 export const RETRIEVE_DICTIONARY_ACTION = "dictionaries/retrieveDictionary";
 export const RETRIEVE_DICTIONARIES_ACTION = "dictionaries/retrieveDictionaries";
+export const RETRIEVE_DICTIONARIES_COUNT_ACTION = "dictionaries/retrieveDictionaries";
 export const EDIT_SOURCE_AND_DICTIONARY_ACTION =
   "dictionaries/editSourceAndDictionary";
 export const CREATE_AND_ADD_LINKED_SOURCE_ACTION =
diff --git a/src/apps/dictionaries/redux/actions.ts b/src/apps/dictionaries/redux/actions.ts
index 2e43ac4d0..623849614 100644
--- a/src/apps/dictionaries/redux/actions.ts
+++ b/src/apps/dictionaries/redux/actions.ts
@@ -197,7 +197,7 @@ export const retrieveDictionaryAndDetailsAction = (dictionaryUrl: string) => {
 export const retrievePublicDictionariesAction = createActionThunk(
   RETRIEVE_DICTIONARIES_ACTION,
   api.dictionaries.retrieve.public
-);
+)
 export const retrievePersonalDictionariesAction = createActionThunk(
   indexedAction(
     RETRIEVE_DICTIONARIES_ACTION,
@@ -381,7 +381,7 @@ export const recursivelyAddConceptsToDictionaryAction = (
       }
 
       if (!concept.hasOwnProperty("source_url") || !!!concept.source_url) {
-        concept.source_url = concept.url.split("/", 5).join("/") + "/";
+        return {...concept, source_url: concept.url.split("/", 5).join("/") + "/"};
       }
 
       return concept;
diff --git a/src/apps/dictionaries/redux/reducer.ts b/src/apps/dictionaries/redux/reducer.ts
index bc2327832..a4c6f49bf 100644
--- a/src/apps/dictionaries/redux/reducer.ts
+++ b/src/apps/dictionaries/redux/reducer.ts
@@ -12,15 +12,14 @@ import {
   RETRIEVE_DICTIONARIES_ACTION,
   RETRIEVE_DICTIONARY_ACTION,
   RETRIEVE_DICTIONARY_VERSIONS_ACTION,
-  TOGGLE_SHOW_VERIFIED_ACTION
-} from "./actionTypes";
+  TOGGLE_SHOW_VERIFIED_ACTION} from "./actionTypes";
 import { LOGOUT_ACTION } from "../../authentication/redux/actionTypes";
 
 const initialState: DictionaryState = {
   dictionaries: [],
   versions: [],
   addReferencesResults: [],
-  showOnlyVerified: false
+  showOnlyVerified: false,
 };
 export const reducer = createReducer(initialState, {
   [TOGGLE_SHOW_VERIFIED_ACTION]: (state, action) => ({