From d2ea80ef71cb608cc0a0313cade825597a0b895b Mon Sep 17 00:00:00 2001
From: Ubuntu <ubuntu@ip-172-31-1-27.ap-northeast-2.compute.internal>
Date: Sun, 8 Dec 2024 07:17:53 +0000
Subject: [PATCH] =?UTF-8?q?refactor:=20=EC=84=9C=EB=B2=84=20=EB=B0=B0?=
 =?UTF-8?q?=ED=8F=AC=EC=BD=94=EB=93=9C=20=EC=88=98=EC=A0=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .app2.js.swp      | Bin 0 -> 12288 bytes
 output.log        | 493 ++++++++++++++++++++++++++--------------------
 package-lock.json | 243 ++++++++++++++---------
 package.json      |   1 +
 weblog.log        |   4 +-
 5 files changed, 435 insertions(+), 306 deletions(-)
 create mode 100644 .app2.js.swp

diff --git a/.app2.js.swp b/.app2.js.swp
new file mode 100644
index 0000000000000000000000000000000000000000..d6adf66f7481c87e6cb0559f90b01bbe76f5cd3e
GIT binary patch
literal 12288
zcmeI2U2IfE6vqeoP(j3~55kKhknC2vA1zUuRxr>m(AakCe)u3U<#u=4Uf8{NxgVuV
zSwt;Z(11oLMO%cV;)BMN4@pVDk7#@{(fCAS^nv))-Aa5>6Jz3k?$_SkE<P9%LvlCy
z_1>Lx=FFKhXU<I1_J&_*@1#w^MuN{nge+T{>~HyPA!&JLA<=tvNz=LD-#=n5(6FH~
zu)ZPC5NO<Rd)))3!O&jT+bg7YhlE_NF}O>;eFsnCMZk-|or!?1^#z)iC)YPNgt@^r
ztDm5cJe<5UwmmCe1iT1%5%415MZk-I7XdE<UIe@d+!Ybfatp}I@bn(b+d=EOpz3LT
z^&VaXya;#^@FL(vz>9zv0WShx1iT1%5%415MZk-|T^Io&O~_jOvj5mZIFG;o+rR(+
zvVxE=zzOgiSOflgkdW(O5Cp&qFt?nL^WZo*1`2?IG)RID&<d7-ZyzA!Bsc)_U=ZkF
z8)yPyunJsRM#w059Vmc-BzP43y_Aq2!Pnp%&_Od;0e-)qkXdj8d<G7K6xa${KqFWO
zR)QP%5%LxI99#u6;C*ly>;hZBYH;gbLVg9`fb-x87zKl12Y3-|1uMZHOW*_e5}X2K
zfPrVhCa?tjyqJ)mz(?Q+7zHs<57vP{7ZLJ3_zrvmPJuBX0||71jo>M;3M>YTz%8ub
z4`2)&1N%S|SOXphD}k}bcVUkHFD@7A{B<pa(gL6~r^qR$szEj+YW@a8Kxs;rR5`<f
zOi^UT@4GqqCM}Ij6fcg@(i;<{GjG$<6d0c>elSjp(-WoFCYycr)X+9f)0Cj42B_a`
zqQk~e1<QKben#&1@4Pv2h{l;R$P_B7RM90#l=`VG(e7w0LDvrRM`5Sc7ynrk%!sPS
zBtLJjr~W#+ag#MbC{%WHYHsWZF@_cP3Zh2Uyp)Qid(Ej+3f0bh{P_-AIyF6eahlGZ
zK3STafxf2XVa+daeaHAb?e`D~cR;Wm5i-qmd1E=K(qPb-#s2-YDclrpAw-l!EuI=+
zX+6VQGfa?}!hPbdADt>)J6M_;p>wZXE}s9mI5J90mq%x3rsqzdAcW6cSDD|3|1J_k
zD%MPtB}CnNi^;mi6j(AHsc5AeslxW?qJrMRkis=p#{#-k+0L?TFH>OJd@(Gmj%9aa
zO~Wn)-+be#0YQUl{-`osZmMb45!W!9WlTfT7%m%cRi-Vu*;>=OTcgGReTvAWH0+x%
zRp#A|HLY9S=SM@eG69zD*DBkU%{8stDmDBTbZr2(`J>8ixv8d2qa*x9UKS^>mEN76
z8=0oXcP<pqO`7SVGR^PP6dg&A5;By>D7<>uS=yHo)B%5;d&W6IRdceU1+CmPq_(~z
z<oiPuGU7gF$T5Dm)vvr6P;-uB|IL&Rja&P-oWhPF*C@l34WVMBS-P3_2^p2q0{84r
zjcwauLpg<)QeDX~DJ5e#zcYp{+oj5qJ+X+XPqD*`mu4`bsnXe#xM=*R`rIi?{c_tD
zyPn;yKx5jd{I2p`XVp$aK=CQmLBsqM>YZ0gRUymbqQ;u3Pm(2u^>zuf!qDb^h@KA9
zC(R!X;c&P@MP(^nfeLbl)${thJ(1{+qwtQ;Uc6p9^%k$EAL5)j^LFw0X_x5%P0K~4
zOy270NK&%ATZBFHY@zrR>fHWnTE_9G!jY7m$*`1$>e+=UVLDc(#5Gx|npV2kRB;YT
z)bq}0*S2U++m@cL&7Bd7!fyAkiU?niqyiu2cTUFIT^^}?+-7Plpy5L>r7%Hb{_@Ne
zxQzN%9RgJtWJ#Qs_KvaByBr4OBXq2+FE?W?6sA?W7LUZ^?a{8Dc%(HJNf;B$%eoRU
zbpyK@wzw61duy2v+Uaiy`8j57Oe>xF%Gmb_e%|}|d0(BaBNt{beah<>*ESDq^pUVk
zmL|?f<IJwia(|@~ExvlWc;%p(Of<`NWt9ajB|0}gQ@S!?rZ@bo^Z_H^_UNx1)Lndz
zPR$)YTN=CUY+iGJnPVWvX(sV%rn*;7$YkWbEWMoxX{JE3!`CWHC{J1-k<al2^le7D
zmKAZIz?0PXk{R|aLu1;|-xf)5weD!#d?t-YTcjhBh;Tu)JAsvq+dW~bUz9MAI}^9Y
zqLHpdPcqhl4t$TP&7n|UkP!T!Iw0rF&M8?@k%!I_BW$hFSlpSeEy&7BzaaU2X*THN
zr4@R`a}%>y4>_7x1RNF6$8lp7Lw@fuo2|=P<w?XFkrI5_+q3-OpxOX4?s08`CiDs@
z<9)hhY-G!f>4n>h*}@ac9Ei`yE$83M(qUYt_UMcsKB$oumnL-Y6Z>&#vgDRyar?V{
z4%x%FbGN1?J3B2yRmo_Y8KyOEi`Aa#nwY_D&bmk_<=GfVuzPG6<vS{12+Df)iRo4i
zhV0g|p5dZVpxm0aQDZ*Uld&p+y-V!XHt()(D^^CJ*qGN^XTdB%4PEY-bE{3u*g!}<
LzSpr%JhT1*G7#nx

literal 0
HcmV?d00001

diff --git a/output.log b/output.log
index 6df63b6..2b17d41 100644
--- a/output.log
+++ b/output.log
@@ -1,223 +1,288 @@
 MongoDB URI: mongodb+srv://admin:lim1234!!@goodmeeting.vkniz.mongodb.net/
-(node:182036) [MONGODB DRIVER] Warning: useNewUrlParser is a deprecated option: useNewUrlParser has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version
+(node:212097) [MONGODB DRIVER] Warning: useNewUrlParser is a deprecated option: useNewUrlParser has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version
 (Use `node --trace-warnings ...` to show where the warning was created)
-(node:182036) [MONGODB DRIVER] Warning: useUnifiedTopology is a deprecated option: useUnifiedTopology has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version
+(node:212097) [MONGODB DRIVER] Warning: useUnifiedTopology is a deprecated option: useUnifiedTopology has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version
 �� MongoDB �곌껐 �깃났
 Rdb�곗씠�곕쿋�댁뒪 �곌껐 �깃났.
 紐⑤뱺 紐⑤뜽�� �깃났�곸쑝濡� �숆린�붾릺�덉뒿�덈떎.
 Server is running on 8080
-GET /api/session/info 401 8.594 ms - 76
-GET /api/auth/login 302 3.050 ms - 0
-GET /api/auth/google/callback?code=4%2F0AeanS0ao8f60iPWO2lFPG-75VwKyiSOn5kXy7WYogowBYIKp-Rqv0m-ctgybXxfZXLTMFA&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&authuser=1&hd=ajou.ac.kr&prompt=none 302 532.811 ms - 48
-GET /api/session/info 200 7.414 ms - 60
-GET /api/session/info 200 4.780 ms - 60
-GET /api/schedule/all 304 19.397 ms - -
-Performance Measurement - getAllSchedules: 5.005846977233887ms
-GET /api/schedule/289 304 16.458 ms - -
-Performance Measurement - getScheduleByTimeIdx: 11.750297963619232ms
-GET /api/schedule/193 304 7.581 ms - -
-Performance Measurement - getScheduleByTimeIdx: 3.6492010354995728ms
-GET /api/schedule/193 304 7.722 ms - -
-Performance Measurement - getScheduleByTimeIdx: 3.8008620142936707ms
-GET /api/schedule/193 304 9.777 ms - -
-Performance Measurement - getScheduleByTimeIdx: 4.146169006824493ms
-GET /api/schedule/192 200 8.365 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 4.420195996761322ms
-GET /api/schedule/7 200 7.684 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.8003939986228943ms
-GET /api/schedule/103 304 8.917 ms - -
-Performance Measurement - getScheduleByTimeIdx: 3.626570999622345ms
-GET /api/schedule/4 200 7.304 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.7574750185012817ms
-GET /api/schedule/102 304 9.324 ms - -
-Performance Measurement - getScheduleByTimeIdx: 4.2991169691085815ms
-GET /api/schedule/199 200 7.638 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.934753954410553ms
-GET /api/schedule/196 200 7.331 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.7636460065841675ms
-GET /api/schedule/99 304 8.753 ms - -
-Performance Measurement - getScheduleByTimeIdx: 3.7125409841537476ms
-GET /api/schedule/99 304 6.852 ms - -
-Performance Measurement - getScheduleByTimeIdx: 3.625138998031616ms
-GET /api/schedule/105 200 7.316 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.6936269998550415ms
-GET /api/schedule/2 200 9.041 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.845887005329132ms
-GET /api/schedule/1 200 7.427 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.8853600025177ms
-GET /api/schedule/1 304 7.564 ms - -
-Performance Measurement - getScheduleByTimeIdx: 4.00413304567337ms
-GET /api/session/info 200 4.063 ms - 60
-GET /api/schedule/all 304 6.780 ms - -
-Performance Measurement - getAllSchedules: 2.9270060062408447ms
-GET /api/session/info 200 4.080 ms - 60
-GET /api/session/info 200 14.763 ms - 60
-GET /api/session/info 200 4.001 ms - 60
-GET /api/session/info 200 49.452 ms - 60
-GET /api/session/info 200 16.079 ms - 60
-GET /api/schedule/all 304 51.136 ms - -
-Performance Measurement - getAllSchedules: 3.047551989555359ms
-GET / 404 2.482 ms - 139
-GET /favicon.ico 404 1.030 ms - 150
-GET http://api.ipify.org/?format=json 404 2.130 ms - 139
-GET /geoserver/web/ 404 0.934 ms - 153
-GET /api/session/info 401 1.080 ms - 76
-GET /api/session/info 401 0.698 ms - 76
-GET /api/session/info 401 0.921 ms - 76
-GET /api/session/info 401 0.587 ms - 76
-OPTIONS /api/schedule/all 204 0.404 ms - 0
-OPTIONS /api/schedule/all 204 0.138 ms - 0
-GET / 404 1.220 ms - 139
-GET /api/session/info 401 0.925 ms - 76
-GET /api/session/info 401 0.677 ms - 76
-GET /api/session/info 401 0.849 ms - 76
-GET /api/session/info 401 0.638 ms - 76
+GET /api/session/info 401 7.235 ms - 76
+GET /api/session/info 401 1.572 ms - 76
+GET /api/session/info 401 1.286 ms - 76
+GET /api/session/info 401 1.126 ms - 76
+GET /api/session/info 401 1.154 ms - 76
+GET /api/session/info 401 0.926 ms - 76
+GET /api/session/info 401 2.076 ms - 76
+GET /api/session/info 401 1.024 ms - 76
+GET / 404 2.809 ms - 139
+POST /sdk 404 2.633 ms - 143
+GET /nmaplowercheck1733630009 404 0.957 ms - 163
+GET / 404 0.955 ms - 139
+GET /HNAP1 404 1.213 ms - 144
+GET /evox/about 404 1.007 ms - 149
+GET / 404 1.171 ms - 139
+GET / 404 0.956 ms - 139
+GET /api/session/info 401 0.914 ms - 76
+GET /api/session/info 401 1.419 ms - 76
+GET /api/session/info 401 0.736 ms - 76
+GET /api/auth/login 302 3.018 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0Y8pXOIF2Ju3xckjh10Sjm1Kd0dcZycXQPzTOCxZrVv3oJM7H1v4TJfTlwRFxSDUw&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&authuser=0&hd=ajou.ac.kr&prompt=none 302 567.800 ms - 48
+GET /api/session/info 200 8.998 ms - 60
+GET /api/session/info 200 15.228 ms - 60
+GET /api/auth/logout 302 4.820 ms - 41
+GET /api/session/info 401 1.144 ms - 76
+GET /api/auth/login 302 1.160 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0aSNOTTxPm0d8V-mSO7PuFRiGZkFv1WWgoTGVqN41uFAQz8PupxFUtoSmm0ei6N1Q&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&authuser=0&hd=ajou.ac.kr&prompt=none 302 388.373 ms - 48
+GET /api/session/info 200 3.914 ms - 60
+GET /api/auth/logout 302 4.398 ms - 41
+GET /api/session/info 401 1.161 ms - 76
+GET /api/session/info 401 1.117 ms - 76
+GET /api/auth/login 302 1.137 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0bAWi6c7Y3IU6J6T4H5syJLynGlz8b0hEEMfcRCtXOzzE0Z_k9rNT2L2IV24m4Qbg&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=0&hd=ajou.ac.kr&prompt=none 302 418.058 ms - 48
+GET /api/session/info 200 4.195 ms - 60
+GET /api/session/info 200 17.752 ms - 60
+GET /api/session/info 200 5.411 ms - 60
+GET /api/auth/login 302 4.906 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0ZwocNVsHrI0WcG2DfMTBOziAdI5W13EEEqAxqK0GZkt9SYgmlB1YVor1Vd10yhOA&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=0&hd=ajou.ac.kr&prompt=none 302 445.216 ms - 48
+GET /api/session/info 200 5.122 ms - 60
+GET /api/session/info 200 4.660 ms - 60
+GET /api/session/info 200 4.893 ms - 60
+GET /api/auth/login 302 52.638 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0btwgAZvNqTiVMI1FzYcMyJpsq8zjkKCJWb86vQYUXKSpXG1nnJGdWjoJFSJ6ZIAw&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&authuser=0&hd=ajou.ac.kr&prompt=none 302 463.694 ms - 48
+GET /api/session/info 200 6.067 ms - 60
+GET /api/session/info 200 15.746 ms - 60
+GET /api/session/info 200 3.721 ms - 60
+GET /api/session/info 401 0.880 ms - 76
+GET /api/session/info 401 0.871 ms - 76
+GET /api/auth/login 302 0.936 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0aJ-WUyPAzU9TgwB3O4zrvADfrXVvIj7TZkKvtrnnYhpAlYTEfW3F_kLg1fwOBIpw&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=0&hd=ajou.ac.kr&prompt=none 302 420.759 ms - 48
+GET /api/session/info 200 3.693 ms - 60
+GET /api/session/info 401 0.963 ms - 76
+GET /api/session/info 401 0.876 ms - 76
+GET /api/session/info 401 0.904 ms - 76
+GET /api/session/info 401 0.898 ms - 76
+GET /api/auth/login 302 0.956 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0YORfunrW6DJxJDtYvArHupwZYA_YXrpxZ-ucXSoB7ablLuwez2PrdwMyDACWTfrg&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&authuser=0&hd=ajou.ac.kr&prompt=none 302 405.688 ms - 48
+GET /api/session/info 200 3.814 ms - 60
+GET /api/auth/logout 302 15.145 ms - 41
+GET /api/session/info 401 1.060 ms - 76
+GET /api/auth/login 302 1.116 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0at8xXw-_yVufE61kassBTRFn4ybVl2gUfWoEVEh4qMv1pV1_C3-tIXH_OVtqccXA&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&authuser=0&hd=ajou.ac.kr&prompt=none 302 416.504 ms - 48
+GET /api/session/info 200 3.844 ms - 60
+GET /api/session/info 401 1.087 ms - 76
+GET /api/session/info 401 0.899 ms - 76
+GET /api/auth/login 302 0.909 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0ayNExQE74cwz6uRTNs-Cl1t7nizv7EppTOoCMHdWhcmXC87ugbLXufp-YwfkKRCQ&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&authuser=0&hd=ajou.ac.kr&prompt=none 302 447.632 ms - 48
+GET /api/session/info 200 7.614 ms - 60
+GET /api/schedule/all 200 11.394 ms - 40
+Performance Measurement - getAllSchedules: 7.46108603477478ms
+POST /api/schedule 201 54.333 ms - 217
+Performance Measurement - createSchedule: 30.060553014278412ms
+GET /api/schedule/all 200 9.091 ms - 220
+Performance Measurement - getAllSchedules: 4.380231022834778ms
+GET /api/session/info 200 4.019 ms - 60
+GET /api/session/info 200 15.551 ms - 60
+GET /api/session/info 200 4.339 ms - 60
+GET /api/session/info 200 6.990 ms - 60
+GET /api/session/info 200 4.459 ms - 60
+GET /api/session/info 200 5.760 ms - 60
+GET /api/auth/logout 302 14.888 ms - 41
+GET /api/session/info 401 1.146 ms - 76
+GET /api/auth/login 302 1.211 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0ZdKVh0qL70I2shnUMx3d0bLsh0Ra1X-abqrZPtuPSHuLd7rt-MJwSdn5HQAvYPGg&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=0&hd=ajou.ac.kr&prompt=none 302 436.641 ms - 48
+GET /api/session/info 200 3.629 ms - 60
+GET /api/auth/logout 302 3.931 ms - 41
+GET /api/schedule/all 401 1.054 ms - 44
+GET /api/session/info 401 1.896 ms - 76
+GET /api/session/info 401 0.777 ms - 76
+GET /api/auth/login 302 0.908 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0ZCNp4N4szbUeXZ2lUSJCQxpMLt8eiqkPAjhEoU9PGzn5zCYFI1CgifDv2hyISYGg&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=1&hd=ajou.ac.kr&prompt=none 302 481.904 ms - 48
+GET /api/session/info 200 3.830 ms - 60
+GET /api/schedule/all 200 6.419 ms - 40
+Performance Measurement - getAllSchedules: 3.0510510206222534ms
+GET /api/session/info 401 0.905 ms - 76
+GET /api/schedule/all 401 0.796 ms - 44
+GET /api/session/info 401 0.844 ms - 76
+GET /api/auth/login 302 0.910 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0a7Trsso_Jp5vPrjVTErVMUoTS_hKhC3_yBILjE1k8rlhD-Av_WDxRh-DenfkBozg&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=3&hd=ajou.ac.kr&prompt=none 302 455.286 ms - 48
+GET /api/session/info 200 4.353 ms - 60
+GET /api/schedule/all 200 6.417 ms - 40
+Performance Measurement - getAllSchedules: 2.9196969866752625ms
+GET /api/schedule/all 304 56.513 ms - -
+Performance Measurement - getAllSchedules: 3.0346270203590393ms
+GET /api/session/info 200 49.415 ms - 60
+GET /api/auth/logout 302 5.237 ms - 41
+GET /api/session/info 401 1.066 ms - 76
+GET /api/auth/login 302 1.235 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0b5pX-wafAWt3GJaOQ0MuV8pxFpXzch7-iKJykw90KS3bg6rGS6c0jL_oCm0kHmfQ&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&authuser=1&hd=ajou.ac.kr&prompt=none 302 452.374 ms - 48
+GET /api/session/info 200 4.040 ms - 60
+GET /api/schedule/all 304 9.584 ms - -
+Performance Measurement - getAllSchedules: 3.8280670046806335ms
+POST /api/schedule 201 68.289 ms - 252
+Performance Measurement - createSchedule: 17.49489998817444ms
+PUT /api/schedule 200 45.097 ms - 245
+Performance Measurement - updateSchedules: 30.391826033592224ms
+GET /api/schedule/all 304 53.317 ms - -
+Performance Measurement - getAllSchedules: 3.174045979976654ms
+GET /api/session/info 200 3.974 ms - 60
+GET /api/schedule/all 304 79.820 ms - -
+Performance Measurement - getAllSchedules: 2.95797199010849ms
+GET /api/schedule/all 304 20.604 ms - -
+Performance Measurement - getAllSchedules: 3.0838510394096375ms
+GET /api/schedule/all 304 17.032 ms - -
+Performance Measurement - getAllSchedules: 2.8636720180511475ms
+GET /api/session/info 200 51.753 ms - 60
+GET /api/session/info 200 15.941 ms - 60
+GET /api/schedule/all 304 17.499 ms - -
+Performance Measurement - getAllSchedules: 2.9681079983711243ms
+GET /api/session/info 401 1.186 ms - 76
 GET /api/session/info 401 0.855 ms - 76
-GET /api/session/info 401 0.648 ms - 76
-GET /api/session/info 401 0.968 ms - 76
-GET /api/session/info 401 0.655 ms - 76
-GET /api/session/info 401 0.887 ms - 76
-GET /api/session/info 401 0.656 ms - 76
-GET /api/session/info 401 0.819 ms - 76
-GET /api/session/info 401 1.715 ms - 76
+GET /api/auth/login 302 0.895 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0Y7dXShRIVbgpwaSHziVczqtPoIhuOwyKJCOvJ_dIZDhiumR1rom85By8WaxxjpWg&scope=email+profile+openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&authuser=0&hd=ajou.ac.kr&prompt=none 302 435.368 ms - 48
+GET /api/session/info 200 5.680 ms - 60
+GET /api/schedule/all 200 6.928 ms - 220
+Performance Measurement - getAllSchedules: 3.3638980388641357ms
+GET /api/session/info 200 3.905 ms - 60
+GET /api/schedule/all 200 6.618 ms - 220
+Performance Measurement - getAllSchedules: 3.098719000816345ms
+GET /api/session/info 200 4.208 ms - 60
+GET /api/schedule/all 200 6.312 ms - 220
+Performance Measurement - getAllSchedules: 3.0304319858551025ms
+GET /api/session/info 200 4.133 ms - 60
+GET /api/schedule/all 304 16.818 ms - -
+Performance Measurement - getAllSchedules: 2.7342900037765503ms
+GET /api/session/info 200 3.863 ms - 60
+GET /api/session/info 200 5.731 ms - 60
+GET /api/schedule/all 304 8.387 ms - -
+Performance Measurement - getAllSchedules: 4.900808036327362ms
+GET /api/session/info 200 3.961 ms - 60
+GET /api/schedule/all 304 53.173 ms - -
+Performance Measurement - getAllSchedules: 4.181941032409668ms
+GET /api/session/info 200 16.906 ms - 60
+GET /api/session/info 200 4.159 ms - 60
+GET /api/session/info 200 3.919 ms - 60
+GET /api/session/info 200 3.858 ms - 60
+GET /api/auth/logout 302 3.870 ms - 41
+GET /api/session/info 401 1.174 ms - 76
+GET /api/auth/login 302 1.067 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0ZFplLpLXFzjTreoRr9XOFIdylMGvmTIJ9Z-8W3v8J-PXsC1WR3mrhEDMP8u8ISwg&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=0&hd=ajou.ac.kr&prompt=none 302 456.648 ms - 48
+GET /api/session/info 200 3.714 ms - 60
+GET /api/schedule/all 304 8.904 ms - -
+Performance Measurement - getAllSchedules: 3.3655150532722473ms
+GET /api/session/info 200 3.904 ms - 60
+GET /api/schedule/all 304 6.538 ms - -
+Performance Measurement - getAllSchedules: 3.2424970269203186ms
+GET /api/session/info 200 4.546 ms - 60
+GET /api/session/info 200 14.706 ms - 60
+GET /api/auth/logout 302 3.760 ms - 41
+GET /api/auth/login 302 1.096 ms - 0
+GET /api/auth/google/callback?code=4%2F0AeanS0a9isaZiqiZyAFoW3OCrs683FSO5wYZOZICruNlDnpbD6zQOwT9wly7fZ3akJHglQ&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=3&hd=ajou.ac.kr&prompt=none 302 416.843 ms - 48
+GET /api/session/info 200 3.936 ms - 60
+GET /api/schedule/all 304 6.114 ms - -
+Performance Measurement - getAllSchedules: 2.7020570039749146ms
+POST /api/schedule 201 32.875 ms - 238
+Performance Measurement - createSchedule: 17.89035999774933ms
+POST /api/schedule 201 27.971 ms - 251
+Performance Measurement - createSchedule: 14.455415964126587ms
+POST /api/schedule 201 24.014 ms - 277
+Performance Measurement - createSchedule: 10.122812986373901ms
+DELETE /api/schedule 200 28.079 ms - 84
+Performance Measurement - deleteSchedules: 13.639528036117554ms
+GET /api/schedule/all 200 6.512 ms - 456
+Performance Measurement - getAllSchedules: 3.6543020009994507ms
+POST /api/schedule 201 26.599 ms - 237
+Performance Measurement - createSchedule: 12.827956020832062ms
+GET /api/session/info 200 51.064 ms - 60
+GET /api/schedule/all 200 16.479 ms - 657
+Performance Measurement - getAllSchedules: 3.5523930191993713ms
+GET /api/session/info 200 21.419 ms - 60
+GET /api/session/info 200 26.999 ms - 60
+GET /api/chat/rooms 200 34.768 ms - 2
+GET /api/session/info 200 4.844 ms - 60
+GET /api/chat/rooms 304 11.480 ms - -
+GET /api/session/info 200 4.055 ms - 60
+GET /api/session/info 200 4.097 ms - 60
+GET /api/session/info 200 7.407 ms - 60
+GET /api/session/info 200 6.633 ms - 60
+GET /api/session/info 200 7.149 ms - 60
+GET /api/schedule/all 200 6.983 ms - 220
+Performance Measurement - getAllSchedules: 3.386197030544281ms
+GET /api/session/info 200 6.139 ms - 60
+GET /api/chat/rooms 200 13.986 ms - 2
+POST /api/schedule 201 17.101 ms - 202
+Performance Measurement - createSchedule: 13.091067969799042ms
+POST /api/schedule 201 14.599 ms - 205
+Performance Measurement - createSchedule: 10.717601954936981ms
+GET /api/schedule 404 17.100 ms - 151
+GET /api/session/info 200 16.750 ms - 60
+GET /api/chat/rooms 200 23.408 ms - 2
+GET /api/schedule/all 200 7.910 ms - 220
+Performance Measurement - getAllSchedules: 3.159197986125946ms
+GET /api/meeting 401 0.827 ms - 44
+GET /api/auth/logout 302 0.911 ms - 41
+GET /api/session/info 401 0.855 ms - 76
+GET /api/auth/login 302 0.998 ms - 0
+GET /api/session/info 200 16.747 ms - 60
+GET /api/session/info 200 9.338 ms - 60
+GET /api/chat/rooms 200 15.884 ms - 2
+GET /api/schedule/all 200 8.682 ms - 220
+Performance Measurement - getAllSchedules: 5.216198980808258ms
+GET /api/session/info 200 17.533 ms - 60
+GET /api/chat/rooms 200 22.089 ms - 2
+GET /api/session/info 401 0.888 ms - 76
+GET /api/session/info 401 0.773 ms - 76
+GET /api/session/info 401 0.844 ms - 76
+GET /api/session/info 401 0.632 ms - 76
+GET /api/session/info 200 46.849 ms - 60
+GET /api/chat/rooms 200 56.198 ms - 2
+GET /api/session/info 401 0.963 ms - 76
+GET /api/session/info 401 0.604 ms - 76
 GET /api/session/info 401 0.859 ms - 76
-GET /api/session/info 401 0.650 ms - 76
+GET /api/session/info 401 0.639 ms - 76
+GET /api/session/info 401 0.846 ms - 76
+GET /api/session/info 401 0.662 ms - 76
+GET /api/session/info 401 0.844 ms - 76
+GET /api/session/info 401 0.957 ms - 76
+GET /api/session/info 401 0.788 ms - 76
+GET /api/session/info 401 0.617 ms - 76
+GET /api/session/info 401 0.870 ms - 76
+GET /api/session/info 401 0.857 ms - 76
+GET /api/session/info 401 0.886 ms - 76
+GET /api/session/info 401 0.687 ms - 76
+GET /api/session/info 401 0.870 ms - 76
+GET /api/session/info 401 0.659 ms - 76
+GET /api/session/info 401 0.922 ms - 76
 GET /api/session/info 401 0.920 ms - 76
-GET /api/session/info 401 0.627 ms - 76
-GET /api/session/info 401 0.831 ms - 76
-GET /api/session/info 401 0.645 ms - 76
-GET /api/session/info 401 0.845 ms - 76
-GET /api/session/info 401 0.624 ms - 76
-GET / 404 1.042 ms - 139
-GET /api/session/info 401 0.793 ms - 76
-GET /api/session/info 401 0.580 ms - 76
-GET /api/session/info 401 0.806 ms - 76
-GET /api/session/info 401 0.606 ms - 76
-GET /api/session/info 401 0.829 ms - 76
-GET /api/session/info 401 0.609 ms - 76
-OPTIONS /api/schedule/all 204 0.618 ms - 0
-OPTIONS /api/schedule/all 204 0.140 ms - 0
-GET /api/schedule/all 401 0.903 ms - 44
-GET /api/schedule/96 401 0.846 ms - 44
-GET /api/schedule/194 401 0.764 ms - 44
-GET /api/schedule/194 401 0.868 ms - 44
-GET /api/schedule/97 401 0.827 ms - 44
-GET /api/schedule/96 401 0.850 ms - 44
-OPTIONS /api/schedule/all 204 0.234 ms - 0
-OPTIONS /api/schedule/all 204 0.167 ms - 0
-OPTIONS /api/schedule/192 204 0.192 ms - 0
-OPTIONS /api/schedule/192 204 0.188 ms - 0
-OPTIONS /api/schedule/290 204 0.188 ms - 0
-OPTIONS /api/schedule/290 204 0.189 ms - 0
-OPTIONS /api/schedule/290 204 0.165 ms - 0
-OPTIONS /api/schedule/all 204 0.202 ms - 0
-OPTIONS /api/schedule/289 204 0.194 ms - 0
-OPTIONS /api/schedule/289 204 0.227 ms - 0
-OPTIONS /api/schedule/289 204 0.162 ms - 0
-OPTIONS /api/schedule/290 204 0.166 ms - 0
-OPTIONS /api/schedule/291 204 0.167 ms - 0
-OPTIONS /api/schedule/291 204 0.166 ms - 0
-OPTIONS /api/schedule/290 204 0.160 ms - 0
-OPTIONS /api/schedule/288 204 0.164 ms - 0
-OPTIONS /api/schedule/290 204 0.167 ms - 0
-OPTIONS /api/schedule/291 204 0.205 ms - 0
-OPTIONS /api/schedule/291 204 0.188 ms - 0
-OPTIONS /api/schedule/290 204 0.178 ms - 0
-OPTIONS /api/schedule/289 204 0.168 ms - 0
-OPTIONS /api/schedule/290 204 0.177 ms - 0
-OPTIONS /api/schedule/289 204 0.166 ms - 0
-OPTIONS /api/schedule 204 0.189 ms - 0
-OPTIONS /api/schedule/289 204 0.168 ms - 0
-OPTIONS /api/schedule/288 204 0.222 ms - 0
-OPTIONS /api/schedule/290 204 0.179 ms - 0
-OPTIONS /api/schedule/292 204 0.160 ms - 0
-OPTIONS /api/schedule/293 204 0.165 ms - 0
-OPTIONS /api/schedule/all 204 0.176 ms - 0
-OPTIONS /api/schedule/36 204 0.178 ms - 0
-OPTIONS /api/schedule/38 204 0.161 ms - 0
-OPTIONS /api/schedule/38 204 0.172 ms - 0
-OPTIONS /api/schedule/38 204 0.157 ms - 0
-OPTIONS /api/schedule/38 204 0.191 ms - 0
-OPTIONS /api/schedule/38 204 0.165 ms - 0
-OPTIONS /api/schedule/38 204 0.184 ms - 0
-OPTIONS /api/schedule/38 204 0.168 ms - 0
-OPTIONS /api/schedule/38 204 0.217 ms - 0
-OPTIONS /api/schedule/all 204 0.164 ms - 0
-OPTIONS /api/schedule/36 204 0.165 ms - 0
-OPTIONS /api/schedule/37 204 0.160 ms - 0
-OPTIONS /api/schedule/36 204 0.178 ms - 0
-GET /api/schedule/193 401 1.087 ms - 44
-GET /api/schedule/193 401 0.785 ms - 44
-GET /api/schedule/195 401 0.850 ms - 44
-GET /api/schedule/1 401 0.814 ms - 44
-GET /api/schedule/0 401 0.795 ms - 44
-GET /api/schedule/0 401 0.825 ms - 44
-GET /api/schedule/96 401 0.854 ms - 44
-GET /api/schedule/289 401 0.824 ms - 44
-GET /api/session/info 401 0.858 ms - 76
-GET /api/auth/login 302 1.424 ms - 0
-GET /api/auth/google/callback?code=4%2F0AeanS0a4gqvuMrxTHLniakI-_oHdDI0RHY_4-82ZXsaIAKdM53z4nPcgFGUOJjD4FJwRBw&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=1&hd=ajou.ac.kr&prompt=none 302 508.556 ms - 48
-GET /api/schedule/all 304 11.134 ms - -
-Performance Measurement - getAllSchedules: 5.014769017696381ms
-GET /api/schedule/97 304 10.607 ms - -
-Performance Measurement - getScheduleByTimeIdx: 7.154272973537445ms
-GET /api/schedule/101 200 6.849 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.534310042858124ms
-GET /api/schedule/100 200 6.679 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.2747740149497986ms
-GET /api/schedule/99 304 7.228 ms - -
-Performance Measurement - getScheduleByTimeIdx: 3.805077016353607ms
-GET /api/schedule/99 304 9.589 ms - -
-Performance Measurement - getScheduleByTimeIdx: 5.2810059785842896ms
-GET /api/schedule/99 304 6.405 ms - -
-Performance Measurement - getScheduleByTimeIdx: 3.1567789912223816ms
-GET /api/schedule/98 304 7.002 ms - -
-Performance Measurement - getScheduleByTimeIdx: 3.5950030088424683ms
-GET /api/schedule/97 304 6.705 ms - -
-Performance Measurement - getScheduleByTimeIdx: 3.2245330214500427ms
-GET /api/schedule/97 304 6.217 ms - -
-Performance Measurement - getScheduleByTimeIdx: 2.99965101480484ms
-GET /api/schedule/2 200 6.568 ms - 26
-Performance Measurement - getScheduleByTimeIdx: 3.2004200220108032ms
-OPTIONS /api/schedule/all 204 0.166 ms - 0
-OPTIONS /api/schedule 204 0.174 ms - 0
-OPTIONS /api/schedule 204 0.179 ms - 0
-OPTIONS /api/schedule 204 0.232 ms - 0
-OPTIONS /api/schedule/all 204 0.164 ms - 0
-OPTIONS /api/schedule/all 204 0.167 ms - 0
-GET / 404 1.022 ms - 139
-GET /api/session/info 401 0.816 ms - 76
-GET /api/session/info 401 1.325 ms - 76
-GET /api/session/info 401 0.832 ms - 76
-GET /api/session/info 401 0.603 ms - 76
-GET /api/session/info 401 0.819 ms - 76
-GET /api/session/info 401 0.556 ms - 76
-OPTIONS /api/schedule/all 204 0.161 ms - 0
-OPTIONS /api/schedule/all 204 0.124 ms - 0
-OPTIONS /api/schedule 204 0.164 ms - 0
-GET /api/session/info 401 0.837 ms - 76
-GET /api/session/info 401 0.648 ms - 76
-GET /api/session/info 401 0.810 ms - 76
-GET /api/auth/login 302 1.089 ms - 0
-GET /api/auth/google/callback?code=4%2F0AeanS0box5WHb-IhXbrmGgpDAMMr3rQ5vv45X8p-FJJM90Ts4qDwFayGUeisJmPZIsW9ew&scope=email+profile+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile+openid&authuser=0&hd=ajou.ac.kr&prompt=none 302 478.464 ms - 48
-GET /api/session/info 200 7.699 ms - 58
-GET /api/schedule/all 200 6.802 ms - 40
-Performance Measurement - getAllSchedules: 3.283160984516144ms
-POST /api/schedule 201 33.080 ms - 194
-Performance Measurement - createSchedule: 19.97666096687317ms
-PUT /api/schedule 200 44.680 ms - 202
-Performance Measurement - updateSchedules: 28.161078989505768ms
-Performance Measurement - deleteSchedules: 2.5363460183143616ms
-DELETE /api/schedule 404 7.058 ms - 115
-Performance Measurement - deleteSchedules: 0.8580690026283264ms
-DELETE /api/schedule 404 5.339 ms - 115
-Performance Measurement - deleteSchedules: 0.5973520278930664ms
-DELETE /api/schedule 404 5.281 ms - 115
-GET /api/schedule/all 200 38.467 ms - 205
-Performance Measurement - getAllSchedules: 12.194466054439545ms
-DELETE /api/schedule 200 14.795 ms - 84
-Performance Measurement - deleteSchedules: 10.980576992034912ms
-GET /api/schedule/all 200 5.511 ms - 40
-Performance Measurement - getAllSchedules: 2.713946044445038ms
-GET /api/session/info 200 50.557 ms - 58
-GET / 404 1.050 ms - 139
+GET /api/session/info 401 0.857 ms - 76
+GET /api/session/info 401 0.602 ms - 76
+GET /api/session/info 401 0.960 ms - 76
+GET /api/session/info 401 0.651 ms - 76
+GET /api/session/info 401 0.834 ms - 76
+GET /api/session/info 401 0.878 ms - 76
+GET /api/session/info 401 0.900 ms - 76
+GET /api/session/info 401 0.896 ms - 76
+GET /api/meeting 401 0.845 ms - 44
+GET /api/session/info 401 0.916 ms - 76
+GET /api/session/info 401 0.865 ms - 76
+GET /api/session/info 401 0.855 ms - 76
+GET / 404 0.919 ms - 139
+GET /api/session/info 401 0.801 ms - 76
+GET /api/session/info 401 0.893 ms - 76
+GET /api/session/info 401 0.859 ms - 76
+GET /api/session/info 401 0.874 ms - 76
+GET /api/session/info 401 0.813 ms - 76
+GET /api/session/info 401 0.822 ms - 76
+GET /api/session/info 401 0.904 ms - 76
+GET /api/session/info 401 0.874 ms - 76
+GET /api/session/info 401 0.792 ms - 76
+OPTIONS /api/schedule/all 204 0.443 ms - 0
+OPTIONS /api/schedule/all 204 0.139 ms - 0
+OPTIONS /api/schedule 204 0.190 ms - 0
+GET /api/session/info 401 0.877 ms - 76
+GET /api/session/info 401 0.634 ms - 76
+GET /api/session/info 401 0.906 ms - 76
+GET /api/session/info 401 0.744 ms - 76
+GET /api/session/info 401 0.853 ms - 76
+GET /api/session/info 401 0.637 ms - 76
+GET /api/session/info 401 0.931 ms - 76
+GET /api/session/info 401 2.110 ms - 76
diff --git a/package-lock.json b/package-lock.json
index 606fda2..802c64f 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -11,6 +11,7 @@
       "dependencies": {
         "amqplib": "^0.10.5",
         "connect-flash": "^0.1.1",
+        "connect-mongo": "^5.1.0",
         "cookie-parser": "^1.4.7",
         "cors": "^2.8.5",
         "dotenv": "^16.4.5",
@@ -253,7 +254,7 @@
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz",
       "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha256-js": "^5.2.0",
@@ -269,7 +270,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
       "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -282,7 +283,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
       "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/is-array-buffer": "^2.2.0",
@@ -296,7 +297,7 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
       "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/util-buffer-from": "^2.2.0",
@@ -310,7 +311,7 @@
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz",
       "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/util": "^5.2.0",
@@ -325,7 +326,7 @@
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz",
       "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -335,7 +336,7 @@
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz",
       "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "^3.222.0",
@@ -347,7 +348,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
       "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -360,7 +361,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
       "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/is-array-buffer": "^2.2.0",
@@ -374,7 +375,7 @@
       "version": "2.3.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
       "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/util-buffer-from": "^2.2.0",
@@ -443,7 +444,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/client-cognito-identity/-/client-cognito-identity-3.693.0.tgz",
       "integrity": "sha512-WfycTcylmrSOnCN8x/xeIjHa4gIV4UhG85LWLZ3M4US8+HJQ8l4c4WUf+pUoTaSxN86vhbXlz0iRvA89nF854Q==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha256-browser": "5.2.0",
@@ -496,7 +497,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.693.0.tgz",
       "integrity": "sha512-QEynrBC26x6TG9ZMzApR/kZ3lmt4lEIs2D+cHuDxt6fDGzahBUsQFBwJqhizzsM97JJI5YvmJhmihoYjdSSaXA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha256-browser": "5.2.0",
@@ -546,7 +547,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.693.0.tgz",
       "integrity": "sha512-UEDbYlYtK/e86OOMyFR4zEPyenIxDzO2DRdz3fwVW7RzZ94wfmSwBh/8skzPTuY1G7sI064cjHW0b0QG01Sdtg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha256-browser": "5.2.0",
@@ -600,7 +601,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.693.0.tgz",
       "integrity": "sha512-4S2y7VEtvdnjJX4JPl4kDQlslxXEZFnC50/UXVUYSt/AMc5A/GgspFNA5FVz4E3Gwpfobbf23hR2NBF8AGvYoQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-crypto/sha256-browser": "5.2.0",
@@ -652,7 +653,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.693.0.tgz",
       "integrity": "sha512-v6Z/kWmLFqRLDPEwl9hJGhtTgIFHjZugSfF1Yqffdxf4n1AWgtHS7qSegakuMyN5pP4K2tvUD8qHJ+gGe2Bw2A==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.692.0",
@@ -675,7 +676,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-cognito-identity/-/credential-provider-cognito-identity-3.693.0.tgz",
       "integrity": "sha512-hlpV3tkOhpFl87aToH6Q6k7JBNNuARBPk+irPMtgE8ZqpYRP9tJ/RXftirzZ7CqSzc7NEWe/mnbJzRXw7DfgVQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/client-cognito-identity": "3.693.0",
@@ -692,7 +693,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.693.0.tgz",
       "integrity": "sha512-hMUZaRSF7+iBKZfBHNLihFs9zvpM1CB8MBOTnTp5NGCVkRYF3SB2LH+Kcippe0ats4qCyB1eEoyQX99rERp2iQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/core": "3.693.0",
@@ -709,7 +710,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.693.0.tgz",
       "integrity": "sha512-sL8MvwNJU7ZpD7/d2VVb3by1GknIJUxzTIgYtVkDVA/ojo+KRQSSHxcj0EWWXF5DTSh2Tm+LrEug3y1ZyKHsDA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/core": "3.693.0",
@@ -731,7 +732,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.693.0.tgz",
       "integrity": "sha512-kvaa4mXhCCOuW7UQnBhYqYfgWmwy7WSBSDClutwSLPZvgrhYj2l16SD2lN4IfYdxARYMJJ1lFYp3/jJG/9Yk4Q==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/core": "3.693.0",
@@ -758,7 +759,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.693.0.tgz",
       "integrity": "sha512-42WMsBjTNnjYxYuM3qD/Nq+8b7UdMopUq5OduMDxoM3mFTV6PXMMnfI4Z1TNnR4tYRvPXAnuNltF6xmjKbSJRA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/credential-provider-env": "3.693.0",
@@ -782,7 +783,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.693.0.tgz",
       "integrity": "sha512-cvxQkrTWHHjeHrPlj7EWXPnFSq8x7vMx+Zn1oTsMpCY445N9KuzjfJTkmNGwU2GT6rSZI9/0MM02aQvl5bBBTQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/core": "3.693.0",
@@ -800,7 +801,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.693.0.tgz",
       "integrity": "sha512-479UlJxY+BFjj3pJFYUNC0DCMrykuG7wBAXfsvZqQxKUa83DnH5Q1ID/N2hZLkxjGd4ZW0AC3lTOMxFelGzzpQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/client-sso": "3.693.0",
@@ -820,7 +821,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.693.0.tgz",
       "integrity": "sha512-8LB210Pr6VeCiSb2hIra+sAH4KUBLyGaN50axHtIgufVK8jbKIctTZcVY5TO9Se+1107TsruzeXS7VeqVdJfFA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/core": "3.693.0",
@@ -840,7 +841,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/credential-providers/-/credential-providers-3.693.0.tgz",
       "integrity": "sha512-0CCH8GuH1E41Kpq52NujErbUIRewDWLkdbYO8UJGybDbUQ8KC5JG1tP7K20tKYHmVgJGXDHo+XUIG7ogHD6/JA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/client-cognito-identity": "3.693.0",
@@ -869,7 +870,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.693.0.tgz",
       "integrity": "sha512-BCki6sAZ5jYwIN/t3ElCiwerHad69ipHwPsDCxJQyeiOnJ8HG+lEpnVIfrnI8A0fLQNSF3Gtx6ahfBpKiv1Oug==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.692.0",
@@ -885,7 +886,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.693.0.tgz",
       "integrity": "sha512-dXnXDPr+wIiJ1TLADACI1g9pkSB21KkMIko2u4CJ2JCBoxi5IqeTnVoa6YcC8GdFNVRl+PorZ3Zqfmf1EOTC6w==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.692.0",
@@ -900,7 +901,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.693.0.tgz",
       "integrity": "sha512-0LDmM+VxXp0u3rG0xQRWD/q6Ubi7G8I44tBPahevD5CaiDZTkmNTrVUf0VEJgVe0iCKBppACMBDkLB0/ETqkFw==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.692.0",
@@ -916,7 +917,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.693.0.tgz",
       "integrity": "sha512-/KUq/KEpFFbQmNmpp7SpAtFAdViquDfD2W0QcG07zYBfz9MwE2ig48ALynXm5sMpRmnG7sJXjdvPtTsSVPfkiw==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/core": "3.693.0",
@@ -935,7 +936,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.693.0.tgz",
       "integrity": "sha512-YLUkMsUY0GLW/nfwlZ69cy1u07EZRmsv8Z9m0qW317/EZaVx59hcvmcvb+W4bFqj5E8YImTjoGfE4cZ0F9mkyw==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.692.0",
@@ -953,7 +954,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.693.0.tgz",
       "integrity": "sha512-nDBTJMk1l/YmFULGfRbToOA2wjf+FkQT4dMgYCv+V9uSYsMzQj8A7Tha2dz9yv4vnQgYaEiErQ8d7HVyXcVEoA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.692.0",
@@ -973,7 +974,7 @@
       "version": "3.692.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.692.0.tgz",
       "integrity": "sha512-RpNvzD7zMEhiKgmlxGzyXaEcg2khvM7wd5sSHVapOcrde1awQSOMGI4zKBQ+wy5TnDfrm170ROz/ERLYtrjPZA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.0",
@@ -987,7 +988,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.693.0.tgz",
       "integrity": "sha512-eo4F6DRQ/kxS3gxJpLRv+aDNy76DxQJL5B3DPzpr9Vkq0ygVoi4GT5oIZLVaAVIJmi6k5qq9dLsYZfWLUxJJSg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.692.0",
@@ -1003,7 +1004,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.693.0.tgz",
       "integrity": "sha512-ttrag6haJLWABhLqtg1Uf+4LgHWIMOVSYL+VYZmAp2v4PUGOwWmWQH0Zk8RM7YuQcLfH/EoR72/Yxz6A4FKcuw==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -1016,7 +1017,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.693.0.tgz",
       "integrity": "sha512-6EUfuKOujtddy18OLJUaXfKBgs+UcbZ6N/3QV4iOkubCUdeM1maIqs++B9bhCbWeaeF5ORizJw5FTwnyNjE/mw==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/types": "3.692.0",
@@ -1029,7 +1030,7 @@
       "version": "3.693.0",
       "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.693.0.tgz",
       "integrity": "sha512-td0OVX8m5ZKiXtecIDuzY3Y3UZIzvxEr57Hp21NOwieqKCG2UeyQWWeGPv0FQaU7dpTkvFmVNI+tx9iB8V/Nhg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@aws-sdk/middleware-user-agent": "3.693.0",
@@ -3816,7 +3817,6 @@
       "version": "1.1.9",
       "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.9.tgz",
       "integrity": "sha512-tVkljjeEaAhCqTzajSdgbQ6gE6f3oneVwa3iXR6csiEwXXOFsiC6Uh9iAjAhXPtqa/XMDHWjjeNH/77m/Yq2dw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "sparse-bitfield": "^3.0.3"
@@ -5616,7 +5616,7 @@
       "version": "3.1.8",
       "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-3.1.8.tgz",
       "integrity": "sha512-+3DOBcUn5/rVjlxGvUPKc416SExarAQ+Qe0bqk30YSUjbepwpS7QN0cyKUSifvLJhdMZ0WPzPP5ymut0oonrpQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5630,7 +5630,7 @@
       "version": "3.0.12",
       "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-3.0.12.tgz",
       "integrity": "sha512-YAJP9UJFZRZ8N+UruTeq78zkdjUHmzsY62J4qKWZ4SXB4QXJ/+680EfXXgkYA2xj77ooMqtUY9m406zGNqwivQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/node-config-provider": "^3.1.11",
@@ -5647,7 +5647,7 @@
       "version": "2.5.3",
       "resolved": "https://registry.npmjs.org/@smithy/core/-/core-2.5.3.tgz",
       "integrity": "sha512-96uW8maifUSmehaeW7uydWn7wBc98NEeNI3zN8vqakGpyCQgzyJaA64Z4FCOUmAdCJkhppd/7SZ798Fo4Xx37g==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/middleware-serde": "^3.0.10",
@@ -5667,7 +5667,7 @@
       "version": "3.2.7",
       "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-3.2.7.tgz",
       "integrity": "sha512-cEfbau+rrWF8ylkmmVAObOmjbTIzKyUC5TkBL58SbLywD0RCBC4JAUKbmtSm2w5KUJNRPGgpGFMvE2FKnuNlWQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/node-config-provider": "^3.1.11",
@@ -5684,7 +5684,7 @@
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-4.1.1.tgz",
       "integrity": "sha512-bH7QW0+JdX0bPBadXt8GwMof/jz0H28I84hU1Uet9ISpzUqXqRQ3fEZJ+ANPOhzSEczYvANNl3uDQDYArSFDtA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/protocol-http": "^4.1.7",
@@ -5698,7 +5698,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-3.0.10.tgz",
       "integrity": "sha512-3zWGWCHI+FlJ5WJwx73Mw2llYR8aflVyZN5JhoqLxbdPZi6UyKSdCeXAWJw9ja22m6S6Tzz1KZ+kAaSwvydi0g==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5714,7 +5714,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-3.0.10.tgz",
       "integrity": "sha512-Lp2L65vFi+cj0vFMu2obpPW69DU+6O5g3086lmI4XcnRCG8PxvpWC7XyaVwJCxsZFzueHjXnrOH/E0pl0zikfA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5725,7 +5725,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-3.0.0.tgz",
       "integrity": "sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -5760,7 +5760,7 @@
       "version": "3.0.12",
       "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-3.0.12.tgz",
       "integrity": "sha512-1mDEXqzM20yywaMDuf5o9ue8OkJ373lSPbaSjyEvkWdqELhFMyNNgKGWL/rCSf4KME8B+HlHKuR8u9kRj8HzEQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/protocol-http": "^4.1.7",
@@ -5775,7 +5775,7 @@
       "version": "3.2.3",
       "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-3.2.3.tgz",
       "integrity": "sha512-Hdl9296i/EMptaX7agrSzJZDiz5Y8XPUeBbctTmMtnCguGpqfU3jVsTUan0VLaOhsnquqWLL8Bl5HrlbVGT1og==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/core": "^2.5.3",
@@ -5795,7 +5795,7 @@
       "version": "3.0.27",
       "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-3.0.27.tgz",
       "integrity": "sha512-H3J/PjJpLL7Tt+fxDKiOD25sMc94YetlQhCnYeNmina2LZscAdu0ZEZPas/kwePHABaEtqp7hqa5S4UJgMs1Tg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/node-config-provider": "^3.1.11",
@@ -5816,7 +5816,7 @@
       "version": "9.0.1",
       "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
       "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
-      "dev": true,
+      "devOptional": true,
       "funding": [
         "https://github.com/sponsors/broofa",
         "https://github.com/sponsors/ctavan"
@@ -5830,7 +5830,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-3.0.10.tgz",
       "integrity": "sha512-MnAuhh+dD14F428ubSJuRnmRsfOpxSzvRhaGVTvd/lrUDE3kxzCCmH8lnVTvoNQnV2BbJ4c15QwZ3UdQBtFNZA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5844,7 +5844,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-3.0.10.tgz",
       "integrity": "sha512-grCHyoiARDBBGPyw2BeicpjgpsDFWZZxptbVKb3CRd/ZA15F/T6rZjCCuBUjJwdck1nwUuIxYtsS4H9DDpbP5w==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5858,7 +5858,7 @@
       "version": "3.1.11",
       "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-3.1.11.tgz",
       "integrity": "sha512-URq3gT3RpDikh/8MBJUB+QGZzfS7Bm6TQTqoh4CqE8NBuyPkWa5eUXj0XFcFfeZVgg3WMh1u19iaXn8FvvXxZw==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/property-provider": "^3.1.10",
@@ -5874,7 +5874,7 @@
       "version": "3.3.1",
       "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-3.3.1.tgz",
       "integrity": "sha512-fr+UAOMGWh6bn4YSEezBCpJn9Ukp9oR4D32sCjCo7U81evE11YePOQ58ogzyfgmjIO79YeOdfXXqr0jyhPQeMg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/abort-controller": "^3.1.8",
@@ -5891,7 +5891,7 @@
       "version": "3.1.10",
       "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-3.1.10.tgz",
       "integrity": "sha512-n1MJZGTorTH2DvyTVj+3wXnd4CzjJxyXeOgnTlgNVFxaaMeT4OteEp4QrzF8p9ee2yg42nvyVK6R/awLCakjeQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5905,7 +5905,7 @@
       "version": "4.1.7",
       "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-4.1.7.tgz",
       "integrity": "sha512-FP2LepWD0eJeOTm0SjssPcgqAlDFzOmRXqXmGhfIM52G7Lrox/pcpQf6RP4F21k0+O12zaqQt5fCDOeBtqY6Cg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5919,7 +5919,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-3.0.10.tgz",
       "integrity": "sha512-nT9CQF3EIJtIUepXQuBFb8dxJi3WVZS3XfuDksxSCSn+/CzZowRLdhDn+2acbBv8R6eaJqPupoI/aRFIImNVPQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5934,7 +5934,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-3.0.10.tgz",
       "integrity": "sha512-Oa0XDcpo9SmjhiDD9ua2UyM3uU01ZTuIrNdZvzwUTykW1PM8o2yJvMh1Do1rY5sUQg4NDV70dMi0JhDx4GyxuQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5948,7 +5948,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-3.0.10.tgz",
       "integrity": "sha512-zHe642KCqDxXLuhs6xmHVgRwy078RfqxP2wRDpIyiF8EmsWXptMwnMwbVa50lw+WOGNrYm9zbaEg0oDe3PTtvQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1"
@@ -5961,7 +5961,7 @@
       "version": "3.1.11",
       "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-3.1.11.tgz",
       "integrity": "sha512-AUdrIZHFtUgmfSN4Gq9nHu3IkHMa1YDcN+s061Nfm+6pQ0mJy85YQDB0tZBCmls0Vuj22pLwDPmL92+Hvfwwlg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -5975,7 +5975,7 @@
       "version": "4.2.3",
       "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-4.2.3.tgz",
       "integrity": "sha512-pPSQQ2v2vu9vc8iew7sszLd0O09I5TRc5zhY71KA+Ao0xYazIG+uLeHbTJfIWGO3BGVLiXjUr3EEeCcEQLjpWQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/is-array-buffer": "^3.0.0",
@@ -5995,7 +5995,7 @@
       "version": "3.4.4",
       "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-3.4.4.tgz",
       "integrity": "sha512-dPGoJuSZqvirBq+yROapBcHHvFjChoAQT8YPWJ820aPHHiowBlB3RL1Q4kPT1hx0qKgJuf+HhyzKi5Gbof4fNA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/core": "^2.5.3",
@@ -6014,7 +6014,7 @@
       "version": "3.7.1",
       "resolved": "https://registry.npmjs.org/@smithy/types/-/types-3.7.1.tgz",
       "integrity": "sha512-XKLcLXZY7sUQgvvWyeaL/qwNPp6V3dWcUjqrQKjSb+tzYiCy340R/c64LV5j+Tnb2GhmunEX0eou+L+m2hJNYA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -6027,7 +6027,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-3.0.10.tgz",
       "integrity": "sha512-j90NUalTSBR2NaZTuruEgavSdh8MLirf58LoGSk4AtQfyIymogIhgnGUU2Mga2bkMkpSoC9gxb74xBXL5afKAQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/querystring-parser": "^3.0.10",
@@ -6039,7 +6039,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-3.0.0.tgz",
       "integrity": "sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/util-buffer-from": "^3.0.0",
@@ -6054,7 +6054,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-3.0.0.tgz",
       "integrity": "sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -6064,7 +6064,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-3.0.0.tgz",
       "integrity": "sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -6077,7 +6077,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-3.0.0.tgz",
       "integrity": "sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/is-array-buffer": "^3.0.0",
@@ -6091,7 +6091,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-3.0.0.tgz",
       "integrity": "sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -6104,7 +6104,7 @@
       "version": "3.0.27",
       "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-3.0.27.tgz",
       "integrity": "sha512-GV8NvPy1vAGp7u5iD/xNKUxCorE4nQzlyl057qRac+KwpH5zq8wVq6rE3lPPeuFLyQXofPN6JwxL1N9ojGapiQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/property-provider": "^3.1.10",
@@ -6121,7 +6121,7 @@
       "version": "3.0.27",
       "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-3.0.27.tgz",
       "integrity": "sha512-7+4wjWfZqZxZVJvDutO+i1GvL6bgOajEkop4FuR6wudFlqBiqwxw3HoH6M9NgeCd37km8ga8NPp2JacQEtAMPg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/config-resolver": "^3.0.12",
@@ -6140,7 +6140,7 @@
       "version": "2.1.6",
       "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-2.1.6.tgz",
       "integrity": "sha512-mFV1t3ndBh0yZOJgWxO9J/4cHZVn5UG1D8DeCc6/echfNkeEJWu9LD7mgGH5fHrEdR7LDoWw7PQO6QiGpHXhgA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/node-config-provider": "^3.1.11",
@@ -6155,7 +6155,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-3.0.0.tgz",
       "integrity": "sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -6168,7 +6168,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-3.0.10.tgz",
       "integrity": "sha512-eJO+/+RsrG2RpmY68jZdwQtnfsxjmPxzMlQpnHKjFPwrYqvlcT+fHdT+ZVwcjlWSrByOhGr9Ff2GG17efc192A==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/types": "^3.7.1",
@@ -6182,7 +6182,7 @@
       "version": "3.0.10",
       "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-3.0.10.tgz",
       "integrity": "sha512-1l4qatFp4PiU6j7UsbasUHL2VU023NRB/gfaa1M0rDqVrRN4g3mCArLRyH3OuktApA4ye+yjWQHjdziunw2eWA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/service-error-classification": "^3.0.10",
@@ -6197,7 +6197,7 @@
       "version": "3.3.1",
       "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-3.3.1.tgz",
       "integrity": "sha512-Ff68R5lJh2zj+AUTvbAU/4yx+6QPRzg7+pI7M1FbtQHcRIp7xvguxVsQBKyB3fwiOwhAKu0lnNyYBaQfSW6TNw==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/fetch-http-handler": "^4.1.1",
@@ -6217,7 +6217,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-3.0.0.tgz",
       "integrity": "sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "tslib": "^2.6.2"
@@ -6230,7 +6230,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-3.0.0.tgz",
       "integrity": "sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==",
-      "dev": true,
+      "devOptional": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@smithy/util-buffer-from": "^3.0.0",
@@ -7287,14 +7287,12 @@
       "version": "7.0.3",
       "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz",
       "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/@types/whatwg-url": {
       "version": "11.0.5",
       "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz",
       "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/webidl-conversions": "*"
@@ -8305,6 +8303,18 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/asn1.js": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
+      "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
+      "license": "MIT",
+      "dependencies": {
+        "bn.js": "^4.0.0",
+        "inherits": "^2.0.1",
+        "minimalistic-assert": "^1.0.0",
+        "safer-buffer": "^2.1.0"
+      }
+    },
     "node_modules/ast-module-types": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/ast-module-types/-/ast-module-types-5.0.0.tgz",
@@ -8813,6 +8823,12 @@
       "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
       "license": "MIT"
     },
+    "node_modules/bn.js": {
+      "version": "4.12.1",
+      "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
+      "integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==",
+      "license": "MIT"
+    },
     "node_modules/body-parser": {
       "version": "1.20.3",
       "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
@@ -8848,7 +8864,7 @@
       "version": "2.11.0",
       "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
       "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT"
     },
     "node_modules/brace-expansion": {
@@ -8927,7 +8943,6 @@
       "version": "6.9.0",
       "resolved": "https://registry.npmjs.org/bson/-/bson-6.9.0.tgz",
       "integrity": "sha512-X9hJeyeM0//Fus+0pc5dSUMhhrrmWwQUtdavaQeF3Ta6m69matZkGWV/MrBcnwUeLC8W9kwwc2hfkZgUuCX3Ig==",
-      "dev": true,
       "license": "Apache-2.0",
       "engines": {
         "node": ">=16.20.1"
@@ -9896,6 +9911,46 @@
         "node": ">= 0.4.0"
       }
     },
+    "node_modules/connect-mongo": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/connect-mongo/-/connect-mongo-5.1.0.tgz",
+      "integrity": "sha512-xT0vxQLqyqoUTxPLzlP9a/u+vir0zNkhiy9uAdHjSCcUUf7TS5b55Icw8lVyYFxfemP3Mf9gdwUOgeF3cxCAhw==",
+      "license": "MIT",
+      "dependencies": {
+        "debug": "^4.3.1",
+        "kruptein": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=12.9.0"
+      },
+      "peerDependencies": {
+        "express-session": "^1.17.1",
+        "mongodb": ">= 5.1.0 < 7"
+      }
+    },
+    "node_modules/connect-mongo/node_modules/debug": {
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
+      "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
+      "license": "MIT",
+      "dependencies": {
+        "ms": "^2.1.3"
+      },
+      "engines": {
+        "node": ">=6.0"
+      },
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/connect-mongo/node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "license": "MIT"
+    },
     "node_modules/console-control-strings": {
       "version": "1.1.0",
       "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
@@ -12050,7 +12105,6 @@
       "version": "5.3.0",
       "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.3.0.tgz",
       "integrity": "sha512-FNTkdNEnBdlqF2oatizolQqNANMrcqJt6AAYt99B3y1aLLC8Hc5IOBb+ZnnzllodEEf6xMBp6wRcBbc16fa65w==",
-      "dev": true,
       "license": "Apache-2.0",
       "optional": true,
       "peer": true,
@@ -12066,7 +12120,6 @@
       "version": "5.1.3",
       "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.1.3.tgz",
       "integrity": "sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA==",
-      "dev": true,
       "license": "Apache-2.0",
       "optional": true,
       "peer": true,
@@ -15677,6 +15730,18 @@
         "node": ">=6"
       }
     },
+    "node_modules/kruptein": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/kruptein/-/kruptein-3.0.7.tgz",
+      "integrity": "sha512-vTftnEjfbqFHLqxDUMQCj6gBo5lKqjV4f0JsM8rk8rM3xmvFZ2eSy4YALdaye7E+cDKnEj7eAjFR3vwh8a4PgQ==",
+      "license": "MIT",
+      "dependencies": {
+        "asn1.js": "^5.4.1"
+      },
+      "engines": {
+        "node": ">8"
+      }
+    },
     "node_modules/lazystream": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
@@ -16090,7 +16155,6 @@
       "version": "1.5.0",
       "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz",
       "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/merge-descriptors": {
@@ -16197,6 +16261,12 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/minimalistic-assert": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
+      "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
+      "license": "ISC"
+    },
     "node_modules/minimatch": {
       "version": "9.0.1",
       "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
@@ -16578,7 +16648,6 @@
       "version": "6.10.0",
       "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.10.0.tgz",
       "integrity": "sha512-gP9vduuYWb9ZkDM546M+MP2qKVk5ZG2wPF63OvSRuUbqCR+11ZCAE1mOfllhlAG0wcoJY5yDL/rV3OmYEwXIzg==",
-      "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@mongodb-js/saslprep": "^1.1.5",
@@ -16625,7 +16694,6 @@
       "version": "3.0.1",
       "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz",
       "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==",
-      "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
         "@types/whatwg-url": "^11.0.2",
@@ -18396,7 +18464,6 @@
       "version": "2.3.1",
       "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
       "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6"
@@ -19625,7 +19692,6 @@
       "version": "3.0.3",
       "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz",
       "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "memory-pager": "^1.0.2"
@@ -21095,7 +21161,6 @@
       "version": "4.1.1",
       "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz",
       "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "punycode": "^2.3.0"
@@ -21680,7 +21745,6 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
       "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
-      "dev": true,
       "license": "BSD-2-Clause",
       "engines": {
         "node": ">=12"
@@ -21749,7 +21813,6 @@
       "version": "13.0.0",
       "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz",
       "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "tr46": "^4.1.1",
diff --git a/package.json b/package.json
index 8e51516..aa8c29f 100644
--- a/package.json
+++ b/package.json
@@ -15,6 +15,7 @@
   "dependencies": {
     "amqplib": "^0.10.5",
     "connect-flash": "^0.1.1",
+    "connect-mongo": "^5.1.0",
     "cookie-parser": "^1.4.7",
     "cors": "^2.8.5",
     "dotenv": "^16.4.5",
diff --git a/weblog.log b/weblog.log
index 6725a76..a44117d 100644
--- a/weblog.log
+++ b/weblog.log
@@ -1,5 +1,5 @@
-(node:182037) [MONGODB DRIVER] Warning: useNewUrlParser is a deprecated option: useNewUrlParser has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version
+(node:212098) [MONGODB DRIVER] Warning: useNewUrlParser is a deprecated option: useNewUrlParser has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version
 (Use `node --trace-warnings ...` to show where the warning was created)
-(node:182037) [MONGODB DRIVER] Warning: useUnifiedTopology is a deprecated option: useUnifiedTopology has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version
+(node:212098) [MONGODB DRIVER] Warning: useUnifiedTopology is a deprecated option: useUnifiedTopology has no effect since Node.js Driver version 4.0.0 and will be removed in the next major version
 MongoDB�� �깃났�곸쑝濡� �곌껐�섏뿀�듬땲��.
 WebSocket 梨꾪똿 �쒕쾭媛� 8081 �ы듃�먯꽌 �ㅽ뻾 以묒엯�덈떎.
-- 
GitLab