diff options
| -rw-r--r-- | package.json | 44 | ||||
| -rw-r--r-- | pnpm-lock.yaml | 741 | ||||
| -rw-r--r-- | src/lib/activitypub.ts | 5 | ||||
| -rw-r--r-- | src/lib/activitypub/templates.ts | 2 | ||||
| -rw-r--r-- | src/routes/frontend.ts | 14 | ||||
| -rw-r--r-- | src/routes/group.ts | 7 | ||||
| -rw-r--r-- | src/util/markdown.ts | 2 | ||||
| -rw-r--r-- | tsconfig.json | 4 | 
8 files changed, 438 insertions, 381 deletions
diff --git a/package.json b/package.json index f96ef07..faa6a59 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@  {      "name": "gathio", -    "version": "1.4.0", +    "version": "1.4.1",      "description": "A simple, federated, privacy-first event hosting platform",      "main": "index.js",      "type": "module", @@ -24,43 +24,43 @@          "activitypub-types": "^1.0.3",          "cookie-parser": "^1.4.6",          "cors": "^2.8.5", -        "dompurify": "^3.0.6", +        "dompurify": "^3.0.9",          "express": "^4.18.2", -        "express-fileupload": "^1.4.1", +        "express-fileupload": "^1.4.3",          "express-handlebars": "^6.0.7", -        "express-session": "^1.17.3", +        "express-session": "^1.18.0",          "express-validator": "^6.15.0",          "generate-rsa-keypair": "^0.2.1",          "ical": "^0.6.0",          "ical-generator": "^1.15.4",          "jimp": "^0.16.13",          "jsdom": "^22.1.0", -        "marked": "^9.1.0", -        "moment-timezone": "^0.5.43", -        "mongoose": "^5.13.20", +        "marked": "^12.0.0", +        "moment-timezone": "^0.5.45", +        "mongoose": "^5.13.22",          "multer": "1.4.5-lts.1", -        "nanoid": "^3.3.6", +        "nanoid": "^5.0.6",          "niceware": "^3.0.0",          "node-schedule": "^1.3.3", -        "nodemailer": "^6.9.5", +        "nodemailer": "^6.9.10",          "randomstring": "^1.3.0",          "request": "^2.88.2", -        "sanitize-html": "^2.11.0", +        "sanitize-html": "^2.12.1",          "toml": "^3.0.0", -        "wait-on": "^7.0.1" +        "wait-on": "^7.2.0"      },      "devDependencies": { -        "@types/dompurify": "^3.0.3", -        "@types/express": "^4.17.18", -        "@types/ical": "^0.8.1", -        "@types/jsdom": "^21.1.3", -        "@types/multer": "^1.4.8", -        "@types/node": "^20.8.2", -        "@types/nodemailer": "^6.4.11", -        "cypress": "^13.3.0", -        "eslint": "^8.50.0", +        "@types/dompurify": "^3.0.5", +        "@types/express": "^4.17.21", +        "@types/ical": "^0.8.3", +        "@types/jsdom": "^21.1.6", +        "@types/multer": "^1.4.11", +        "@types/node": "^20.11.20", +        "@types/nodemailer": "^6.4.14", +        "cypress": "^13.6.6", +        "eslint": "^8.57.0",          "nodemon": "^2.0.22", -        "prettier": "^3.0.3", -        "typescript": "5.1.6" +        "prettier": "^3.2.5", +        "typescript": "^5.3.3"      }  } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 831f278..b06042a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,20 +21,20 @@ dependencies:      specifier: ^2.8.5      version: 2.8.5    dompurify: -    specifier: ^3.0.6 -    version: 3.0.6 +    specifier: ^3.0.9 +    version: 3.0.9    express:      specifier: ^4.18.2      version: 4.18.2    express-fileupload: -    specifier: ^1.4.1 -    version: 1.4.1 +    specifier: ^1.4.3 +    version: 1.4.3    express-handlebars:      specifier: ^6.0.7      version: 6.0.7    express-session: -    specifier: ^1.17.3 -    version: 1.17.3 +    specifier: ^1.18.0 +    version: 1.18.0    express-validator:      specifier: ^6.15.0      version: 6.15.0 @@ -46,7 +46,7 @@ dependencies:      version: 0.6.0    ical-generator:      specifier: ^1.15.4 -    version: 1.15.4(@types/node@20.8.2) +    version: 1.15.4(@types/node@20.11.20)    jimp:      specifier: ^0.16.13      version: 0.16.13 @@ -54,20 +54,20 @@ dependencies:      specifier: ^22.1.0      version: 22.1.0    marked: -    specifier: ^9.1.0 -    version: 9.1.0 +    specifier: ^12.0.0 +    version: 12.0.0    moment-timezone: -    specifier: ^0.5.43 -    version: 0.5.43 +    specifier: ^0.5.45 +    version: 0.5.45    mongoose: -    specifier: ^5.13.20 -    version: 5.13.20 +    specifier: ^5.13.22 +    version: 5.13.22    multer:      specifier: 1.4.5-lts.1      version: 1.4.5-lts.1    nanoid: -    specifier: ^3.3.6 -    version: 3.3.6 +    specifier: ^5.0.6 +    version: 5.0.6    niceware:      specifier: ^3.0.0      version: 3.0.0 @@ -75,8 +75,8 @@ dependencies:      specifier: ^1.3.3      version: 1.3.3    nodemailer: -    specifier: ^6.9.5 -    version: 6.9.5 +    specifier: ^6.9.10 +    version: 6.9.10    randomstring:      specifier: ^1.3.0      version: 1.3.0 @@ -84,52 +84,52 @@ dependencies:      specifier: ^2.88.2      version: 2.88.2    sanitize-html: -    specifier: ^2.11.0 -    version: 2.11.0 +    specifier: ^2.12.1 +    version: 2.12.1    toml:      specifier: ^3.0.0      version: 3.0.0    wait-on: -    specifier: ^7.0.1 -    version: 7.0.1 +    specifier: ^7.2.0 +    version: 7.2.0  devDependencies:    '@types/dompurify': -    specifier: ^3.0.3 -    version: 3.0.3 +    specifier: ^3.0.5 +    version: 3.0.5    '@types/express': -    specifier: ^4.17.18 -    version: 4.17.18 +    specifier: ^4.17.21 +    version: 4.17.21    '@types/ical': -    specifier: ^0.8.1 -    version: 0.8.1 +    specifier: ^0.8.3 +    version: 0.8.3    '@types/jsdom': -    specifier: ^21.1.3 -    version: 21.1.3 +    specifier: ^21.1.6 +    version: 21.1.6    '@types/multer': -    specifier: ^1.4.8 -    version: 1.4.8 +    specifier: ^1.4.11 +    version: 1.4.11    '@types/node': -    specifier: ^20.8.2 -    version: 20.8.2 +    specifier: ^20.11.20 +    version: 20.11.20    '@types/nodemailer': -    specifier: ^6.4.11 -    version: 6.4.11 +    specifier: ^6.4.14 +    version: 6.4.14    cypress: -    specifier: ^13.3.0 -    version: 13.3.0 +    specifier: ^13.6.6 +    version: 13.6.6    eslint: -    specifier: ^8.50.0 -    version: 8.50.0 +    specifier: ^8.57.0 +    version: 8.57.0    nodemon:      specifier: ^2.0.22      version: 2.0.22    prettier: -    specifier: ^3.0.3 -    version: 3.0.3 +    specifier: ^3.2.5 +    version: 3.2.5    typescript: -    specifier: 5.1.6 -    version: 5.1.6 +    specifier: ^5.3.3 +    version: 5.3.3  packages: @@ -138,11 +138,11 @@ packages:      engines: {node: '>=0.10.0'}      dev: true -  /@babel/runtime@7.23.1: -    resolution: {integrity: sha512-hC2v6p8ZSI/W0HUzh3V8C5g+NwSKzKPtJwSpTjwl0o297GP9+ZLQSkdvHz46CM3LqyoXxq+5G9komY+eSqSO0g==} +  /@babel/runtime@7.23.9: +    resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==}      engines: {node: '>=6.9.0'}      dependencies: -      regenerator-runtime: 0.14.0 +      regenerator-runtime: 0.14.1      dev: false    /@colors/colors@1.5.0: @@ -185,30 +185,30 @@ packages:        - supports-color      dev: true -  /@eslint-community/eslint-utils@4.4.0(eslint@8.50.0): +  /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):      resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}      engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}      peerDependencies:        eslint: ^6.0.0 || ^7.0.0 || >=8.0.0      dependencies: -      eslint: 8.50.0 +      eslint: 8.57.0        eslint-visitor-keys: 3.4.3      dev: true -  /@eslint-community/regexpp@4.9.0: -    resolution: {integrity: sha512-zJmuCWj2VLBt4c25CfBIbMZLGLyhkvs7LznyVX5HfpzeocThgIj5XQK4L+g3U36mMcx8bPMhGyPpwCATamC4jQ==} +  /@eslint-community/regexpp@4.10.0: +    resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}      engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}      dev: true -  /@eslint/eslintrc@2.1.2: -    resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} +  /@eslint/eslintrc@2.1.4: +    resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}      engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}      dependencies:        ajv: 6.12.6        debug: 4.3.4(supports-color@8.1.1)        espree: 9.6.1 -      globals: 13.22.0 -      ignore: 5.2.4 +      globals: 13.24.0 +      ignore: 5.3.1        import-fresh: 3.3.0        js-yaml: 4.1.0        minimatch: 3.1.2 @@ -217,8 +217,8 @@ packages:        - supports-color      dev: true -  /@eslint/js@8.50.0: -    resolution: {integrity: sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==} +  /@eslint/js@8.57.0: +    resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}      engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}      dev: true @@ -232,11 +232,11 @@ packages:        '@hapi/hoek': 9.3.0      dev: false -  /@humanwhocodes/config-array@0.11.11: -    resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} +  /@humanwhocodes/config-array@0.11.14: +    resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}      engines: {node: '>=10.10.0'}      dependencies: -      '@humanwhocodes/object-schema': 1.2.1 +      '@humanwhocodes/object-schema': 2.0.2        debug: 4.3.4(supports-color@8.1.1)        minimatch: 3.1.2      transitivePeerDependencies: @@ -248,8 +248,8 @@ packages:      engines: {node: '>=12.22'}      dev: true -  /@humanwhocodes/object-schema@1.2.1: -    resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} +  /@humanwhocodes/object-schema@2.0.2: +    resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}      dev: true    /@jimp/bmp@0.16.13(@jimp/custom@0.16.13): @@ -257,7 +257,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13        bmp-js: 0.1.0 @@ -266,7 +266,7 @@ packages:    /@jimp/core@0.16.13:      resolution: {integrity: sha512-qXpA1tzTnlkTku9yqtuRtS/wVntvE6f3m3GNxdTdtmc+O+Wcg9Xo2ABPMh7Nc0AHbMKzwvwgB2JnjZmlmJEObg==}      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/utils': 0.16.13        any-base: 1.1.0        buffer: 5.7.1 @@ -282,7 +282,7 @@ packages:    /@jimp/custom@0.16.13:      resolution: {integrity: sha512-LTATglVUPGkPf15zX1wTMlZ0+AU7cGEGF6ekVF1crA8eHUWsGjrYTB+Ht4E3HTrCok8weQG+K01rJndCp/l4XA==}      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/core': 0.16.13      dev: false @@ -291,7 +291,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13        gifwrap: 0.9.4 @@ -303,7 +303,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13        jpeg-js: 0.4.4 @@ -314,7 +314,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -324,7 +324,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -334,7 +334,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -344,7 +344,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13        tinycolor2: 1.6.0 @@ -358,7 +358,7 @@ packages:        '@jimp/plugin-resize': '>=0.3.5'        '@jimp/plugin-scale': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugin-blit': 0.16.13(@jimp/custom@0.16.13)        '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13) @@ -374,7 +374,7 @@ packages:        '@jimp/plugin-resize': '>=0.3.5'        '@jimp/plugin-scale': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugin-crop': 0.16.13(@jimp/custom@0.16.13)        '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13) @@ -387,7 +387,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -397,7 +397,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -407,7 +407,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -417,7 +417,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -428,7 +428,7 @@ packages:        '@jimp/custom': '>=0.3.5'        '@jimp/plugin-rotate': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugin-rotate': 0.16.13(@jimp/custom@0.16.13)(@jimp/plugin-blit@0.16.13)(@jimp/plugin-crop@0.16.13)(@jimp/plugin-resize@0.16.13)        '@jimp/utils': 0.16.13 @@ -439,7 +439,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -449,7 +449,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -459,7 +459,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -469,7 +469,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -480,7 +480,7 @@ packages:        '@jimp/custom': '>=0.3.5'        '@jimp/plugin-blit': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugin-blit': 0.16.13(@jimp/custom@0.16.13)        '@jimp/utils': 0.16.13 @@ -492,7 +492,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13      dev: false @@ -505,7 +505,7 @@ packages:        '@jimp/plugin-crop': '>=0.3.5'        '@jimp/plugin-resize': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugin-blit': 0.16.13(@jimp/custom@0.16.13)        '@jimp/plugin-crop': 0.16.13(@jimp/custom@0.16.13) @@ -519,7 +519,7 @@ packages:        '@jimp/custom': '>=0.3.5'        '@jimp/plugin-resize': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13)        '@jimp/utils': 0.16.13 @@ -532,7 +532,7 @@ packages:        '@jimp/plugin-blur': '>=0.3.5'        '@jimp/plugin-resize': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugin-blur': 0.16.13(@jimp/custom@0.16.13)        '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13) @@ -546,7 +546,7 @@ packages:        '@jimp/plugin-color': '>=0.8.0'        '@jimp/plugin-resize': '>=0.8.0'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugin-color': 0.16.13(@jimp/custom@0.16.13)        '@jimp/plugin-resize': 0.16.13(@jimp/custom@0.16.13) @@ -558,7 +558,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugin-blit': 0.16.13(@jimp/custom@0.16.13)        '@jimp/plugin-blur': 0.16.13(@jimp/custom@0.16.13) @@ -589,7 +589,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/utils': 0.16.13        pngjs: 3.4.0 @@ -600,7 +600,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        utif: 2.0.1      dev: false @@ -610,7 +610,7 @@ packages:      peerDependencies:        '@jimp/custom': '>=0.3.5'      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/bmp': 0.16.13(@jimp/custom@0.16.13)        '@jimp/custom': 0.16.13        '@jimp/gif': 0.16.13(@jimp/custom@0.16.13) @@ -623,7 +623,7 @@ packages:    /@jimp/utils@0.16.13:      resolution: {integrity: sha512-VyCpkZzFTHXtKgVO35iKN0sYR10psGpV6SkcSeV4oF7eSYlR8Bl6aQLCzVeFjvESF7mxTmIiI3/XrMobVrtxDA==}      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        regenerator-runtime: 0.13.11      dev: false @@ -645,7 +645,7 @@ packages:      engines: {node: '>= 8'}      dependencies:        '@nodelib/fs.scandir': 2.1.5 -      fastq: 1.15.0 +      fastq: 1.17.1      dev: true    /@sendgrid/client@6.5.5: @@ -653,7 +653,7 @@ packages:      engines: {node: '>=6.0.0'}      dependencies:        '@sendgrid/helpers': 6.5.5 -      '@types/request': 2.48.9 +      '@types/request': 2.48.12        request: 2.88.2      dev: false @@ -673,8 +673,8 @@ packages:        '@sendgrid/helpers': 6.5.5      dev: false -  /@sideway/address@4.1.4: -    resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} +  /@sideway/address@4.1.5: +    resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}      dependencies:        '@hapi/hoek': 9.3.0      dev: false @@ -696,161 +696,164 @@ packages:      engines: {node: '>= 10'}      dev: false -  /@types/body-parser@1.19.3: -    resolution: {integrity: sha512-oyl4jvAfTGX9Bt6Or4H9ni1Z447/tQuxnZsytsCaExKlmJiU8sFgnIBRzJUpKwB5eWn9HuBYlUlVA74q/yN0eQ==} +  /@types/body-parser@1.19.5: +    resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}      dependencies: -      '@types/connect': 3.4.36 -      '@types/node': 20.8.2 +      '@types/connect': 3.4.38 +      '@types/node': 20.11.20    /@types/bson@4.0.5:      resolution: {integrity: sha512-vVLwMUqhYJSQ/WKcE60eFqcyuWse5fGH+NMAXHuKrUAPoryq3ATxk5o4bgYNtg5aOM4APVg7Hnb3ASqUYG0PKg==}      dependencies: -      '@types/node': 20.8.2 +      '@types/node': 20.11.20      dev: false -  /@types/caseless@0.12.3: -    resolution: {integrity: sha512-ZD/NsIJYq/2RH+hY7lXmstfp/v9djGt9ah+xRQ3pcgR79qiKsG4pLl25AI7IcXxVO8dH9GiBE5rAknC0ePntlw==} +  /@types/caseless@0.12.5: +    resolution: {integrity: sha512-hWtVTC2q7hc7xZ/RLbxapMvDMgUnDvKvMOpKal4DrMyfGBUfB1oKaZlIRr6mJL+If3bAP6sV/QneGzF6tJjZDg==}      dev: false -  /@types/connect@3.4.36: -    resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} +  /@types/connect@3.4.38: +    resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}      dependencies: -      '@types/node': 20.8.2 +      '@types/node': 20.11.20    /@types/cookie-parser@1.4.6:      resolution: {integrity: sha512-KoooCrD56qlLskXPLGUiJxOMnv5l/8m7cQD2OxJ73NPMhuSz9PmvwRD6EpjDyKBVrdJDdQ4bQK7JFNHnNmax0w==}      dependencies: -      '@types/express': 4.17.18 +      '@types/express': 4.17.21      dev: false -  /@types/dompurify@3.0.3: -    resolution: {integrity: sha512-odiGr/9/qMqjcBOe5UhcNLOFHSYmKFOyr+bJ/Xu3Qp4k1pNPAlNLUVNNLcLfjQI7+W7ObX58EdD3H+3p3voOvA==} +  /@types/dompurify@3.0.5: +    resolution: {integrity: sha512-1Wg0g3BtQF7sSb27fJQAKck1HECM6zV1EB66j8JH9i3LCjYabJa0FSdiSgsD5K/RbrsR0SiraKacLB+T8ZVYAg==}      dependencies: -      '@types/trusted-types': 2.0.4 +      '@types/trusted-types': 2.0.7      dev: true -  /@types/express-serve-static-core@4.17.37: -    resolution: {integrity: sha512-ZohaCYTgGFcOP7u6aJOhY9uIZQgZ2vxC2yWoArY+FeDXlqeH66ZVBjgvg+RLVAS/DWNq4Ap9ZXu1+SUQiiWYMg==} +  /@types/express-serve-static-core@4.17.43: +    resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==}      dependencies: -      '@types/node': 20.8.2 -      '@types/qs': 6.9.8 -      '@types/range-parser': 1.2.5 -      '@types/send': 0.17.2 +      '@types/node': 20.11.20 +      '@types/qs': 6.9.11 +      '@types/range-parser': 1.2.7 +      '@types/send': 0.17.4 -  /@types/express@4.17.18: -    resolution: {integrity: sha512-Sxv8BSLLgsBYmcnGdGjjEjqET2U+AKAdCRODmMiq02FgjwuV75Ut85DRpvFjyw/Mk0vgUOliGRU0UUmuuZHByQ==} +  /@types/express@4.17.21: +    resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}      dependencies: -      '@types/body-parser': 1.19.3 -      '@types/express-serve-static-core': 4.17.37 -      '@types/qs': 6.9.8 -      '@types/serve-static': 1.15.3 +      '@types/body-parser': 1.19.5 +      '@types/express-serve-static-core': 4.17.43 +      '@types/qs': 6.9.11 +      '@types/serve-static': 1.15.5 -  /@types/http-errors@2.0.2: -    resolution: {integrity: sha512-lPG6KlZs88gef6aD85z3HNkztpj7w2R7HmR3gygjfXCQmsLloWNARFkMuzKiiY8FGdh1XDpgBdrSf4aKDiA7Kg==} +  /@types/http-errors@2.0.4: +    resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} -  /@types/ical@0.8.1: -    resolution: {integrity: sha512-JQyqcdMGEa0aUaZPablO5okXvrAspGMzQYriYUV0C5RjDOk/7dqFklvl9yA1uidc0qtrZu4VBFgF0LXhPGPAJw==} +  /@types/ical@0.8.3: +    resolution: {integrity: sha512-qPejGORaXOstmqyKzp0Qw9nXDPiWiahiJJcx4zMB0zJVg0rLfJ6bDip/naqagEqYTjKl/LI91399hR8zFwRJ5A==}      dependencies:        rrule: 2.6.4      dev: true -  /@types/jsdom@21.1.3: -    resolution: {integrity: sha512-1zzqSP+iHJYV4lB3lZhNBa012pubABkj9yG/GuXuf6LZH1cSPIJBqFDrm5JX65HHt6VOnNYdTui/0ySerRbMgA==} +  /@types/jsdom@21.1.6: +    resolution: {integrity: sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==}      dependencies: -      '@types/node': 20.8.2 -      '@types/tough-cookie': 4.0.3 +      '@types/node': 20.11.20 +      '@types/tough-cookie': 4.0.5        parse5: 7.1.2      dev: true -  /@types/mime@1.3.3: -    resolution: {integrity: sha512-Ys+/St+2VF4+xuY6+kDIXGxbNRO0mesVg0bbxEfB97Od1Vjpjx9KD1qxs64Gcb3CWPirk9Xe+PT4YiiHQ9T+eg==} +  /@types/mime@1.3.5: +    resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} -  /@types/mime@3.0.2: -    resolution: {integrity: sha512-Wj+fqpTLtTbG7c0tH47dkahefpLKEbB+xAZuLq7b4/IDHPl/n6VoXcyUQ2bypFlbSwvCr0y+bD4euTTqTJsPxQ==} +  /@types/mime@3.0.4: +    resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==}    /@types/mongodb@3.6.20:      resolution: {integrity: sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==}      dependencies:        '@types/bson': 4.0.5 -      '@types/node': 20.8.2 +      '@types/node': 20.11.20      dev: false -  /@types/multer@1.4.8: -    resolution: {integrity: sha512-VMZOW6mnmMMhA5m3fsCdXBwFwC+a+27/8gctNMuQC4f7UtWcF79KAFGoIfKZ4iqrElgWIa3j5vhMJDp0iikQ1g==} +  /@types/multer@1.4.11: +    resolution: {integrity: sha512-svK240gr6LVWvv3YGyhLlA+6LRRWA4mnGIU7RcNmgjBYFl6665wcXrRfxGp5tEPVHUNm5FMcmq7too9bxCwX/w==}      dependencies: -      '@types/express': 4.17.18 +      '@types/express': 4.17.21      dev: true    /@types/node@16.9.1:      resolution: {integrity: sha512-QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==}      dev: false -  /@types/node@18.18.3: -    resolution: {integrity: sha512-0OVfGupTl3NBFr8+iXpfZ8NR7jfFO+P1Q+IO/q0wbo02wYkP5gy36phojeYWpLQ6WAMjl+VfmqUk2YbUfp0irA==} -    dev: true - -  /@types/node@20.8.2: -    resolution: {integrity: sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w==} +  /@types/node@20.11.20: +    resolution: {integrity: sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==} +    dependencies: +      undici-types: 5.26.5 -  /@types/nodemailer@6.4.11: -    resolution: {integrity: sha512-Ld2c0frwpGT4VseuoeboCXQ7UJIkK3X7Lx/4YsZEiUHtHsthWAOCYtf6PAiLhMtfwV0cWJRabLBS3+LD8x6Nrw==} +  /@types/nodemailer@6.4.14: +    resolution: {integrity: sha512-fUWthHO9k9DSdPCSPRqcu6TWhYyxTBg382vlNIttSe9M7XfsT06y0f24KHXtbnijPGGRIcVvdKHTNikOI6qiHA==}      dependencies: -      '@types/node': 20.8.2 +      '@types/node': 20.11.20      dev: true -  /@types/qs@6.9.8: -    resolution: {integrity: sha512-u95svzDlTysU5xecFNTgfFG5RUWu1A9P0VzgpcIiGZA9iraHOdSzcxMxQ55DyeRaGCSxQi7LxXDI4rzq/MYfdg==} +  /@types/qs@6.9.11: +    resolution: {integrity: sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==} -  /@types/range-parser@1.2.5: -    resolution: {integrity: sha512-xrO9OoVPqFuYyR/loIHjnbvvyRZREYKLjxV4+dY6v3FQR3stQ9ZxIGkaclF7YhI9hfjpuTbu14hZEy94qKLtOA==} +  /@types/range-parser@1.2.7: +    resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} -  /@types/request@2.48.9: -    resolution: {integrity: sha512-4mi2hYsvPAhe8RXjk5DKB09sAUzbK68T2XjORehHdWyxFoX2zUnfi1VQ5wU4Md28H/5+uB4DkxY9BS4B87N/0A==} +  /@types/request@2.48.12: +    resolution: {integrity: sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==}      dependencies: -      '@types/caseless': 0.12.3 -      '@types/node': 20.8.2 -      '@types/tough-cookie': 4.0.3 +      '@types/caseless': 0.12.5 +      '@types/node': 20.11.20 +      '@types/tough-cookie': 4.0.5        form-data: 2.5.1      dev: false -  /@types/send@0.17.2: -    resolution: {integrity: sha512-aAG6yRf6r0wQ29bkS+x97BIs64ZLxeE/ARwyS6wrldMm3C1MdKwCcnnEwMC1slI8wuxJOpiUH9MioC0A0i+GJw==} +  /@types/send@0.17.4: +    resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}      dependencies: -      '@types/mime': 1.3.3 -      '@types/node': 20.8.2 +      '@types/mime': 1.3.5 +      '@types/node': 20.11.20 -  /@types/serve-static@1.15.3: -    resolution: {integrity: sha512-yVRvFsEMrv7s0lGhzrggJjNOSmZCdgCjw9xWrPr/kNNLp6FaDfMC1KaYl3TSJ0c58bECwNBMoQrZJ8hA8E1eFg==} +  /@types/serve-static@1.15.5: +    resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==}      dependencies: -      '@types/http-errors': 2.0.2 -      '@types/mime': 3.0.2 -      '@types/node': 20.8.2 +      '@types/http-errors': 2.0.4 +      '@types/mime': 3.0.4 +      '@types/node': 20.11.20    /@types/sinonjs__fake-timers@8.1.1:      resolution: {integrity: sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==}      dev: true -  /@types/sizzle@2.3.4: -    resolution: {integrity: sha512-jA2llq2zNkg8HrALI7DtWzhALcVH0l7i89yhY3iBdOz6cBPeACoFq+fkQrjHA39t1hnSFOboZ7A/AY5MMZSlag==} +  /@types/sizzle@2.3.8: +    resolution: {integrity: sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==}      dev: true -  /@types/tough-cookie@4.0.3: -    resolution: {integrity: sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg==} +  /@types/tough-cookie@4.0.5: +    resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} -  /@types/trusted-types@2.0.4: -    resolution: {integrity: sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ==} +  /@types/trusted-types@2.0.7: +    resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==}      dev: true -  /@types/yauzl@2.10.1: -    resolution: {integrity: sha512-CHzgNU3qYBnp/O4S3yv2tXPlvMTq0YWSTVg2/JYLqWZGHwwgJGAwd00poay/11asPq8wLFwHzubyInqHIFmmiw==} +  /@types/yauzl@2.10.3: +    resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}      requiresBuild: true      dependencies: -      '@types/node': 20.8.2 +      '@types/node': 20.11.20      dev: true      optional: true +  /@ungap/structured-clone@1.2.0: +    resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} +    dev: true +    /abab@2.0.6:      resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} +    deprecated: Use your platform's native atob() and btoa() methods instead      dev: false    /abbrev@1.1.1: @@ -865,16 +868,16 @@ packages:        negotiator: 0.6.3      dev: false -  /acorn-jsx@5.3.2(acorn@8.10.0): +  /acorn-jsx@5.3.2(acorn@8.11.3):      resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}      peerDependencies:        acorn: ^6.0.0 || ^7.0.0 || ^8.0.0      dependencies: -      acorn: 8.10.0 +      acorn: 8.11.3      dev: true -  /acorn@8.10.0: -    resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} +  /acorn@8.11.3: +    resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}      engines: {node: '>=0.4.0'}      hasBin: true      dev: true @@ -981,8 +984,8 @@ packages:      engines: {node: '>=8'}      dev: true -  /async@3.2.4: -    resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} +  /async@3.2.5: +    resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}      dev: true    /asynckit@0.4.0: @@ -999,11 +1002,12 @@ packages:    /aws4@1.12.0:      resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} -  /axios@0.27.2: -    resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} +  /axios@1.6.7: +    resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}      dependencies: -      follow-redirects: 1.15.3 +      follow-redirects: 1.15.5        form-data: 4.0.0 +      proxy-from-env: 1.1.0      transitivePeerDependencies:        - debug      dev: false @@ -1132,11 +1136,15 @@ packages:      engines: {node: '>=6'}      dev: true -  /call-bind@1.0.2: -    resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} +  /call-bind@1.0.7: +    resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} +    engines: {node: '>= 0.4'}      dependencies: -      function-bind: 1.1.1 -      get-intrinsic: 1.2.1 +      es-define-property: 1.0.0 +      es-errors: 1.3.0 +      function-bind: 1.1.2 +      get-intrinsic: 1.2.4 +      set-function-length: 1.2.1    /callsites@3.1.0:      resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} @@ -1168,8 +1176,8 @@ packages:      engines: {node: '>= 0.8.0'}      dev: true -  /chokidar@3.5.3: -    resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} +  /chokidar@3.6.0: +    resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}      engines: {node: '>= 8.10.0'}      dependencies:        anymatch: 3.1.3 @@ -1296,18 +1304,22 @@ packages:      resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}      dev: false +  /cookie-signature@1.0.7: +    resolution: {integrity: sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==} +    dev: false +    /cookie@0.4.1:      resolution: {integrity: sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==}      engines: {node: '>= 0.6'}      dev: false -  /cookie@0.4.2: -    resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} +  /cookie@0.5.0: +    resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}      engines: {node: '>= 0.6'}      dev: false -  /cookie@0.5.0: -    resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} +  /cookie@0.6.0: +    resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==}      engines: {node: '>= 0.6'}      dev: false @@ -1331,7 +1343,7 @@ packages:      engines: {node: '>=0.8'}      dependencies:        is-nan: 1.3.2 -      moment-timezone: 0.5.43 +      moment-timezone: 0.5.45      dev: false    /cross-spawn@7.0.3: @@ -1350,17 +1362,16 @@ packages:        rrweb-cssom: 0.6.0      dev: false -  /cypress@13.3.0: -    resolution: {integrity: sha512-mpI8qcTwLGiA4zEQvTC/U1xGUezVV4V8HQCOYjlEOrVmU1etVvxOjkCXHGwrlYdZU/EPmUiWfsO3yt1o+Q2bgw==} +  /cypress@13.6.6: +    resolution: {integrity: sha512-S+2S9S94611hXimH9a3EAYt81QM913ZVA03pUmGDfLTFa5gyp85NJ8dJGSlEAEmyRsYkioS1TtnWtbv/Fzt11A==}      engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0}      hasBin: true      requiresBuild: true      dependencies:        '@cypress/request': 3.0.1        '@cypress/xvfb': 1.2.4(supports-color@8.1.1) -      '@types/node': 18.18.3        '@types/sinonjs__fake-timers': 8.1.1 -      '@types/sizzle': 2.3.4 +      '@types/sizzle': 2.3.8        arch: 2.2.0        blob-util: 2.0.2        bluebird: 3.7.2 @@ -1394,7 +1405,7 @@ packages:        process: 0.11.10        proxy-from-env: 1.0.0        request-progress: 3.0.0 -      semver: 7.5.4 +      semver: 7.6.0        supports-color: 8.1.1        tmp: 0.2.1        untildify: 4.0.0 @@ -1491,21 +1502,20 @@ packages:      engines: {node: '>=0.10.0'}      dev: false -  /define-data-property@1.1.0: -    resolution: {integrity: sha512-UzGwzcjyv3OtAvolTj1GoyNYzfFR+iqbGjcnBEENZVCpM4/Ng1yhGNvS3lR/xDS74Tb2wGG9WzNSNIOS9UVb2g==} +  /define-data-property@1.1.4: +    resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}      engines: {node: '>= 0.4'}      dependencies: -      get-intrinsic: 1.2.1 +      es-define-property: 1.0.0 +      es-errors: 1.3.0        gopd: 1.0.1 -      has-property-descriptors: 1.0.0 -    dev: false    /define-properties@1.2.1:      resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}      engines: {node: '>= 0.4'}      dependencies: -      define-data-property: 1.1.0 -      has-property-descriptors: 1.0.0 +      define-data-property: 1.1.4 +      has-property-descriptors: 1.0.2        object-keys: 1.1.1      dev: false @@ -1554,6 +1564,7 @@ packages:    /domexception@4.0.0:      resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}      engines: {node: '>=12'} +    deprecated: Use your platform's native DOMException instead      dependencies:        webidl-conversions: 7.0.0      dev: false @@ -1565,8 +1576,8 @@ packages:        domelementtype: 2.3.0      dev: false -  /dompurify@3.0.6: -    resolution: {integrity: sha512-ilkD8YEnnGh1zJ240uJsW7AzE+2qpbOUYjacomn3AvJ6J4JhKGSZ2nh4wUIXPZrEPppaCLx5jFe8T89Rk8tQ7w==} +  /dompurify@3.0.9: +    resolution: {integrity: sha512-uyb4NDIvQ3hRn6NiC+SIFaP4mJ/MdXlvtunaqK9Bn6dD3RuB/1S/gasEjDHD8eiaqdSael2vBv+hOs7Y+jhYOQ==}      dev: false    /domutils@3.1.0: @@ -1614,6 +1625,16 @@ packages:      resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}      engines: {node: '>=0.12'} +  /es-define-property@1.0.0: +    resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} +    engines: {node: '>= 0.4'} +    dependencies: +      get-intrinsic: 1.2.4 + +  /es-errors@1.3.0: +    resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} +    engines: {node: '>= 0.4'} +    /escape-html@1.0.3:      resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}      dev: false @@ -1639,18 +1660,19 @@ packages:      engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}      dev: true -  /eslint@8.50.0: -    resolution: {integrity: sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==} +  /eslint@8.57.0: +    resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}      engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}      hasBin: true      dependencies: -      '@eslint-community/eslint-utils': 4.4.0(eslint@8.50.0) -      '@eslint-community/regexpp': 4.9.0 -      '@eslint/eslintrc': 2.1.2 -      '@eslint/js': 8.50.0 -      '@humanwhocodes/config-array': 0.11.11 +      '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) +      '@eslint-community/regexpp': 4.10.0 +      '@eslint/eslintrc': 2.1.4 +      '@eslint/js': 8.57.0 +      '@humanwhocodes/config-array': 0.11.14        '@humanwhocodes/module-importer': 1.0.1        '@nodelib/fs.walk': 1.2.8 +      '@ungap/structured-clone': 1.2.0        ajv: 6.12.6        chalk: 4.1.2        cross-spawn: 7.0.3 @@ -1666,9 +1688,9 @@ packages:        file-entry-cache: 6.0.1        find-up: 5.0.0        glob-parent: 6.0.2 -      globals: 13.22.0 +      globals: 13.24.0        graphemer: 1.4.0 -      ignore: 5.2.4 +      ignore: 5.3.1        imurmurhash: 0.1.4        is-glob: 4.0.3        is-path-inside: 3.0.3 @@ -1689,8 +1711,8 @@ packages:      resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}      engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}      dependencies: -      acorn: 8.10.0 -      acorn-jsx: 5.3.2(acorn@8.10.0) +      acorn: 8.11.3 +      acorn-jsx: 5.3.2(acorn@8.11.3)        eslint-visitor-keys: 3.4.3      dev: true @@ -1753,8 +1775,8 @@ packages:      resolution: {integrity: sha512-c2bQfLNbMzLPmzQuOr8fy0csy84WmwnER81W88DzTp9CYNPJ6yzOj2EZAh9pywYpqHnshVLHQJ8WzldAyfY+Iw==}      dev: false -  /express-fileupload@1.4.1: -    resolution: {integrity: sha512-9F6SkbxbEOA9cYOBZ8tnn238jL+bGfacQuUO/JqPWp5t+piUcoDcESvKwAXsQV7IHGxmI5bMj3QxMWOKOIsMCg==} +  /express-fileupload@1.4.3: +    resolution: {integrity: sha512-vRzZo2YELm68DfR/CX8RMXgeK9BTAANxigrKACPjCXFGEzkCt/QWbqaIXP3W61uaX/hLj0CAo3/EVelpSQXkqA==}      engines: {node: '>=12.0.0'}      dependencies:        busboy: 1.6.0 @@ -1769,12 +1791,12 @@ packages:        handlebars: 4.7.8      dev: false -  /express-session@1.17.3: -    resolution: {integrity: sha512-4+otWXlShYlG1Ma+2Jnn+xgKUZTMJ5QD3YvfilX3AcocOAbIkVylSWEklzALe/+Pu4qV6TYBj5GwOBFfdKqLBw==} +  /express-session@1.18.0: +    resolution: {integrity: sha512-m93QLWr0ju+rOwApSsyso838LQwgfs44QtOP/WBiwtAgPIo/SAh1a5c6nn2BR6mFNZehTpqKDESzP+fRHVbxwQ==}      engines: {node: '>= 0.8.0'}      dependencies: -      cookie: 0.4.2 -      cookie-signature: 1.0.6 +      cookie: 0.6.0 +      cookie-signature: 1.0.7        debug: 2.6.9        depd: 2.0.0        on-headers: 1.0.2 @@ -1844,7 +1866,7 @@ packages:        get-stream: 5.2.0        yauzl: 2.10.0      optionalDependencies: -      '@types/yauzl': 2.10.1 +      '@types/yauzl': 2.10.3      transitivePeerDependencies:        - supports-color      dev: true @@ -1863,8 +1885,8 @@ packages:      resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}      dev: true -  /fastq@1.15.0: -    resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} +  /fastq@1.17.1: +    resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}      dependencies:        reusify: 1.0.4      dev: true @@ -1886,7 +1908,7 @@ packages:      resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}      engines: {node: ^10.12.0 || >=12.0.0}      dependencies: -      flat-cache: 3.1.0 +      flat-cache: 3.2.0      dev: true    /file-type@16.5.4: @@ -1928,21 +1950,21 @@ packages:        path-exists: 4.0.0      dev: true -  /flat-cache@3.1.0: -    resolution: {integrity: sha512-OHx4Qwrrt0E4jEIcI5/Xb+f+QmJYNj2rrK8wiIdQOIrB9WrrJL8cjZvXdXuBTkkEwEqLycb5BeZDV1o2i9bTew==} -    engines: {node: '>=12.0.0'} +  /flat-cache@3.2.0: +    resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} +    engines: {node: ^10.12.0 || >=12.0.0}      dependencies: -      flatted: 3.2.9 -      keyv: 4.5.3 +      flatted: 3.3.1 +      keyv: 4.5.4        rimraf: 3.0.2      dev: true -  /flatted@3.2.9: -    resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==} +  /flatted@3.3.1: +    resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}      dev: true -  /follow-redirects@1.15.3: -    resolution: {integrity: sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==} +  /follow-redirects@1.15.5: +    resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==}      engines: {node: '>=4.0'}      peerDependencies:        debug: '*' @@ -1997,7 +2019,7 @@ packages:        at-least-node: 1.0.0        graceful-fs: 4.2.11        jsonfile: 6.1.0 -      universalify: 2.0.0 +      universalify: 2.0.1      dev: true    /fs.realpath@1.0.0: @@ -2011,8 +2033,8 @@ packages:      dev: true      optional: true -  /function-bind@1.1.1: -    resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} +  /function-bind@1.1.2: +    resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}    /generate-rsa-keypair@0.2.1:      resolution: {integrity: sha512-vxLfzfy6WbMLtkKV4AJtg7QH0ZqGGNkSYM6S0Q72Z70QXsztLklKFtX15te3YLIqmiQAYi3g3MWsTfXd6djkpg==} @@ -2020,13 +2042,15 @@ packages:      requiresBuild: true      dev: false -  /get-intrinsic@1.2.1: -    resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} +  /get-intrinsic@1.2.4: +    resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} +    engines: {node: '>= 0.4'}      dependencies: -      function-bind: 1.1.1 -      has: 1.0.3 -      has-proto: 1.0.1 +      es-errors: 1.3.0 +      function-bind: 1.1.2 +      has-proto: 1.0.3        has-symbols: 1.0.3 +      hasown: 2.0.1    /get-stream@5.2.0:      resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} @@ -2038,7 +2062,7 @@ packages:    /getos@3.2.1:      resolution: {integrity: sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==}      dependencies: -      async: 3.2.4 +      async: 3.2.5      dev: true    /getpass@0.1.7: @@ -2103,8 +2127,8 @@ packages:        process: 0.11.10      dev: false -  /globals@13.22.0: -    resolution: {integrity: sha512-H1Ddc/PbZHTDVJSnj8kWptIRSD6AM3pK+mKytuIVF4uoBV7rshFlhhvA58ceJ5wp3Er58w6zj7bykMpYXt3ETw==} +  /globals@13.24.0: +    resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}      engines: {node: '>=8'}      dependencies:        type-fest: 0.20.2 @@ -2113,8 +2137,7 @@ packages:    /gopd@1.0.1:      resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}      dependencies: -      get-intrinsic: 1.2.1 -    dev: false +      get-intrinsic: 1.2.4    /graceful-fs@4.2.11:      resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} @@ -2158,25 +2181,24 @@ packages:      resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}      engines: {node: '>=8'} -  /has-property-descriptors@1.0.0: -    resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} +  /has-property-descriptors@1.0.2: +    resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}      dependencies: -      get-intrinsic: 1.2.1 -    dev: false +      es-define-property: 1.0.0 -  /has-proto@1.0.1: -    resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} +  /has-proto@1.0.3: +    resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}      engines: {node: '>= 0.4'}    /has-symbols@1.0.3:      resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}      engines: {node: '>= 0.4'} -  /has@1.0.3: -    resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} -    engines: {node: '>= 0.4.0'} +  /hasown@2.0.1: +    resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} +    engines: {node: '>= 0.4'}      dependencies: -      function-bind: 1.1.1 +      function-bind: 1.1.2    /html-encoding-sniffer@3.0.0:      resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} @@ -2222,7 +2244,7 @@ packages:      dependencies:        assert-plus: 1.0.0        jsprim: 1.4.2 -      sshpk: 1.17.0 +      sshpk: 1.18.0      dev: false    /http-signature@1.3.6: @@ -2231,7 +2253,7 @@ packages:      dependencies:        assert-plus: 1.0.0        jsprim: 2.0.2 -      sshpk: 1.17.0 +      sshpk: 1.18.0      dev: true    /https-proxy-agent@5.0.1: @@ -2249,14 +2271,14 @@ packages:      engines: {node: '>=8.12.0'}      dev: true -  /ical-generator@1.15.4(@types/node@20.8.2): +  /ical-generator@1.15.4(@types/node@20.11.20):      resolution: {integrity: sha512-drXe4RLkfNlvDvdy/E6BUI9p+01L3ySK1ufNEYI9TxNKG9ZA3G60QWoZvD1dtmH4scwDxYu6/sZBPJvYVNrj8A==}      engines: {node: '>=6.0.0'}      peerDependencies:        '@types/node': '>= 8.0.0'      dependencies: -      '@types/node': 20.8.2 -      moment-timezone: 0.5.43 +      '@types/node': 20.11.20 +      moment-timezone: 0.5.45      dev: false    /ical@0.6.0: @@ -2287,8 +2309,8 @@ packages:      resolution: {integrity: sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==}      dev: true -  /ignore@5.2.4: -    resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} +  /ignore@5.3.1: +    resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}      engines: {node: '>= 4'}      dev: true @@ -2382,7 +2404,7 @@ packages:      resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==}      engines: {node: '>= 0.4'}      dependencies: -      call-bind: 1.0.2 +      call-bind: 1.0.7        define-properties: 1.2.1      dev: false @@ -2432,19 +2454,19 @@ packages:    /jimp@0.16.13:      resolution: {integrity: sha512-Bxz8q7V4rnCky9A0ktTNGA9SkNFVWRHodddI/DaAWZJzF7sVUlFYKQ60y9JGqrKpi48ECA/TnfMzzc5C70VByA==}      dependencies: -      '@babel/runtime': 7.23.1 +      '@babel/runtime': 7.23.9        '@jimp/custom': 0.16.13        '@jimp/plugins': 0.16.13(@jimp/custom@0.16.13)        '@jimp/types': 0.16.13(@jimp/custom@0.16.13)        regenerator-runtime: 0.13.11      dev: false -  /joi@17.11.0: -    resolution: {integrity: sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==} +  /joi@17.12.2: +    resolution: {integrity: sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==}      dependencies:        '@hapi/hoek': 9.3.0        '@hapi/topo': 5.1.0 -      '@sideway/address': 4.1.4 +      '@sideway/address': 4.1.5        '@sideway/formula': 3.0.1        '@sideway/pinpoint': 2.0.0      dev: false @@ -2493,7 +2515,7 @@ packages:        whatwg-encoding: 2.0.0        whatwg-mimetype: 3.0.0        whatwg-url: 12.0.1 -      ws: 8.14.2 +      ws: 8.16.0        xml-name-validator: 4.0.0      transitivePeerDependencies:        - bufferutil @@ -2521,7 +2543,7 @@ packages:    /jsonfile@6.1.0:      resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}      dependencies: -      universalify: 2.0.0 +      universalify: 2.0.1      optionalDependencies:        graceful-fs: 4.2.11      dev: true @@ -2550,8 +2572,8 @@ packages:      resolution: {integrity: sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==}      dev: false -  /keyv@4.5.3: -    resolution: {integrity: sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==} +  /keyv@4.5.4: +    resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}      dependencies:        json-buffer: 3.0.1      dev: true @@ -2583,7 +2605,7 @@ packages:        enquirer: 2.4.1        log-update: 4.0.0        p-map: 4.0.0 -      rfdc: 1.3.0 +      rfdc: 1.3.1        rxjs: 7.8.1        through: 2.3.8        wrap-ansi: 7.0.0 @@ -2596,7 +2618,7 @@ packages:        mime: 1.6.0        parse-bmfont-ascii: 1.0.6        parse-bmfont-binary: 1.0.6 -      parse-bmfont-xml: 1.1.4 +      parse-bmfont-xml: 1.1.6        phin: 2.9.3        xhr: 2.6.0        xtend: 4.0.2 @@ -2654,9 +2676,9 @@ packages:      requiresBuild: true      optional: true -  /marked@9.1.0: -    resolution: {integrity: sha512-VZjm0PM5DMv7WodqOUps3g6Q7dmxs9YGiFUZ7a2majzQTTCgX+6S6NAJHPvOhgFBzYz8s4QZKWWMfZKFmsfOgA==} -    engines: {node: '>= 16'} +  /marked@12.0.0: +    resolution: {integrity: sha512-Vkwtq9rLqXryZnWaQc86+FHLC6tr/fycMfYAhiOIXkrNmeGAyhSxjqu0Rs1i0bBqw5u0S7+lV9fdH2ZSVaoa0w==} +    engines: {node: '>= 18'}      hasBin: true      dev: false @@ -2733,14 +2755,14 @@ packages:        minimist: 1.2.8      dev: false -  /moment-timezone@0.5.43: -    resolution: {integrity: sha512-72j3aNyuIsDxdF1i7CEgV2FfxM1r6aaqJyLB2vwb33mXYyoyLly+F1zbWqhA3/bVIoJ4szlUoMbUnVdid32NUQ==} +  /moment-timezone@0.5.45: +    resolution: {integrity: sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==}      dependencies: -      moment: 2.29.4 +      moment: 2.30.1      dev: false -  /moment@2.29.4: -    resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} +  /moment@2.30.1: +    resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==}      dev: false    /mongodb@3.7.4: @@ -2776,16 +2798,16 @@ packages:        saslprep: 1.0.3      dev: false -  /mongoose-legacy-pluralize@1.0.2(mongoose@5.13.20): +  /mongoose-legacy-pluralize@1.0.2(mongoose@5.13.22):      resolution: {integrity: sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==}      peerDependencies:        mongoose: '*'      dependencies: -      mongoose: 5.13.20 +      mongoose: 5.13.22      dev: false -  /mongoose@5.13.20: -    resolution: {integrity: sha512-TjGFa/XnJYt+wLmn8y9ssjyO2OhBMeEBtOHb9iJM16EWu2Du6L1Q6zSiEK2ziyYQM8agb4tumNIQFzqbxId7MA==} +  /mongoose@5.13.22: +    resolution: {integrity: sha512-p51k/c4X/MfqeQ3I1ranlDiggLzNumZrTDD9CeezHwZxt2/btf+YZD7MCe07RAY2NgFYVMayq6jMamw02Jmf9w==}      engines: {node: '>=4.0.0'}      dependencies:        '@types/bson': 4.0.5 @@ -2793,7 +2815,7 @@ packages:        bson: 1.1.6        kareem: 2.3.2        mongodb: 3.7.4 -      mongoose-legacy-pluralize: 1.0.2(mongoose@5.13.20) +      mongoose-legacy-pluralize: 1.0.2(mongoose@5.13.22)        mpath: 0.8.4        mquery: 3.2.5        ms: 2.1.2 @@ -2853,12 +2875,18 @@ packages:        xtend: 4.0.2      dev: false -  /nanoid@3.3.6: -    resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} +  /nanoid@3.3.7: +    resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}      engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}      hasBin: true      dev: false +  /nanoid@5.0.6: +    resolution: {integrity: sha512-rRq0eMHoGZxlvaFOUdK1Ev83Bd1IgzzR+WJ3IbDJ7QOSdAxYjlurSPqFs9s4lJg29RT6nPwizFtJhQS6V5xgiA==} +    engines: {node: ^18 || >=20} +    hasBin: true +    dev: false +    /natural-compare@1.4.0:      resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}      dev: true @@ -2887,8 +2915,8 @@ packages:        sorted-array-functions: 1.3.0      dev: false -  /nodemailer@6.9.5: -    resolution: {integrity: sha512-/dmdWo62XjumuLc5+AYQZeiRj+PRR8y8qKtFCOyuOl1k/hckZd8durUUHs/ucKx6/8kN+wFxqKJlQ/LK/qR5FA==} +  /nodemailer@6.9.10: +    resolution: {integrity: sha512-qtoKfGFhvIFW5kLfrkw2R6Nm6Ur4LNUMykyqu6n9BRKJuyQrqEGwdXXUAbwWEKt33dlWUGXb7rzmJP/p4+O+CA==}      engines: {node: '>=6.0.0'}      dev: false @@ -2897,7 +2925,7 @@ packages:      engines: {node: '>=8.10.0'}      hasBin: true      dependencies: -      chokidar: 3.5.3 +      chokidar: 3.6.0        debug: 3.2.7(supports-color@5.5.0)        ignore-by-default: 1.0.1        minimatch: 3.1.2 @@ -2941,8 +2969,8 @@ packages:      engines: {node: '>=0.10.0'}      dev: false -  /object-inspect@1.12.3: -    resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} +  /object-inspect@1.13.1: +    resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}    /object-keys@1.1.1:      resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} @@ -3045,11 +3073,11 @@ packages:      resolution: {integrity: sha512-GxmsRea0wdGdYthjuUeWTMWPqm2+FAd4GI8vCvhgJsFnoGhTrLhXDDupwTo7rXVAgaLIGoVHDZS9p/5XbSqeWA==}      dev: false -  /parse-bmfont-xml@1.1.4: -    resolution: {integrity: sha512-bjnliEOmGv3y1aMEfREMBJ9tfL3WR0i0CKPj61DnSLaoxWR3nLrsQrEbCId/8rF4NyRF0cCqisSVXyQYWM+mCQ==} +  /parse-bmfont-xml@1.1.6: +    resolution: {integrity: sha512-0cEliVMZEhrFDwMh4SxIyVJpqYoOWDJ9P895tFuS+XuNzI5UBmBk5U5O4KuJdTnZpSBI4LFA2+ZiJaiwfSwlMA==}      dependencies:        xml-parse-from-string: 1.0.1 -      xml2js: 0.4.23 +      xml2js: 0.5.0      dev: false    /parse-headers@2.0.5: @@ -3103,6 +3131,7 @@ packages:    /phin@2.9.3:      resolution: {integrity: sha512-CzFr90qM24ju5f88quFC/6qohjC144rehe5n6DH900lgXmUe86+xCKc10ev56gRKC4/BkHUoG4uSiQgBiIXwDA==} +    deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.      dev: false    /picocolors@1.0.0: @@ -3131,11 +3160,11 @@ packages:      engines: {node: '>=4.0.0'}      dev: false -  /postcss@8.4.30: -    resolution: {integrity: sha512-7ZEao1g4kd68l97aWG/etQKPKq07us0ieSZ2TnFDk11i0ZfDW2AwKHYU8qv4MZKqN2fdBfg+7q0ES06UA73C1g==} +  /postcss@8.4.35: +    resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}      engines: {node: ^10 || ^12 || >=14}      dependencies: -      nanoid: 3.3.6 +      nanoid: 3.3.7        picocolors: 1.0.0        source-map-js: 1.0.2      dev: false @@ -3145,8 +3174,8 @@ packages:      engines: {node: '>= 0.8.0'}      dev: true -  /prettier@3.0.3: -    resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} +  /prettier@3.2.5: +    resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}      engines: {node: '>=14'}      hasBin: true      dev: true @@ -3176,6 +3205,10 @@ packages:      resolution: {integrity: sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==}      dev: true +  /proxy-from-env@1.1.0: +    resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} +    dev: false +    /psl@1.9.0:      resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} @@ -3190,22 +3223,22 @@ packages:        once: 1.4.0      dev: true -  /punycode@2.3.0: -    resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} +  /punycode@2.3.1: +    resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}      engines: {node: '>=6'}    /qs@6.10.4:      resolution: {integrity: sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==}      engines: {node: '>=0.6'}      dependencies: -      side-channel: 1.0.4 +      side-channel: 1.0.5      dev: true    /qs@6.11.0:      resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}      engines: {node: '>=0.6'}      dependencies: -      side-channel: 1.0.4 +      side-channel: 1.0.5      dev: false    /qs@6.5.3: @@ -3296,8 +3329,8 @@ packages:      resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}      dev: false -  /regenerator-runtime@0.14.0: -    resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==} +  /regenerator-runtime@0.14.1: +    resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}      dev: false    /regexp-clone@1.0.0: @@ -3307,7 +3340,7 @@ packages:    /request-progress@3.0.0:      resolution: {integrity: sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==}      dependencies: -      throttleit: 1.0.0 +      throttleit: 1.0.1      dev: true    /request@2.88.2: @@ -3363,8 +3396,8 @@ packages:      engines: {iojs: '>=1.0.0', node: '>=0.10.0'}      dev: true -  /rfdc@1.3.0: -    resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} +  /rfdc@1.3.1: +    resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==}      dev: true    /rimraf@3.0.2: @@ -3413,15 +3446,15 @@ packages:    /safer-buffer@2.1.2:      resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} -  /sanitize-html@2.11.0: -    resolution: {integrity: sha512-BG68EDHRaGKqlsNjJ2xUB7gpInPA8gVx/mvjO743hZaeMCZ2DwzW7xvsqZ+KNU4QKwj86HJ3uu2liISf2qBBUA==} +  /sanitize-html@2.12.1: +    resolution: {integrity: sha512-Plh+JAn0UVDpBRP/xEjsk+xDCoOvMBwQUf/K+/cBAVuTbtX8bj2VB7S1sL1dssVpykqp0/KPSesHrqXtokVBpA==}      dependencies:        deepmerge: 4.3.1        escape-string-regexp: 4.0.0        htmlparser2: 8.0.2        is-plain-object: 5.0.0        parse-srcset: 1.0.2 -      postcss: 8.4.30 +      postcss: 8.4.35      dev: false    /saslprep@1.0.3: @@ -3454,8 +3487,8 @@ packages:      hasBin: true      dev: true -  /semver@7.5.4: -    resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} +  /semver@7.6.0: +    resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}      engines: {node: '>=10'}      hasBin: true      dependencies: @@ -3495,6 +3528,17 @@ packages:        - supports-color      dev: false +  /set-function-length@1.2.1: +    resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==} +    engines: {node: '>= 0.4'} +    dependencies: +      define-data-property: 1.1.4 +      es-errors: 1.3.0 +      function-bind: 1.1.2 +      get-intrinsic: 1.2.4 +      gopd: 1.0.1 +      has-property-descriptors: 1.0.2 +    /setprototypeof@1.2.0:      resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}      dev: false @@ -3511,12 +3555,14 @@ packages:      engines: {node: '>=8'}      dev: true -  /side-channel@1.0.4: -    resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} +  /side-channel@1.0.5: +    resolution: {integrity: sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==} +    engines: {node: '>= 0.4'}      dependencies: -      call-bind: 1.0.2 -      get-intrinsic: 1.2.1 -      object-inspect: 1.12.3 +      call-bind: 1.0.7 +      es-errors: 1.3.0 +      get-intrinsic: 1.2.4 +      object-inspect: 1.13.1    /sift@13.5.2:      resolution: {integrity: sha512-+gxdEOMA2J+AI+fVsCqeNn7Tgx3M9ZN9jdi95939l1IJ8cZsqS8sqpJyOkic2SJk+1+98Uwryt/gL6XDaV+UZA==} @@ -3576,8 +3622,8 @@ packages:      dev: false      optional: true -  /sshpk@1.17.0: -    resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} +  /sshpk@1.18.0: +    resolution: {integrity: sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==}      engines: {node: '>=0.10.0'}      hasBin: true      dependencies: @@ -3674,8 +3720,8 @@ packages:      resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}      dev: true -  /throttleit@1.0.0: -    resolution: {integrity: sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==} +  /throttleit@1.0.1: +    resolution: {integrity: sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==}      dev: true    /through@2.3.8: @@ -3733,7 +3779,7 @@ packages:      engines: {node: '>=0.8'}      dependencies:        psl: 1.9.0 -      punycode: 2.3.0 +      punycode: 2.3.1      dev: false    /tough-cookie@4.1.3: @@ -3741,7 +3787,7 @@ packages:      engines: {node: '>=6'}      dependencies:        psl: 1.9.0 -      punycode: 2.3.0 +      punycode: 2.3.1        universalify: 0.2.0        url-parse: 1.5.10 @@ -3749,7 +3795,7 @@ packages:      resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==}      engines: {node: '>=14'}      dependencies: -      punycode: 2.3.0 +      punycode: 2.3.1      dev: false    /tslib@1.14.1: @@ -3796,8 +3842,8 @@ packages:      resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==}      dev: false -  /typescript@5.1.6: -    resolution: {integrity: sha512-zaWCozRZ6DLEWAWFrVDz1H6FVXzUSfTy5FUMWsQlU8Ym5JP9eO4xkTIROFCQvhQf61z6O/G6ugw3SgAnvvm+HA==} +  /typescript@5.3.3: +    resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}      engines: {node: '>=14.17'}      hasBin: true      dev: true @@ -3821,12 +3867,15 @@ packages:      resolution: {integrity: sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==}      dev: true +  /undici-types@5.26.5: +    resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} +    /universalify@0.2.0:      resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}      engines: {node: '>= 4.0.0'} -  /universalify@2.0.0: -    resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} +  /universalify@2.0.1: +    resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}      engines: {node: '>= 10.0.0'}      dev: true @@ -3843,7 +3892,7 @@ packages:    /uri-js@4.4.1:      resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}      dependencies: -      punycode: 2.3.0 +      punycode: 2.3.1    /url-parse@1.5.10:      resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} @@ -3902,13 +3951,13 @@ packages:        xml-name-validator: 4.0.0      dev: false -  /wait-on@7.0.1: -    resolution: {integrity: sha512-9AnJE9qTjRQOlTZIldAaf/da2eW0eSRSgcqq85mXQja/DW3MriHxkpODDSUEg+Gri/rKEcXUZHe+cevvYItaog==} +  /wait-on@7.2.0: +    resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}      engines: {node: '>=12.0.0'}      hasBin: true      dependencies: -      axios: 0.27.2 -      joi: 17.11.0 +      axios: 1.6.7 +      joi: 17.12.2        lodash: 4.17.21        minimist: 1.2.8        rxjs: 7.8.1 @@ -3974,8 +4023,8 @@ packages:    /wrappy@1.0.2:      resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} -  /ws@8.14.2: -    resolution: {integrity: sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==} +  /ws@8.16.0: +    resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}      engines: {node: '>=10.0.0'}      peerDependencies:        bufferutil: ^4.0.1 @@ -4005,8 +4054,8 @@ packages:      resolution: {integrity: sha512-ErcKwJTF54uRzzNMXq2X5sMIy88zJvfN2DmdoQvy7PAFJ+tPRU6ydWuOKNMyfmOjdyBQTFREi60s0Y0SyI0G0g==}      dev: false -  /xml2js@0.4.23: -    resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} +  /xml2js@0.5.0: +    resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==}      engines: {node: '>=4.0.0'}      dependencies:        sax: 1.3.0 diff --git a/src/lib/activitypub.ts b/src/lib/activitypub.ts index a06991d..19aee08 100644 --- a/src/lib/activitypub.ts +++ b/src/lib/activitypub.ts @@ -142,7 +142,10 @@ export const handlePollResponse = async (req: Request, res: Response) => {          if (!event.attendees?.some((el) => el.id === attributedTo)) {              const attendeeName =                  apActor.preferredUsername || apActor.name || attributedTo; -            const newAttendee: Partial<IAttendee> = { +            const newAttendee: Pick< +                IAttendee, +                "name" | "status" | "id" | "number" | "visibility" +            > = {                  name: attendeeName,                  status: "attending",                  id: attributedTo, diff --git a/src/lib/activitypub/templates.ts b/src/lib/activitypub/templates.ts index cab9ada..d0c8cc2 100644 --- a/src/lib/activitypub/templates.ts +++ b/src/lib/activitypub/templates.ts @@ -8,7 +8,7 @@ export const successfulRSVPResponse = ({      fullAttendee,  }: {      event: IEvent; -    newAttendee: { id: string; name: string }; +    newAttendee: { id?: string; name: string };      fullAttendee: { _id: string };  }) =>      `<span class="h-card"><a href="${newAttendee.id}" class="u-url mention">@<span>${newAttendee.name}</span></a></span> Thanks for RSVPing! You can remove yourself from the RSVP list by clicking <a href="https://${config.general.domain}/oneclickunattendevent/${event.id}/${fullAttendee._id}">here</a>.`; diff --git a/src/routes/frontend.ts b/src/routes/frontend.ts index 5317819..51c207a 100644 --- a/src/routes/frontend.ts +++ b/src/routes/frontend.ts @@ -293,8 +293,11 @@ router.get("/:eventID", async (req: Request, res: Response) => {          }          let metadata = {              title: event.name, -            description: marked -                .parse(event.description, { renderer: renderPlain() }) +            description: ( +                marked.parse(event.description, { +                    renderer: renderPlain(), +                }) as string +            )                  .split(" ")                  .splice(0, 40)                  .join(" ") @@ -455,10 +458,11 @@ router.get("/group/:eventGroupID", async (req: Request, res: Response) => {          const metadata = {              title: eventGroup.name, -            description: marked -                .parse(eventGroup.description, { +            description: ( +                marked.parse(eventGroup.description, {                      renderer: renderPlain(), -                }) +                }) as string +            )                  .split(" ")                  .splice(0, 40)                  .join(" ") diff --git a/src/routes/group.ts b/src/routes/group.ts index 8afd766..1bbf501 100644 --- a/src/routes/group.ts +++ b/src/routes/group.ts @@ -269,10 +269,11 @@ router.post("/known/groups", async (req: Request, res: Response) => {              return {                  id: group.id,                  name: group.name, -                description: marked -                    .parse(group.description, { +                description: ( +                    marked.parse(group.description, {                          renderer: renderPlain(), -                    }) +                    }) as string +                )                      .split(" ")                      .splice(0, 40)                      .join(" ") diff --git a/src/util/markdown.ts b/src/util/markdown.ts index bab50bd..666ed73 100644 --- a/src/util/markdown.ts +++ b/src/util/markdown.ts @@ -46,7 +46,7 @@ export const renderPlain = () => {  };  export const markdownToSanitizedHTML = (markdown: string) => { -    const html = marked.parse(markdown); +    const html = marked.parse(markdown) as string;      const window = new JSDOM("").window;      const purify = DOMPurify(window);      const clean = purify.sanitize(html); diff --git a/tsconfig.json b/tsconfig.json index 6d59c57..fef389a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@  {      "compilerOptions": {          "target": "ES2020", -        "module": "ES2020", +        "module": "NodeNext",          "allowJs": true,          "checkJs": true,          "removeComments": true, @@ -15,7 +15,7 @@          "esModuleInterop": true,          "experimentalDecorators": true,          "emitDecoratorMetadata": true, -        "moduleResolution": "nodenext", +        "moduleResolution": "NodeNext",          "skipLibCheck": true      },      "include": ["./src/**/*"]  | 
