diff --git a/goofy-client/package-lock.json b/goofy-client/package-lock.json
index 0d267f659b6698a0f81bd1ef1fcb6efbab399da9..f381f2e09425b9d672a5a778ea194e76403660a7 100644
--- a/goofy-client/package-lock.json
+++ b/goofy-client/package-lock.json
@@ -15,19 +15,19 @@
 			}
 		},
 		"@angular-devkit/architect": {
-			"version": "0.1202.5",
-			"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.5.tgz",
-			"integrity": "sha512-HiF8RceDrvP7m8Qm53KWVpekESX0UIK4/tOg9mgFMcS/2utRnPzuu4WbfrcY9DRrsoMWLXQs6j/UVXqf8PzXJw==",
+			"version": "0.1202.12",
+			"resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1202.12.tgz",
+			"integrity": "sha512-md7F1chg8zwrmX2C2E2GoOaHhXp03+DmGph5CBTB6t8q3yB734I9A2bE5i0TyxCBLZzh8GOTH9nOGSGX6JlYrw==",
 			"dev": true,
 			"requires": {
-				"@angular-devkit/core": "12.2.5",
+				"@angular-devkit/core": "12.2.12",
 				"rxjs": "6.6.7"
 			},
 			"dependencies": {
 				"@angular-devkit/core": {
-					"version": "12.2.5",
-					"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.5.tgz",
-					"integrity": "sha512-UBo0Q9nVGPxC+C1PONSzaczPLv5++5Q7PC2orZepDbWmY0jUDwe9VVJrmp8EhLZbzVKFpyCIs1ZE8h0s0LP1zA==",
+					"version": "12.2.12",
+					"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.12.tgz",
+					"integrity": "sha512-ZFThmQecQmlniQl65rWn4oOMuWKy313O6Hk8sen7WdsjDircqtbHmtJCA1w/EU4xIilIJHo0Kez4Ihi00cGyYw==",
 					"dev": true,
 					"requires": {
 						"ajv": "8.6.2",
@@ -41,16 +41,16 @@
 			}
 		},
 		"@angular-devkit/build-angular": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.2.5.tgz",
-			"integrity": "sha512-v44FAFMGSXJLKx25REXdoTdW/WzNXV3BDJam9ZKHFOrdtwJek4D/tEdtNHiQP4HberOHzmVjvKffa5VYXzZ40g==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-12.2.12.tgz",
+			"integrity": "sha512-e2Q77KQk7KjIA9Rvih89acug7Hc98BoD8/RGKPuj4NcdlzoBfjF05ThwRTKFQPs/grWvyuIujVEsQL/PuG3oBg==",
 			"dev": true,
 			"requires": {
 				"@ampproject/remapping": "1.0.1",
-				"@angular-devkit/architect": "0.1202.5",
-				"@angular-devkit/build-optimizer": "0.1202.5",
-				"@angular-devkit/build-webpack": "0.1202.5",
-				"@angular-devkit/core": "12.2.5",
+				"@angular-devkit/architect": "0.1202.12",
+				"@angular-devkit/build-optimizer": "0.1202.12",
+				"@angular-devkit/build-webpack": "0.1202.12",
+				"@angular-devkit/core": "12.2.12",
 				"@babel/core": "7.14.8",
 				"@babel/generator": "7.14.8",
 				"@babel/helper-annotate-as-pure": "7.14.5",
@@ -62,7 +62,7 @@
 				"@babel/template": "7.14.5",
 				"@discoveryjs/json-ext": "0.5.3",
 				"@jsdevtools/coverage-istanbul-loader": "3.0.5",
-				"@ngtools/webpack": "12.2.5",
+				"@ngtools/webpack": "12.2.12",
 				"ansi-colors": "4.1.1",
 				"babel-loader": "8.2.2",
 				"browserslist": "^4.9.1",
@@ -71,10 +71,11 @@
 				"circular-dependency-plugin": "5.2.2",
 				"copy-webpack-plugin": "9.0.1",
 				"core-js": "3.16.0",
-				"critters": "0.0.10",
+				"critters": "0.0.12",
 				"css-loader": "6.2.0",
 				"css-minimizer-webpack-plugin": "3.0.2",
-				"esbuild": "0.12.24",
+				"esbuild": "0.13.8",
+				"esbuild-wasm": "0.13.8",
 				"find-cache-dir": "3.3.1",
 				"glob": "7.1.7",
 				"https-proxy-agent": "5.0.0",
@@ -84,7 +85,7 @@
 				"less-loader": "10.0.1",
 				"license-webpack-plugin": "2.3.20",
 				"loader-utils": "2.0.0",
-				"mini-css-extract-plugin": "2.2.1",
+				"mini-css-extract-plugin": "2.4.2",
 				"minimatch": "3.0.4",
 				"open": "8.2.1",
 				"ora": "5.4.1",
@@ -118,9 +119,9 @@
 			},
 			"dependencies": {
 				"@angular-devkit/core": {
-					"version": "12.2.5",
-					"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.5.tgz",
-					"integrity": "sha512-UBo0Q9nVGPxC+C1PONSzaczPLv5++5Q7PC2orZepDbWmY0jUDwe9VVJrmp8EhLZbzVKFpyCIs1ZE8h0s0LP1zA==",
+					"version": "12.2.12",
+					"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.12.tgz",
+					"integrity": "sha512-ZFThmQecQmlniQl65rWn4oOMuWKy313O6Hk8sen7WdsjDircqtbHmtJCA1w/EU4xIilIJHo0Kez4Ihi00cGyYw==",
 					"dev": true,
 					"requires": {
 						"ajv": "8.6.2",
@@ -213,6 +214,32 @@
 					"integrity": "sha512-5+5VxRFmSf97nM8Jr2wzOwLqRo6zphH2aX+7KsAUONObyzakDNq2G/bgbhinxB4PoV9L3aXQYhiDKyIKWd2c8g==",
 					"dev": true
 				},
+				"esbuild": {
+					"version": "0.13.8",
+					"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.8.tgz",
+					"integrity": "sha512-A4af7G7YZLfG5OnARJRMtlpEsCkq/zHZQXewgPA864l9D6VjjbH1SuFYK/OSV6BtHwDGkdwyRrX0qQFLnMfUcw==",
+					"dev": true,
+					"optional": true,
+					"requires": {
+						"esbuild-android-arm64": "0.13.8",
+						"esbuild-darwin-64": "0.13.8",
+						"esbuild-darwin-arm64": "0.13.8",
+						"esbuild-freebsd-64": "0.13.8",
+						"esbuild-freebsd-arm64": "0.13.8",
+						"esbuild-linux-32": "0.13.8",
+						"esbuild-linux-64": "0.13.8",
+						"esbuild-linux-arm": "0.13.8",
+						"esbuild-linux-arm64": "0.13.8",
+						"esbuild-linux-mips64le": "0.13.8",
+						"esbuild-linux-ppc64le": "0.13.8",
+						"esbuild-netbsd-64": "0.13.8",
+						"esbuild-openbsd-64": "0.13.8",
+						"esbuild-sunos-64": "0.13.8",
+						"esbuild-windows-32": "0.13.8",
+						"esbuild-windows-64": "0.13.8",
+						"esbuild-windows-arm64": "0.13.8"
+					}
+				},
 				"open": {
 					"version": "8.2.1",
 					"resolved": "https://registry.npmjs.org/open/-/open-8.2.1.tgz",
@@ -252,9 +279,9 @@
 			}
 		},
 		"@angular-devkit/build-optimizer": {
-			"version": "0.1202.5",
-			"resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.5.tgz",
-			"integrity": "sha512-ni3OyBQq7y1Jk9U7CtwWMRoI+1TWjQYVdGRWt5JgqvLk0hZcaLoapGwUypBV+CdKvC0/0V+k84RiO5wvs5XpFQ==",
+			"version": "0.1202.12",
+			"resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1202.12.tgz",
+			"integrity": "sha512-EUTY8PmST6Br3QiVqsU4W2b35nd/7iM9EygaFsreffd51P+eSIAFmxe1L/bWZuKpcptiExtYY4N118M254w88g==",
 			"dev": true,
 			"requires": {
 				"source-map": "0.7.3",
@@ -271,12 +298,12 @@
 			}
 		},
 		"@angular-devkit/build-webpack": {
-			"version": "0.1202.5",
-			"resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1202.5.tgz",
-			"integrity": "sha512-wqU2t2zUCZi+fjhuZzFko3eTyqXP6vjdqA3BZQwr3pEhL7IEOvlN4EUYqWAi+h+4SrTtAhk6vZ7m41Hr0y2Ykw==",
+			"version": "0.1202.12",
+			"resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1202.12.tgz",
+			"integrity": "sha512-WZu03G7/la49q5SnzjmlfenQJD7Ssk8WSvSdMbooS44Rc0PZGWJIgYJ+4L2kYcC1aimrm9NZvWTyVb/OK0dIpA==",
 			"dev": true,
 			"requires": {
-				"@angular-devkit/architect": "0.1202.5",
+				"@angular-devkit/architect": "0.1202.12",
 				"rxjs": "6.6.7"
 			}
 		},
@@ -351,32 +378,32 @@
 			}
 		},
 		"@angular/animations": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-12.2.5.tgz",
-			"integrity": "sha512-a8jRimgrATq2CS95SO5yjsZo2d4FbfmN2SrPu6lZjWIdstXm4KQSJFslyxovhoUjGNu5cZgzfXTvWkXRxJYCxA==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-12.2.12.tgz",
+			"integrity": "sha512-RoBFfEfQ/obvILFwKUrZipEAkBYTIS4aHQ76+W3v2YWKaWVHKjBM3xGOik2ION2IIUIuqui3FCYOu7HVLTjCQA==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/cdk": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-12.2.5.tgz",
-			"integrity": "sha512-sB+chDISuQ2orEgWumVkEaaQ2Mkf5SDBlNGMwgwUV5a2eSp0wDprZS+3+H8lHc533z2Y4GOh6Apklku8XQT5qw==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-12.2.12.tgz",
+			"integrity": "sha512-AK+74JZP95BDj9OJ1YUaRqPXkgs+oadTk7z+8omu1RcvDoUivouKxgODCQX5jI7rZeQIlnV49hEgBne07hYk4A==",
 			"requires": {
 				"parse5": "^5.0.0",
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/cli": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.2.5.tgz",
-			"integrity": "sha512-O/NqRaFGx2jns03oWwhWBpilV4s7B8Zie6rgo2hJty1T3douGkK5kTO38N4Lebeayw8LTiPhT/JOrQTfFgXSjw==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-12.2.12.tgz",
+			"integrity": "sha512-69M5lrXuHKBkPne8h1v1Mgl9aJZhc+jamU7iZjQhlIt8xL1pTGr/y9/4S+sX1gKEGhd6p/82KwJ1CFcm/Kjhfg==",
 			"dev": true,
 			"requires": {
-				"@angular-devkit/architect": "0.1202.5",
-				"@angular-devkit/core": "12.2.5",
-				"@angular-devkit/schematics": "12.2.5",
-				"@schematics/angular": "12.2.5",
+				"@angular-devkit/architect": "0.1202.12",
+				"@angular-devkit/core": "12.2.12",
+				"@angular-devkit/schematics": "12.2.12",
+				"@schematics/angular": "12.2.12",
 				"@yarnpkg/lockfile": "1.1.0",
 				"ansi-colors": "4.1.1",
 				"debug": "4.3.2",
@@ -395,9 +422,9 @@
 			},
 			"dependencies": {
 				"@angular-devkit/core": {
-					"version": "12.2.5",
-					"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.5.tgz",
-					"integrity": "sha512-UBo0Q9nVGPxC+C1PONSzaczPLv5++5Q7PC2orZepDbWmY0jUDwe9VVJrmp8EhLZbzVKFpyCIs1ZE8h0s0LP1zA==",
+					"version": "12.2.12",
+					"resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-12.2.12.tgz",
+					"integrity": "sha512-ZFThmQecQmlniQl65rWn4oOMuWKy313O6Hk8sen7WdsjDircqtbHmtJCA1w/EU4xIilIJHo0Kez4Ihi00cGyYw==",
 					"dev": true,
 					"requires": {
 						"ajv": "8.6.2",
@@ -409,24 +436,24 @@
 					}
 				},
 				"@angular-devkit/schematics": {
-					"version": "12.2.5",
-					"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.5.tgz",
-					"integrity": "sha512-8WAdZ39FZqbU1/ZQQrK+7PeRuj6QUGlxFUgoVXk5nzRbpZo/OSaKhPoC7sC1A0EU+7udLp5vT7R12sDz7Mr9vQ==",
+					"version": "12.2.12",
+					"resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-12.2.12.tgz",
+					"integrity": "sha512-Z5Z8HvIRoNEXMrfJgVZieSTZyD0TytRJscuW6xS83Aeqp5py9hvs5ytWhlpnTRz0ji8qc67csFKHvphDOqDduQ==",
 					"dev": true,
 					"requires": {
-						"@angular-devkit/core": "12.2.5",
+						"@angular-devkit/core": "12.2.12",
 						"ora": "5.4.1",
 						"rxjs": "6.6.7"
 					}
 				},
 				"@schematics/angular": {
-					"version": "12.2.5",
-					"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.2.5.tgz",
-					"integrity": "sha512-Ln2GyO7Y00PrQKjqCONCDb4dwGzGboH3zIJvicWzFO+ZgkNLr/dsitGKm8b8OfR/UEiBcnK72xwPj9FWfXA4EQ==",
+					"version": "12.2.12",
+					"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-12.2.12.tgz",
+					"integrity": "sha512-XkHs4aMlOT64QxfDbIBFLxM/qCsuhkZ6G696C0t3eEX2kA1OmED34Qs1ezwb7fqdlcSrt3D3SGdBBcMzaMT7hg==",
 					"dev": true,
 					"requires": {
-						"@angular-devkit/core": "12.2.5",
-						"@angular-devkit/schematics": "12.2.5",
+						"@angular-devkit/core": "12.2.12",
+						"@angular-devkit/schematics": "12.2.12",
 						"jsonc-parser": "3.0.0"
 					}
 				},
@@ -459,25 +486,25 @@
 			}
 		},
 		"@angular/common": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/common/-/common-12.2.5.tgz",
-			"integrity": "sha512-iwyaGPx7ILTJn91ed7VtYkvVRRezaZ0EE2V5DzVXwCsBQyzCrBYz/Uo2udVDsJ2FXXhpxa2VjnkW55Uxl9wM0g==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/common/-/common-12.2.12.tgz",
+			"integrity": "sha512-i1VUoGYYx3tMEpmGQvaLt6x4C/MWDxUPATKJwnawLbHDLfAHkyXiCASmcMtaNt1EvOd/uN/J2ONVpF6J49CnMQ==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/compiler": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.5.tgz",
-			"integrity": "sha512-J73E3hao95T8+/+hWuCqGyXs9QCPoSsCTXmSPayFlYJW3QF5SG2vhjnf4SAgtNbUBHQWAIwGKxQTqD3VbtvP1A==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-12.2.12.tgz",
+			"integrity": "sha512-MoeLdKxahBhx/neHvu4AAg6QHvifjjy63vGPsivQUhl3054d/fw0xnLSaRHOS4kP+/loYOrnEEqog1ehTYnyew==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/compiler-cli": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.2.5.tgz",
-			"integrity": "sha512-KVpgkWUGZYRPvmJOqY1CZwjvc7VE0DYDPxmvXH/S1C6rzpl/UOTxYtDynxiNzuvLeV0oOnlcOGd4/BmMZJPh/A==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-12.2.12.tgz",
+			"integrity": "sha512-zIL6GnoIzNWNiip9sjvwzhL6lGg8lj0W1bKodmL6BINqPUPNdRR++VliUKr/o9DRBDEP7A0F+m2kmYJoN4p2FA==",
 			"dev": true,
 			"requires": {
 				"@babel/core": "^7.8.6",
@@ -554,63 +581,63 @@
 			}
 		},
 		"@angular/core": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/core/-/core-12.2.5.tgz",
-			"integrity": "sha512-bwxxEy1UrV+hWzjT6ow/Ge8upebglJwlWuKadPdd3ZVrWKPI0saoUUBv4S8EGiIxyW821GfEbzWzmBYUSUCiGQ==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/core/-/core-12.2.12.tgz",
+			"integrity": "sha512-DdZbhyVvwlYO5aLZi5IxJRflZ55Sae72cJAIK4+I5yTrVEf8iDwMZwnRhsv5rOwdEk12Zs8Ppb9JkpaFWium9Q==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/forms": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-12.2.5.tgz",
-			"integrity": "sha512-Sty4MMrmUrm7KYbYYAkA6egwIMFJ8D8G6ds5W79fN7K3B3LGYtMTRuMIBYQeSvdk8AN5+Evt6BUwlL8PMYq9Rg==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-12.2.12.tgz",
+			"integrity": "sha512-qZKN1igKaeoFqs7ETiVOBJz4KZo9SmDuUrTbkylrYe9I6wHOsmjZSW49M4Lq5dsczl12kTxc3m83RIsRPZAw6Q==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/language-service": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-12.2.5.tgz",
-			"integrity": "sha512-UypVxx1/ArXvYiSqzpIc/MUv+NkyQzMgZ96z2rG2ALqEVe+/m0AZEtvT/pD94Z0wlZDeMVaToD3OhRkQ4om2aA==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-12.2.12.tgz",
+			"integrity": "sha512-0DRsZilDkYa6FFHwm5dT70ydWvDquT/zj3qyeznwFxfiulzMNEAXvfQbi91eZ/0yJB9DSdS4ma2UgXMaFpMStw==",
 			"dev": true
 		},
 		"@angular/material": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/material/-/material-12.2.5.tgz",
-			"integrity": "sha512-oQMNxxDtcR3evZaOdTyzCWRCHcM6V4AGJx4pbyzEpYPo9j4iKFGtTPLGEkWtsWNFZp/g7E7gx0sU3ssjRDt7Dw==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/material/-/material-12.2.12.tgz",
+			"integrity": "sha512-Fgpffplmd3KfoK9Ms34jYXRaqFYLbgXdGl250Acg7fV16LN1KTOyYm2Qs+FQuqyhuXfhePPt6Srh7VcGTLT4+g==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/material-moment-adapter": {
-			"version": "12.1.1",
-			"resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-12.1.1.tgz",
-			"integrity": "sha512-YQs4BFiQ0rCYhWzcPJ6IS6zJRM+iKAjAEo/Z89G4tR1vekA4Fl95PBs9DVoCLS2uptOPL99tnUMqeNtFjUM6wQ==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-12.2.12.tgz",
+			"integrity": "sha512-Pv13qGvPGHDgFiU9p7UNs8ck2A8EvqHejl8UtuHLaDOGe6UVh00NSxwFnmYZ1FKUwA5KtrchWSYaoZkFvfhlkQ==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/platform-browser": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.2.5.tgz",
-			"integrity": "sha512-2Vs+0Zx87lGYvC3Bkzy9eT0yXXvMd0e8vrEJ1oIdxfkRhbE/wTL1+LA8JlT5rROqcZwY4joOPiHC9jVFw6dDCQ==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-12.2.12.tgz",
+			"integrity": "sha512-HzHQUxKSh4n6tNIW4BcR0yJRs7NiAeuSXTEHs5+1Zmf2NVTYh4E4U+IkRUwzlrdzDoUEP/Fd3yP/M71LGm7aTg==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/platform-browser-dynamic": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.2.5.tgz",
-			"integrity": "sha512-GIAMw+KFYVFFtyvC3Z6znxLCJdZx/IvpfHQVekpQumiv291cng2jSamU3FZjV3xZKXfccS4I4hIXFX85EBMRWA==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-12.2.12.tgz",
+			"integrity": "sha512-uVbRxZP2fI86U8LqQ80RIzY5qHvGW2Koywylj7kNpfPhwMBSGpG91IjOZtrKUXF4jYJWZ3h2GGv7RFtRilvuNg==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
 		},
 		"@angular/router": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@angular/router/-/router-12.2.5.tgz",
-			"integrity": "sha512-rfaHzi6ZrLFqdebEQTMPxVEwLuA8MBGOUzyekhLjGTvKwc7L2/m303LPIDECRFyCSik3EIxGLvzPET0l+DVgAw==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@angular/router/-/router-12.2.12.tgz",
+			"integrity": "sha512-unuUJyj3CHj29jmyCaluou1sajZDnZgDJ/3vNCif4md1sC5MuY/XkqecTgvSwze17kkpxCGjjn2dlWFRp+yExw==",
 			"requires": {
 				"tslib": "^2.2.0"
 			}
@@ -2422,15 +2449,15 @@
 			}
 		},
 		"@ngtools/webpack": {
-			"version": "12.2.5",
-			"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-12.2.5.tgz",
-			"integrity": "sha512-wc+ovfJucCxAjoP3ExnJll8K3nAoNCiFyDEO8dgHkriY/IWhGdwOu1eduHgfT/mWS40Awj/inJJir9oTi4YBVg==",
+			"version": "12.2.12",
+			"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-12.2.12.tgz",
+			"integrity": "sha512-j3043wP+EWk2zMmAYrOzecpUX2n37R6XqypEBbj1qLAQBiSDulRN0dIsZzgTlrBgeOQ1YtFoRMuqaPsGIbuNiw==",
 			"dev": true
 		},
 		"@ngxp/rest": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/@ngxp/rest/-/rest-4.0.0.tgz",
-			"integrity": "sha512-FYqmIVwaXd5Kg1iwnOe9vNqvJbXu2GwrdKkGx30/PmgPmPriI4BpVAZ9MIom4KQNSEhiJDGXyPO5eOEgdz47RA==",
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/@ngxp/rest/-/rest-6.0.0.tgz",
+			"integrity": "sha512-3tU93XGicmsg4/a7hv8Cy1BBmzr0w9jO5IB+YYa/1vnpN8HDaQw9xGmI4d+xosYx3qnXGLYzw99mKwy8tRwQCQ==",
 			"requires": {
 				"tslib": "^2.0.0"
 			}
@@ -3309,6 +3336,11 @@
 				"@types/jest": "*"
 			}
 		},
+		"@types/webidl-conversions": {
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-6.1.1.tgz",
+			"integrity": "sha512-XAahCdThVuCFDQLT7R7Pk/vqeObFNL3YqRyFZg+AqAP/W1/w3xHaIxuW7WszQqTbIBOPRcItYJIou3i/mppu3Q=="
+		},
 		"@types/webpack-sources": {
 			"version": "0.1.9",
 			"resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.9.tgz",
@@ -3328,6 +3360,15 @@
 				}
 			}
 		},
+		"@types/whatwg-url": {
+			"version": "8.2.1",
+			"resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-8.2.1.tgz",
+			"integrity": "sha512-2YubE1sjj5ifxievI5Ge1sckb9k/Er66HyR2c+3+I6VDUUg1TLPdYYTEbQ+DjRkS4nTxMJhgWfSfMRD2sl2EYQ==",
+			"requires": {
+				"@types/node": "*",
+				"@types/webidl-conversions": "*"
+			}
+		},
 		"@types/yargs": {
 			"version": "16.0.4",
 			"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz",
@@ -3892,10 +3933,11 @@
 			"dev": true
 		},
 		"angular-oauth2-oidc": {
-			"version": "12.0.2",
-			"resolved": "https://registry.npmjs.org/angular-oauth2-oidc/-/angular-oauth2-oidc-12.0.2.tgz",
-			"integrity": "sha512-QWZE8tE1uP6T2qRIIWOaga1sHtbT4rhrEc8h/QCDHbo3X4jjtPKFQYHL+OJArDrrIymtzAVmJe2jNN9NauLYdQ==",
+			"version": "12.1.0",
+			"resolved": "https://registry.npmjs.org/angular-oauth2-oidc/-/angular-oauth2-oidc-12.1.0.tgz",
+			"integrity": "sha512-YUsNTWx8lccgo4e3qHvqJ6DOR9nfPVd+riyXzcy5nI4CB9cc2+SxaxiqQMGPAaKI2EOIfdxNobmUqUSEO+IXxA==",
 			"requires": {
+				"fast-sha256": "^1.3.0",
 				"tslib": "^2.0.0"
 			}
 		},
@@ -4622,9 +4664,12 @@
 			}
 		},
 		"bson": {
-			"version": "1.1.6",
-			"resolved": "https://registry.npmjs.org/bson/-/bson-1.1.6.tgz",
-			"integrity": "sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg=="
+			"version": "4.5.4",
+			"resolved": "https://registry.npmjs.org/bson/-/bson-4.5.4.tgz",
+			"integrity": "sha512-wIt0bPACnx8Ju9r6IsS2wVtGDHBr9Dxb+U29A1YED2pu8XOhS8aKjOnLZ8sxyXkPwanoK7iWWVhS1+coxde6xA==",
+			"requires": {
+				"buffer": "^5.6.0"
+			}
 		},
 		"buffer": {
 			"version": "5.7.1",
@@ -5470,15 +5515,16 @@
 			"dev": true
 		},
 		"critters": {
-			"version": "0.0.10",
-			"resolved": "https://registry.npmjs.org/critters/-/critters-0.0.10.tgz",
-			"integrity": "sha512-p5VKhP1803+f+0Jq5P03w1SbiHtpAKm+1EpJHkiPxQPq0Vu9QLZHviJ02GRrWi0dlcJqrmzMWInbwp4d22RsGw==",
+			"version": "0.0.12",
+			"resolved": "https://registry.npmjs.org/critters/-/critters-0.0.12.tgz",
+			"integrity": "sha512-ujxKtKc/mWpjrOKeaACTaQ1aP0O31M0ZPWhfl85jZF1smPU4Ivb9va5Ox2poif4zVJQQo0LCFlzGtEZAsCAPcw==",
 			"dev": true,
 			"requires": {
 				"chalk": "^4.1.0",
-				"css": "^3.0.0",
+				"css-select": "^4.1.3",
 				"parse5": "^6.0.1",
 				"parse5-htmlparser2-tree-adapter": "^6.0.1",
+				"postcss": "^8.3.7",
 				"pretty-bytes": "^5.3.0"
 			},
 			"dependencies": {
@@ -5487,6 +5533,17 @@
 					"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
 					"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
 					"dev": true
+				},
+				"postcss": {
+					"version": "8.3.11",
+					"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz",
+					"integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==",
+					"dev": true,
+					"requires": {
+						"nanoid": "^3.1.30",
+						"picocolors": "^1.0.0",
+						"source-map-js": "^0.6.2"
+					}
 				}
 			}
 		},
@@ -5937,9 +5994,9 @@
 			}
 		},
 		"cypress": {
-			"version": "8.5.0",
-			"resolved": "https://registry.npmjs.org/cypress/-/cypress-8.5.0.tgz",
-			"integrity": "sha512-MMkXIS+Ro2KETn4gAlG3tIc/7FiljuuCZP0zpd9QsRG6MZSyZW/l1J3D4iQM6WHsVxuX4rFChn5jPFlC2tNSvQ==",
+			"version": "8.7.0",
+			"resolved": "https://registry.npmjs.org/cypress/-/cypress-8.7.0.tgz",
+			"integrity": "sha512-b1bMC3VQydC6sXzBMFnSqcvwc9dTZMgcaOzT0vpSD+Gq1yFc+72JDWi55sfUK5eIeNLAtWOGy1NNb6UlhMvB+Q==",
 			"optional": true,
 			"requires": {
 				"@cypress/request": "^2.88.6",
@@ -6548,9 +6605,9 @@
 			"dev": true
 		},
 		"denque": {
-			"version": "1.5.0",
-			"resolved": "https://registry.npmjs.org/denque/-/denque-1.5.0.tgz",
-			"integrity": "sha512-CYiCSgIF1p6EUByQPlGkKnP1M9g0ZV3qMIrqMqZqdwazygIA/YP2vrbcyl1h/WppKJTdl1F85cXIle+394iDAQ=="
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/denque/-/denque-2.0.1.tgz",
+			"integrity": "sha512-tfiWc6BQLXNLpNiR5iGd0Ocu3P3VpxfzFiqubLgMfhfOw9WyvgJBd46CClNn9k3qfbjvT//0cf7AlYRX/OslMQ=="
 		},
 		"depd": {
 			"version": "1.1.2",
@@ -6917,12 +6974,131 @@
 				"is-symbol": "^1.0.2"
 			}
 		},
-		"esbuild": {
-			"version": "0.12.24",
-			"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.24.tgz",
-			"integrity": "sha512-C0ibY+HsXzYB6L/pLWEiWjMpghKsIc58Q5yumARwBQsHl9DXPakW+5NI/Y9w4YXiz0PEP6XTGTT/OV4Nnsmb4A==",
+		"esbuild-android-arm64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.8.tgz",
+			"integrity": "sha512-AilbChndywpk7CdKkNSZ9klxl+9MboLctXd9LwLo3b0dawmOF/i/t2U5d8LM6SbT1Xw36F8yngSUPrd8yPs2RA==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-darwin-64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.8.tgz",
+			"integrity": "sha512-b6sdiT84zV5LVaoF+UoMVGJzR/iE2vNUfUDfFQGrm4LBwM/PWXweKpuu6RD9mcyCq18cLxkP6w/LD/w9DtX3ng==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-darwin-arm64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.8.tgz",
+			"integrity": "sha512-R8YuPiiJayuJJRUBG4H0VwkEKo6AvhJs2m7Tl0JaIer3u1FHHXwGhMxjJDmK+kXwTFPriSysPvcobXC/UrrZCQ==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-freebsd-64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.8.tgz",
+			"integrity": "sha512-zBn6urrn8FnKC+YSgDxdof9jhPCeU8kR/qaamlV4gI8R3KUaUK162WYM7UyFVAlj9N0MyD3AtB+hltzu4cysTw==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-freebsd-arm64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.8.tgz",
+			"integrity": "sha512-pWW2slN7lGlkx0MOEBoUGwRX5UgSCLq3dy2c8RIOpiHtA87xAUpDBvZK10MykbT+aMfXc0NI2lu1X+6kI34xng==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-linux-32": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.8.tgz",
+			"integrity": "sha512-T0I0ueeKVO/Is0CAeSEOG9s2jeNNb8jrrMwG9QBIm3UU18MRB60ERgkS2uV3fZ1vP2F8i3Z2e3Zju4lg9dhVmw==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-linux-64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.8.tgz",
+			"integrity": "sha512-Bm8SYmFtvfDCIu9sjKppFXzRXn2BVpuCinU1ChTuMtdKI/7aPpXIrkqBNOgPTOQO9AylJJc1Zw6EvtKORhn64w==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-linux-arm": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.8.tgz",
+			"integrity": "sha512-4/HfcC40LJ4GPyboHA+db0jpFarTB628D1ifU+/5bunIgY+t6mHkJWyxWxAAE8wl/ZIuRYB9RJFdYpu1AXGPdg==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-linux-arm64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.8.tgz",
+			"integrity": "sha512-X4pWZ+SL+FJ09chWFgRNO3F+YtvAQRcWh0uxKqZSWKiWodAB20flsW/OWFYLXBKiVCTeoGMvENZS/GeVac7+tQ==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-linux-mips64le": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.8.tgz",
+			"integrity": "sha512-o7e0D+sqHKT31v+mwFircJFjwSKVd2nbkHEn4l9xQ1hLR+Bv8rnt3HqlblY3+sBdlrOTGSwz0ReROlKUMJyldA==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-linux-ppc64le": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.8.tgz",
+			"integrity": "sha512-eZSQ0ERsWkukJp2px/UWJHVNuy0lMoz/HZcRWAbB6reoaBw7S9vMzYNUnflfL3XA6WDs+dZn3ekHE4Y2uWLGig==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-netbsd-64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.13.8.tgz",
+			"integrity": "sha512-gZX4kP7gVvOrvX0ZwgHmbuHczQUwqYppxqtoyC7VNd80t5nBHOFXVhWo2Ad/Lms0E8b+wwgI/WjZFTCpUHOg9Q==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-openbsd-64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.8.tgz",
+			"integrity": "sha512-afzza308X4WmcebexbTzAgfEWt9MUkdTvwIa8xOu4CM2qGbl2LanqEl8/LUs8jh6Gqw6WsicEK52GPrS9wvkcw==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-sunos-64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.8.tgz",
+			"integrity": "sha512-mWPZibmBbuMKD+LDN23LGcOZ2EawMYBONMXXHmbuxeT0XxCNwadbCVwUQ/2p5Dp5Kvf6mhrlIffcnWOiCBpiVw==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-wasm": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.13.8.tgz",
+			"integrity": "sha512-UbD+3nloiSpJWXTCInZQrqPe8Y+RLfDkY/5kEHiXsw/lmaEvibe69qTzQu16m5R9je/0bF7VYQ5jaEOq0z9lLA==",
 			"dev": true
 		},
+		"esbuild-windows-32": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.8.tgz",
+			"integrity": "sha512-QsZ1HnWIcnIEApETZWw8HlOhDSWqdZX2SylU7IzGxOYyVcX7QI06ety/aDcn437mwyO7Ph4RrbhB+2ntM8kX8A==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-windows-64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.8.tgz",
+			"integrity": "sha512-76Fb57B9eE/JmJi1QmUW0tRLQZfGo0it+JeYoCDTSlbTn7LV44ecOHIMJSSgZADUtRMWT9z0Kz186bnaB3amSg==",
+			"dev": true,
+			"optional": true
+		},
+		"esbuild-windows-arm64": {
+			"version": "0.13.8",
+			"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.8.tgz",
+			"integrity": "sha512-HW6Mtq5eTudllxY2YgT62MrVcn7oq2o8TAoAvDUhyiEmRmDY8tPwAhb1vxw5/cdkbukM3KdMYtksnUhF/ekWeg==",
+			"dev": true,
+			"optional": true
+		},
 		"escalade": {
 			"version": "3.1.1",
 			"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@@ -7642,6 +7818,11 @@
 			"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
 			"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
 		},
+		"fast-sha256": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz",
+			"integrity": "sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ=="
+		},
 		"fastparse": {
 			"version": "1.1.2",
 			"resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
@@ -9310,7 +9491,8 @@
 		"isarray": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
-			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
+			"integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+			"dev": true
 		},
 		"isexe": {
 			"version": "2.0.0",
@@ -11386,9 +11568,9 @@
 			"dev": true
 		},
 		"mini-css-extract-plugin": {
-			"version": "2.2.1",
-			"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.2.1.tgz",
-			"integrity": "sha512-A0GBXpz8WIPgh2HfASJ0EeY8grd2dGxmC4R8uTujFJXZY7zFy0nvYSYW6SKCLKlz7y45BdHONfaxZQMIZpeF/w==",
+			"version": "2.4.2",
+			"resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.4.2.tgz",
+			"integrity": "sha512-ZmqShkn79D36uerdED+9qdo1ZYG8C1YsWvXu0UMJxurZnSdgz7gQKO2EGv8T55MhDqG3DYmGtizZNpM/UbTlcA==",
 			"dev": true,
 			"requires": {
 				"schema-utils": "^3.1.0"
@@ -11840,61 +12022,32 @@
 			"integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ=="
 		},
 		"mongodb": {
-			"version": "3.6.6",
-			"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-3.6.6.tgz",
-			"integrity": "sha512-WlirMiuV1UPbej5JeCMqE93JRfZ/ZzqE7nJTwP85XzjAF4rRSeq2bGCb1cjfoHLOF06+HxADaPGqT0g3SbVT1w==",
-			"requires": {
-				"bl": "^2.2.1",
-				"bson": "^1.1.4",
-				"denque": "^1.4.1",
-				"optional-require": "^1.0.2",
-				"safe-buffer": "^5.1.2",
-				"saslprep": "^1.0.0"
+			"version": "4.1.4",
+			"resolved": "https://registry.npmjs.org/mongodb/-/mongodb-4.1.4.tgz",
+			"integrity": "sha512-Cv/sk8on/tpvvqbEvR1h03mdyNdyvvO+WhtFlL4jrZ+DSsN/oSQHVqmJQI/sBCqqbOArFcYCAYDfyzqFwV4GSQ==",
+			"requires": {
+				"bson": "^4.5.4",
+				"denque": "^2.0.1",
+				"mongodb-connection-string-url": "^2.1.0",
+				"saslprep": "^1.0.3"
+			}
+		},
+		"mongodb-connection-string-url": {
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-2.1.0.tgz",
+			"integrity": "sha512-Qf9Zw7KGiRljWvMrrUFDdVqo46KIEiDuCzvEN97rh/PcKzk2bd6n9KuzEwBwW9xo5glwx69y1mI6s+jFUD/aIQ==",
+			"requires": {
+				"@types/whatwg-url": "^8.2.1",
+				"whatwg-url": "^9.1.0"
 			},
 			"dependencies": {
-				"bl": {
-					"version": "2.2.1",
-					"resolved": "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz",
-					"integrity": "sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==",
-					"requires": {
-						"readable-stream": "^2.3.5",
-						"safe-buffer": "^5.1.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==",
+				"whatwg-url": {
+					"version": "9.1.0",
+					"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-9.1.0.tgz",
+					"integrity": "sha512-CQ0UcrPHyomtlOCot1TL77WyMIm/bCwrJ2D6AOKGwEczU9EpyoqAokfqrf/MioU9kHcMsmJZcg1egXix2KYEsA==",
 					"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"
-					},
-					"dependencies": {
-						"safe-buffer": {
-							"version": "5.1.2",
-							"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-							"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
-						}
-					}
-				},
-				"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"
-					},
-					"dependencies": {
-						"safe-buffer": {
-							"version": "5.1.2",
-							"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
-							"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
-						}
+						"tr46": "^2.1.0",
+						"webidl-conversions": "^6.1.0"
 					}
 				}
 			}
@@ -11993,9 +12146,9 @@
 			"dev": true
 		},
 		"ng-mocks": {
-			"version": "11.11.1",
-			"resolved": "https://registry.npmjs.org/ng-mocks/-/ng-mocks-11.11.1.tgz",
-			"integrity": "sha512-mK5C+g+T6q0v3gcE+xN3q0nUJi1sZLdR6jvn+vMvbK2yZt/6SC2tzZJwo2jNFA5LKwhzxNvQDtoDjfPcFQbfvg=="
+			"version": "12.5.0",
+			"resolved": "https://registry.npmjs.org/ng-mocks/-/ng-mocks-12.5.0.tgz",
+			"integrity": "sha512-Kl4R8zabnPVA1fKO4C3eCckb8TSCKrAmz228X869JKKlsN8mJ8TsTJmDewt0oYV1EBqY3EtBLl3pgrTW2Jl0DQ=="
 		},
 		"nice-napi": {
 			"version": "1.0.2",
@@ -12543,14 +12696,6 @@
 				}
 			}
 		},
-		"optional-require": {
-			"version": "1.1.7",
-			"resolved": "https://registry.npmjs.org/optional-require/-/optional-require-1.1.7.tgz",
-			"integrity": "sha512-cIeRZocXsZnZYn+SevbtSqNlLbeoS4mLzuNn4fvXRMDRNhTGg0sxuKXl0FnZCtnew85LorNxIbZp5OeliILhMw==",
-			"requires": {
-				"require-at": "^1.0.6"
-			}
-		},
 		"optionator": {
 			"version": "0.8.3",
 			"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
@@ -14520,7 +14665,8 @@
 		"process-nextick-args": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
-			"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+			"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+			"dev": true
 		},
 		"progress": {
 			"version": "2.0.3",
@@ -14945,11 +15091,6 @@
 				"throttleit": "^1.0.0"
 			}
 		},
-		"require-at": {
-			"version": "1.0.6",
-			"resolved": "https://registry.npmjs.org/require-at/-/require-at-1.0.6.tgz",
-			"integrity": "sha512-7i1auJbMUrXEAZCOQ0VNJgmcT2VOKPRl2YGJwgpHpC9CE91Mv4/4UYIUm4chGJaI381ZDq1JUicFii64Hapd8g=="
-		},
 		"require-directory": {
 			"version": "2.1.1",
 			"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
diff --git a/goofy-client/package.json b/goofy-client/package.json
index ed4e9f24f75fcf7b6fe4b5f972df0f86f95bfc14..bfdacc04c0051f35a685058374b06aa8454f8d86 100644
--- a/goofy-client/package.json
+++ b/goofy-client/package.json
@@ -47,21 +47,21 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/animations": "12.2.5",
-    "@angular/cdk": "12.2.5",
-    "@angular/common": "12.2.5",
-    "@angular/compiler": "12.2.5",
-    "@angular/core": "12.2.5",
-    "@angular/forms": "12.2.5",
-    "@angular/material": "12.2.5",
-    "@angular/material-moment-adapter": "12.1.1",
-    "@angular/platform-browser": "12.2.5",
-    "@angular/platform-browser-dynamic": "12.2.5",
-    "@angular/router": "12.2.5",
-    "@ngxp/rest": "4.0.0",
+    "@angular/animations": "12.2.12",
+    "@angular/cdk": "12.2.12",
+    "@angular/common": "12.2.12",
+    "@angular/compiler": "12.2.12",
+    "@angular/core": "12.2.12",
+    "@angular/forms": "12.2.12",
+    "@angular/material": "12.2.12",
+    "@angular/material-moment-adapter": "12.2.12",
+    "@angular/platform-browser": "12.2.12",
+    "@angular/platform-browser-dynamic": "12.2.12",
+    "@angular/router": "12.2.12",
+    "@ngxp/rest": "6.0.0",
     "@nrwl/angular": "13.1.3",
     "@types/faker": "^5.5.9",
-    "angular-oauth2-oidc": "12.0.2",
+    "angular-oauth2-oidc": "12.1.0",
     "angular-oauth2-oidc-jwks": "12.0.0",
     "faker": "5.5.3",
     "file-saver": "2.0.5",
@@ -69,8 +69,8 @@
     "lodash-es": "4.17.21",
     "material-design-icons-iconfont": "6.1.0",
     "moment": "2.29.1",
-    "mongodb": "3.6.6",
-    "ng-mocks": "11.11.1",
+    "mongodb": "4.1.4",
+    "ng-mocks": "12.5.0",
     "rxjs": "~6.6.0",
     "tslib": "^2.0.0",
     "typeface-roboto": "1.1.13",
@@ -78,13 +78,13 @@
     "zone.js": "0.11.4"
   },
   "devDependencies": {
-    "@angular-devkit/build-angular": "12.2.5",
+    "@angular-devkit/build-angular": "12.2.12",
     "@angular-eslint/eslint-plugin": "12.3.1",
     "@angular-eslint/eslint-plugin-template": "12.3.1",
     "@angular-eslint/template-parser": "12.3.1",
-    "@angular/cli": "12.2.5",
-    "@angular/compiler-cli": "12.2.5",
-    "@angular/language-service": "12.2.5",
+    "@angular/cli": "12.2.12",
+    "@angular/compiler-cli": "12.2.12",
+    "@angular/language-service": "12.2.12",
     "@nrwl/cli": "13.1.3",
     "@nrwl/cypress": "13.1.3",
     "@nrwl/eslint-plugin-nx": "13.1.3",
@@ -118,6 +118,6 @@
     "typescript": "4.3.5"
   },
   "optionalDependencies": {
-    "cypress": "8.5.0"
+    "cypress": "8.7.0"
   }
 }