Repository: apollographql/apollo-server
Pull request #7539 (2023-05-01 23:03:43)

🔓 🐛 safelist cdn scripts in meta tag in landing page
[Slack context](https://apollograph.slack.com/archives/CR62ZA5E0/p1682974036307769)

Pierre found that in Safari the AS embedded Sandbo str8 up doesn't work ?! How long has this been going on without us knowing? Shocked. 

Anyways, we needed to add a [CSP](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy) for Safari to take these scripts seriously, and I did so via[ `<meta` tag.](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta) using the `nonce` option. 

**To test**

Download the `apollo-server-typescript` code sandbox example & install & run on Safari.

netlify[bot]: ### <span aria-hidden="true">👷</span> Deploy request for *apollo-server-docs* pending review.
[Visit the deploys page to approve it](https://app.netlify.com/sites/apollo-server-docs/deploys)

|  Name | Link |
|:-:|------------------------|
|<span aria-hidden="true">🔨</span> Latest commit | 5190f1cc0f908a8a84bff87367a4ff1af59950fd |
codesandbox-ci[bot]: This pull request is automatically built and testable in [CodeSandbox](https://codesandbox.io).

  To see build info of the built libraries, click [here](https://ci.codesandbox.io/status/apollographql/apollo-server/pr/7539/builds/373593) or the icon next to each commit SHA.

Latest deployment of this branch, based on commit 5190f1cc0f908a8a84bff87367a4ff1af59950fd:

|Sandbox| Source |
|--|--|
|[Apollo Server Typescript](https://codesandbox.io/s/apollo-server-typescript-si7nyy)| Configuration |
|[Apollo Server](https://codesandbox.io/s/apollo-server-oztcsj)| Configuration |


Patch:
diff --git a/.changeset/nice-stingrays-yell.md b/.changeset/nice-stingrays-yell.md
new file mode 100644
index 000000000..7105d60d3
--- /dev/null
+++ b/.changeset/nice-stingrays-yell.md
@@ -0,0 +1,5 @@
+---
+'@apollo/server-integration-testsuite': patch
+---
+
+Update graphql-http dependency
diff --git a/.changeset/sweet-planets-hang.md b/.changeset/sweet-planets-hang.md
new file mode 100644
index 000000000..5d2cd5d95
--- /dev/null
+++ b/.changeset/sweet-planets-hang.md
@@ -0,0 +1,5 @@
+---
+'@apollo/server': patch
+---
+
+🐛 Bug Fix for Apollo Server Landing Pages on Safari. A Content Security Policy was added to our landing page html so that Safari can run the inline scripts we use to call the Embedded Sandbox & Explorer.
diff --git a/.github/workflows/lock.yml b/.github/workflows/lock.yml
index 5c8696521..ffc7cd120 100644
--- a/.github/workflows/lock.yml
+++ b/.github/workflows/lock.yml
@@ -2,7 +2,7 @@ name: 'Lock Threads'
 
 on:
   schedule:
-    - cron: '0 0 * * *'
+    - cron: '0 * * * *'
 
 permissions: {}
 jobs:
@@ -18,8 +18,18 @@ jobs:
           github-token: ${{ secrets.GITHUB_TOKEN }}
 
           issue-inactive-days: '30'
-          issue-comment: >
-            This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
+          exclude-any-issue-labels: '💬 discussion'
+          # issue-comment: >
+          #   This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
+
+          #   Please note this issue tracker is not a help forum. We recommend using [StackOverflow](https://stackoverflow.com/questions/tagged/apollo-server) or our [discord server](https://discord.gg/graphos) for questions.
 
-            For general questions, we recommend using [StackOverflow](https://stackoverflow.com/questions/tagged/apollo-server) or our [discord server](https://discord.gg/graphos).
           pr-inactive-days: '30'
+          exclude-any-pr-labels: '💬 discussion'
+          # pr-comment: >
+          #   This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.
+
+          #   Please note this issue tracker is not a help forum. We recommend
+          #   using
+          #   [StackOverflow](https://stackoverflow.com/questions/tagged/apollo-server)
+          #   or our [discord server](https://discord.gg/graphos) for questions.
diff --git a/.gitleaks.toml b/.gitleaks.toml
deleted file mode 100644
index 22dfe6cf8..000000000
--- a/.gitleaks.toml
+++ /dev/null
@@ -1,49 +0,0 @@
-# This file exists primarily to influence scheduled scans that Apollo runs of all repos in Apollo-managed orgs. 
-# This is an Apollo-Internal link, but more information about these scans is available here:
-# https://apollographql.atlassian.net/wiki/spaces/SecOps/pages/81330213/Everything+Static+Application+Security+Testing#Scheduled-Scans.1
-# 
-# Apollo is using Gitleaks (https://github.com/gitleaks/gitleaks) to run these scans.
-# However, this file is not something that Gitleaks natively consumes. This file is an
-# Apollo-convention. Prior to scanning a repo, Apollo merges
-# our standard Gitleaks configuration (which is largely just the Gitleaks-default config) with
-# this file if it exists in a repo. The combined config is then used to scan a repo.
-# 
-# We did this because the natively-supported allowlisting functionality in Gitleaks didn't do everything we wanted
-# or wasn't as robust as we needed. For example, one of the allowlisting options offered by Gitleaks depends on the line number
-# on which a false positive secret exists to allowlist it. (https://github.com/gitleaks/gitleaks#gitleaksignore).
-# This creates a fairly fragile allowlisting mechanism. This file allows us to leverage the full capabilities of the Gitleaks rule syntax
-# to create allowlisting functionality.
-
-
-[[ rules ]]
-    id = "high-entropy-base64"
-    [ rules.allowlist ]
-        commits = [
-            # Allowlist https://github.com/apollographql/apollo-server/blob/48aa02fe3bd6bad0a61ef122acef5fda38920df1/docs/source/getting-started.md?plain=1#L175
-            # This is a blob of data from StackEdit
-            "48aa02fe3bd6bad0a61ef122acef5fda38920df1",
-            # Allowlist https://github.com/apollographql/apollo-server/blob/213acbba32829c83f99f12d81ed9e88f3fe1c8cb/docs/_config.yml#L36
-            # This is a segment key that Apollo SecOps was unable to utilize with Segment
-            "213acbba32829c83f99f12d81ed9e88f3fe1c8cb",
-            
-        ]
-
-[[ rules ]]
-    id = "generic-api-key"
-    [ rules.allowlist ]
-        commits = [
-            # Allowlist https://github.com/apollographql/apollo-server/blob/89da132450677ae69aef156ade4c3a11e3885a33/test/testApolloServer.js#L56
-            # Code comments indicate the value being identified is not a secret
-            "89da132450677ae69aef156ade4c3a11e3885a33",
-            
-        ]
-
-[[ rules ]]
-    id = "private-key"
-    [ rules.allowlist ]
-        commits = [
-            # Allowlist https://github.com/apollographql/apollo-server/blob/aadbeb647485207b408f620a10d8c385ce4ee25f/packages/apollo-server/src/__tests__/stoppable/fixture.key#L1
-            # Based on file path, the private key is part of a test and not actually in-use
-            "aadbeb647485207b408f620a10d8c385ce4ee25f",
-            
-        ]
diff --git a/docs/source/api/plugin/landing-pages.mdx b/docs/source/api/plugin/landing-pages.mdx
index 2a4fcc6de..2b5871604 100644
--- a/docs/source/api/plugin/landing-pages.mdx
+++ b/docs/source/api/plugin/landing-pages.mdx
@@ -221,21 +221,6 @@ These are the fields you can include in the `embed` option you pass to the `Apol
 <tr>
 <td>
 
-###### `runTelemetry`
-
-`boolean`
-
-</td>
-<td>
-
-If `false`, the embedded Explorer rendered by Apollo Server doesn't initialize error or event tracking.
-
-</td>
-</tr>
-
-<tr>
-<td>
-
 ###### `initialState`
 
 `Object`
@@ -615,21 +600,6 @@ If `dark`, the Explorer's dark theme is used. If `light`, the light theme is use
 
 The default value is `dark`.
 
-</td>
-</tr>
-
-<tr>
-<td>
-
-###### `runTelemetry`
-
-`boolean`
-
-</td>
-<td>
-
-If `false`, the embedded Explorer rendered by Apollo Server doesn't initialize error or event tracking.
-
 </td>
 </tr>
 </tbody>
diff --git a/docs/source/deployment/lambda.mdx b/docs/source/deployment/lambda.mdx
index 477a57c69..bcb05dcac 100644
--- a/docs/source/deployment/lambda.mdx
+++ b/docs/source/deployment/lambda.mdx
@@ -444,20 +444,16 @@ const server = new ApolloServer<MyContext>({
 });
 
 // This final export is important!
-export const graphqlHandler = startServerAndCreateLambdaHandler(
-  server,
-  handlers.createAPIGatewayProxyEventV2RequestHandler(),
-  {
-    // highlight-start
-    context: async ({ event, context }) => {
-      return {
-        lambdaEvent: event,
-        lambdaContext: context,
-      };
-    },
-    // highlight-end
-  }
-);
+export const graphqlHandler = startServerAndCreateLambdaHandler(server, {
+  // highlight-start
+  context: async ({ event, context }) => {
+    return {
+      lambdaEvent: event,
+      lambdaContext: context,
+    };
+  },
+  // highlight-end
+});
 ```
 
 </MultiCodeBlock>
diff --git a/package-lock.json b/package-lock.json
index 5b3fda9f8..126e00605 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -10,41 +10,41 @@
         "packages/*"
       ],
       "devDependencies": {
-        "@apollo/client": "3.7.13",
-        "@apollo/gateway": "2.4.2",
+        "@apollo/client": "3.7.11",
+        "@apollo/gateway": "2.4.1",
         "@apollo/server-plugin-landing-page-graphql-playground": "4.0.0",
-        "@apollo/subgraph": "2.4.2",
+        "@apollo/subgraph": "2.4.1",
         "@apollo/utils.createhash": "2.0.1",
         "@changesets/changelog-github": "0.4.8",
         "@changesets/cli": "2.26.1",
-        "@graphql-codegen/cli": "3.3.1",
-        "@graphql-codegen/typescript-operations": "3.0.4",
-        "@graphql-tools/mock": "8.7.20",
-        "@graphql-tools/schema": "9.0.19",
+        "@graphql-codegen/cli": "3.3.0",
+        "@graphql-codegen/typescript-operations": "3.0.3",
+        "@graphql-tools/mock": "8.7.19",
+        "@graphql-tools/schema": "9.0.17",
         "@josephg/resolvable": "1.0.1",
-        "@rollup/plugin-commonjs": "24.1.0",
+        "@rollup/plugin-commonjs": "24.0.1",
         "@types/async-retry": "1.4.5",
         "@types/body-parser": "1.19.2",
         "@types/compression": "1.7.2",
         "@types/cors": "2.8.13",
         "@types/express": "4.17.17",
-        "@types/express-serve-static-core": "4.17.34",
-        "@types/lodash": "4.14.194",
+        "@types/express-serve-static-core": "4.17.33",
+        "@types/lodash": "4.14.192",
         "@types/lodash.sumby": "4.6.7",
         "@types/lodash.xorby": "4.7.7",
         "@types/negotiator": "0.6.1",
-        "@types/node": "14.18.43",
+        "@types/node": "14.18.42",
         "@types/node-fetch": "2.6.3",
         "@types/qs-middleware": "1.0.1",
         "@types/retry": "0.12.2",
-        "@types/superagent": "4.1.17",
+        "@types/superagent": "4.1.16",
         "@types/supertest": "2.0.12",
         "@types/test-listen": "1.1.0",
         "@types/type-is": "1.6.3",
         "@types/uuid": "9.0.1",
         "@types/whatwg-mimetype": "3.0.0",
-        "@typescript-eslint/eslint-plugin": "5.59.1",
-        "@typescript-eslint/parser": "5.59.1",
+        "@typescript-eslint/eslint-plugin": "5.57.1",
+        "@typescript-eslint/parser": "5.57.1",
         "@vendia/serverless-express": "4.10.1",
         "awaiting": "3.0.0",
         "body-parser": "1.20.2",
@@ -52,26 +52,26 @@
         "compression": "1.7.4",
         "cors": "2.8.5",
         "cspell": "6.31.1",
-        "eslint": "8.39.0",
+        "eslint": "8.38.0",
         "eslint-plugin-import": "2.27.5",
         "express": "4.18.2",
-        "glob": "10.2.2",
+        "glob": "10.0.0",
         "graphql": "16.6.0",
         "graphql-tag": "2.12.6",
         "jest": "29.5.0",
         "jest-config": "29.5.0",
-        "jest-junit": "16.0.0",
+        "jest-junit": "15.0.0",
         "jest-mock": "29.5.0",
         "jest-mock-random": "1.1.1",
         "jest-serializer-html": "7.1.0",
         "lodash.sumby": "4.6.0",
-        "nock": "13.3.1",
+        "nock": "13.3.0",
         "node-fetch": "2.6.9",
-        "prettier": "2.8.8",
+        "prettier": "2.8.7",
         "qs-middleware": "1.0.3",
         "requisition": "1.7.0",
         "rimraf": "5.0.0",
-        "rollup": "3.21.2",
+        "rollup": "3.20.2",
         "supertest": "6.3.3",
         "test-listen": "1.1.0",
         "ts-jest": "29.1.0",
@@ -97,9 +97,9 @@
       "link": true
     },
     "node_modules/@apollo/client": {
-      "version": "3.7.13",
-      "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.13.tgz",
-      "integrity": "sha512-wi63WnO2mhb6uHGB/8x1qIOL4ZtZocrxdHS0VBQ9KwBDkwoP/TdVVgZ29J2WkiAPmJ0SK07ju4R2AjHor1gPxQ==",
+      "version": "3.7.11",
+      "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.11.tgz",
+      "integrity": "sha512-uLg2KtxoAyj9ta7abLxXx8cGRM7HypCkXVmxtL7Ko//N5g37aoJ3ca7VYoFCMUFO1BXBulj+yKVl0U3+ILj5AQ==",
       "dependencies": {
         "@graphql-typed-document-node/core": "^3.1.1",
         "@wry/context": "^0.7.0",
@@ -138,13 +138,13 @@
       }
     },
     "node_modules/@apollo/composition": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/composition/-/composition-2.4.2.tgz",
-      "integrity": "sha512-XLBu5Q9MnFrNjEDBw4cxLeGSan9rI75807oyG7qnnEcO0hwLuVL+fg/Md1RW1KBFw+JlMadtpV8UTx+kdSGRaw==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/composition/-/composition-2.4.1.tgz",
+      "integrity": "sha512-3da3gNMYw1OwsPJjH9jGkhDJffK3Wn4pu2m5CeJixpv8g5vBCFxlXOZ1ItsN+oNPkwmUplPUuTAWKAvwGfoYOA==",
       "dev": true,
       "dependencies": {
-        "@apollo/federation-internals": "2.4.2",
-        "@apollo/query-graphs": "2.4.2"
+        "@apollo/federation-internals": "2.4.1",
+        "@apollo/query-graphs": "2.4.1"
       },
       "engines": {
         "node": ">=14.15.0"
@@ -154,9 +154,9 @@
       }
     },
     "node_modules/@apollo/federation-internals": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/federation-internals/-/federation-internals-2.4.2.tgz",
-      "integrity": "sha512-yWoT2K5hV9wbqR1wradCIX9k6p5UMEOOZZO8K5XMT0S7GK4hVCeT1TiYl3dfwsv09lfwMa9YhTPp4+ompnfsww==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/federation-internals/-/federation-internals-2.4.1.tgz",
+      "integrity": "sha512-C0jI/jApL0DIY2a6ig/RDRDpWinUpc3hSARhyBVNFQX0xtnuW+AjB+lpRZoEoWOZzGjfbaN+zmbUUqkxqjlc9Q==",
       "dev": true,
       "dependencies": {
         "@types/uuid": "^9.0.0",
@@ -181,14 +181,14 @@
       }
     },
     "node_modules/@apollo/gateway": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/gateway/-/gateway-2.4.2.tgz",
-      "integrity": "sha512-5SfyuCNhXKkGxcuYJo/A0bzetVTIEZyUpx4lpDintQk47h1zjIRnC7yjd2+lGppZIyNlO5/rYZzZdI0C6qYUZA==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/gateway/-/gateway-2.4.1.tgz",
+      "integrity": "sha512-rNdaxpStWP+2yG2sQZPXIuHyl9RB3K1AuM4LVH4z207HWdOLYubqmfCJF7aQrhEXuHcOsU675D5BFQ6xcNhv1Q==",
       "dev": true,
       "dependencies": {
-        "@apollo/composition": "2.4.2",
-        "@apollo/federation-internals": "2.4.2",
-        "@apollo/query-planner": "2.4.2",
+        "@apollo/composition": "2.4.1",
+        "@apollo/federation-internals": "2.4.1",
+        "@apollo/query-planner": "2.4.1",
         "@apollo/server-gateway-interface": "^1.1.0",
         "@apollo/usage-reporting-protobuf": "^4.1.0",
         "@apollo/utils.createhash": "^2.0.0",
@@ -237,12 +237,12 @@
       }
     },
     "node_modules/@apollo/query-graphs": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/query-graphs/-/query-graphs-2.4.2.tgz",
-      "integrity": "sha512-na+R+XJi+QFXJ41+4vPclNsWbgUl6UdNpVJzWNJMeuztkSbtb4NwczRg5vjU8VpdgczrciUpcXRA1udBR4I1ww==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/query-graphs/-/query-graphs-2.4.1.tgz",
+      "integrity": "sha512-14dnaZ3DnY/dLOsOI19BQkfkda3cxPmen+t8S/LqAOHMDky/vrgccoDIb3hc7TSlM08EJgRQiVytRjdhQzS3yQ==",
       "dev": true,
       "dependencies": {
-        "@apollo/federation-internals": "2.4.2",
+        "@apollo/federation-internals": "2.4.1",
         "deep-equal": "^2.0.5",
         "ts-graphviz": "^1.5.4",
         "uuid": "^9.0.0"
@@ -264,13 +264,13 @@
       }
     },
     "node_modules/@apollo/query-planner": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/query-planner/-/query-planner-2.4.2.tgz",
-      "integrity": "sha512-Q6Kgx/JRe2dYvkuNVD7gmwN5P6vTPbjT4SDum3CqaJo47Bm4wLjynvpL0pvDxpAZHgah8rFRRAscU4eSVetnrw==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/query-planner/-/query-planner-2.4.1.tgz",
+      "integrity": "sha512-s16fb5/AZMhxdjuNI/Jm1YDRWFZSeSOuNn72YOdnZzkdC1OUNsuc3y8BDn9QY6PK9UK4c6gK4seWOb3HYkxDfQ==",
       "dev": true,
       "dependencies": {
-        "@apollo/federation-internals": "2.4.2",
-        "@apollo/query-graphs": "2.4.2",
+        "@apollo/federation-internals": "2.4.1",
+        "@apollo/query-graphs": "2.4.1",
         "@apollo/utils.keyvaluecache": "^2.1.0",
         "chalk": "^4.1.0",
         "deep-equal": "^2.0.5",
@@ -314,13 +314,13 @@
       "link": true
     },
     "node_modules/@apollo/subgraph": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/subgraph/-/subgraph-2.4.2.tgz",
-      "integrity": "sha512-QyIz1aPHu/R47x4nNurmq0QpZ99fnPjNG29CKnmhSEIRMnk2BKg5DJZJ/7iMwPs+PLOHbPtEVdbG9b3dVvv/Dw==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/subgraph/-/subgraph-2.4.1.tgz",
+      "integrity": "sha512-z9o0qMHyxMjBvQzQvuNMuxvI0GTttdMr3p2tlJN2LdL792/ZhN6hhdBEaV+n6C2nZ4Dw+bV5jq5I+6fBlnmV3Q==",
       "dev": true,
       "dependencies": {
         "@apollo/cache-control-types": "^1.0.2",
-        "@apollo/federation-internals": "2.4.2"
+        "@apollo/federation-internals": "2.4.1"
       },
       "engines": {
         "node": ">=14.15.0"
@@ -2695,18 +2695,18 @@
       }
     },
     "node_modules/@eslint/js": {
-      "version": "8.39.0",
-      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz",
-      "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
+      "version": "8.38.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz",
+      "integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
       }
     },
     "node_modules/@graphql-codegen/cli": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-3.3.1.tgz",
-      "integrity": "sha512-4Es8Y9zFeT0Zx2qRL7L3qXDbbqvXK6aID+8v8lP6gaYD+uWx3Jd4Hsq5vxwVBR+6flm0BW/C85Qm0cvmT7O6LA==",
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-3.3.0.tgz",
+      "integrity": "sha512-KRQoAG0stor/ztMsBxHqxnwQzcM1DEZigwzah1LFej8bh6TT1WpUt37zt6PH0EdlMpelmeN3keY4Pq6GMd4ADw==",
       "dev": true,
       "dependencies": {
         "@babel/generator": "^7.18.13",
@@ -2756,15 +2756,15 @@
       }
     },
     "node_modules/@graphql-codegen/cli/node_modules/@whatwg-node/fetch": {
-      "version": "0.8.5",
-      "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.5.tgz",
-      "integrity": "sha512-pNvoYGPa0hjbVqs+r0blMjaWlrMeb0snwRCTAEdng5Jm00PY9wO4K8m99BmfLn6WED0FKOXTlF53+en/3xybqw==",
+      "version": "0.8.4",
+      "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.4.tgz",
+      "integrity": "sha512-xK0NGWt49P+JmsdfN+8zmHzZoscENrV0KL1SyyncvWkc6vbFmSqGSpvItEBuhj1PAfTGFEUpyiRMCsut2hLy/Q==",
       "dev": true,
       "dependencies": {
         "@peculiar/webcrypto": "^1.4.0",
         "@whatwg-node/node-fetch": "^0.3.3",
         "busboy": "^1.6.0",
-        "urlpattern-polyfill": "^7.0.0",
+        "urlpattern-polyfill": "^6.0.2",
         "web-streams-polyfill": "^3.2.1"
       }
     },
@@ -2833,14 +2833,14 @@
       "dev": true
     },
     "node_modules/@graphql-codegen/typescript": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-3.0.4.tgz",
-      "integrity": "sha512-x4O47447DZrWNtE/l5CU9QzzW4m1RbmCEdijlA3s2flG/y1Ckqdemob4CWfilSm5/tZ3w1junVDY616RDTSvZw==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-3.0.3.tgz",
+      "integrity": "sha512-oVV4/RPs3Lmr2XqywlNDmLhNBCIhefA8rYcuxoWcnd/WRc6GNRm1b2NOIzDhhF4xriVluMyk3QQVRepkdj9enw==",
       "dev": true,
       "dependencies": {
         "@graphql-codegen/plugin-helpers": "^4.2.0",
         "@graphql-codegen/schema-ast": "^3.0.1",
-        "@graphql-codegen/visitor-plugin-common": "3.1.1",
+        "@graphql-codegen/visitor-plugin-common": "3.1.0",
         "auto-bind": "~4.0.0",
         "tslib": "~2.5.0"
       },
@@ -2849,14 +2849,14 @@
       }
     },
     "node_modules/@graphql-codegen/typescript-operations": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-3.0.4.tgz",
-      "integrity": "sha512-6yE2OL2+WJ1vd5MwFEGXpaxsFGzjAGUytPVHDML3Bi3TwP1F3lnQlIko4untwvHW0JhZEGQ7Ck30H9HjcxpdKA==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-3.0.3.tgz",
+      "integrity": "sha512-RtMRFpZ8nyXxwurdxklWVIHX9U6/fGWYWEpvarNIIci17BKajZPzdBPKP2GKhUEWzZVGNESqH3RX38jt0onLqQ==",
       "dev": true,
       "dependencies": {
         "@graphql-codegen/plugin-helpers": "^4.2.0",
-        "@graphql-codegen/typescript": "^3.0.4",
-        "@graphql-codegen/visitor-plugin-common": "3.1.1",
+        "@graphql-codegen/typescript": "^3.0.3",
+        "@graphql-codegen/visitor-plugin-common": "3.1.0",
         "auto-bind": "~4.0.0",
         "tslib": "~2.5.0"
       },
@@ -2877,9 +2877,9 @@
       "dev": true
     },
     "node_modules/@graphql-codegen/visitor-plugin-common": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-3.1.1.tgz",
-      "integrity": "sha512-uAfp+zu/009R3HUAuTK2AamR1bxIltM6rrYYI6EXSmkM3rFtFsLTuJhjUDj98HcUCszJZrADppz8KKLGRUVlNg==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-3.1.0.tgz",
+      "integrity": "sha512-S4BO/xP38eoEDULwbem5QeV7yWA8DpbcSGkvwrnMfVQW08nL6uHliCSV8hiuAi7Mhx7snVir4Iumk8uIDRVu6Q==",
       "dev": true,
       "dependencies": {
         "@graphql-codegen/plugin-helpers": "^4.2.0",
@@ -3432,13 +3432,13 @@
       }
     },
     "node_modules/@graphql-tools/mock": {
-      "version": "8.7.20",
-      "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.20.tgz",
-      "integrity": "sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ==",
+      "version": "8.7.19",
+      "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.19.tgz",
+      "integrity": "sha512-LT2boYM+Y1vGFEhzmC7xDFRL8RPG20FbNcuk2/hHGH0Kh8K1hkItvL89tul3Pl7N6xerOnDZ3c3fx7Ls5GuFxA==",
       "dev": true,
       "dependencies": {
-        "@graphql-tools/schema": "^9.0.18",
-        "@graphql-tools/utils": "^9.2.1",
+        "@graphql-tools/schema": "9.0.17",
+        "@graphql-tools/utils": "9.2.1",
         "fast-json-stable-stringify": "^2.1.0",
         "tslib": "^2.4.0"
       },
@@ -3447,9 +3447,9 @@
       }
     },
     "node_modules/@graphql-tools/optimize": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.4.0.tgz",
-      "integrity": "sha512-dJs/2XvZp+wgHH8T5J2TqptT9/6uVzIYvA6uFACha+ufvdMBedkfR4b4GbT8jAKLRARiqRTxy3dctnwkTM2tdw==",
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.3.1.tgz",
+      "integrity": "sha512-5j5CZSRGWVobt4bgRRg7zhjPiSimk+/zIuColih8E8DxuFOaJ+t0qu7eZS5KXWBkjcd4BPNuhUPpNlEmHPqVRQ==",
       "dev": true,
       "dependencies": {
         "tslib": "^2.4.0"
@@ -3501,13 +3501,13 @@
       }
     },
     "node_modules/@graphql-tools/relay-operation-optimizer": {
-      "version": "6.5.18",
-      "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.5.18.tgz",
-      "integrity": "sha512-mc5VPyTeV+LwiM+DNvoDQfPqwQYhPV/cl5jOBjTgSniyaq8/86aODfMkrE2OduhQ5E00hqrkuL2Fdrgk0w1QJg==",
+      "version": "6.5.17",
+      "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.5.17.tgz",
+      "integrity": "sha512-hHPEX6ccRF3+9kfVz0A3In//Dej7QrHOLGZEokBmPDMDqn9CS7qUjpjyGzclbOX0tRBtLfuFUZ68ABSac3P1nA==",
       "dev": true,
       "dependencies": {
         "@ardatan/relay-compiler": "12.0.0",
-        "@graphql-tools/utils": "^9.2.1",
+        "@graphql-tools/utils": "9.2.1",
         "tslib": "^2.4.0"
       },
       "peerDependencies": {
@@ -3515,25 +3515,25 @@
       }
     },
     "node_modules/@graphql-tools/schema": {
-      "version": "9.0.19",
-      "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz",
-      "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==",
+      "version": "9.0.17",
+      "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.17.tgz",
+      "integrity": "sha512-HVLq0ecbkuXhJlpZ50IHP5nlISqH2GbNgjBJhhRzHeXhfwlUOT4ISXGquWTmuq61K0xSaO0aCjMpxe4QYbKTng==",
       "dependencies": {
-        "@graphql-tools/merge": "^8.4.1",
-        "@graphql-tools/utils": "^9.2.1",
+        "@graphql-tools/merge": "8.4.0",
+        "@graphql-tools/utils": "9.2.1",
         "tslib": "^2.4.0",
-        "value-or-promise": "^1.0.12"
+        "value-or-promise": "1.0.12"
       },
       "peerDependencies": {
         "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0"
       }
     },
     "node_modules/@graphql-tools/schema/node_modules/@graphql-tools/merge": {
-      "version": "8.4.1",
-      "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.1.tgz",
-      "integrity": "sha512-hssnPpZ818mxgl5+GfyOOSnnflAxiaTn1A1AojZcIbh4J52sS1Q0gSuBR5VrnUDjuxiqoCotpXdAQl+K+U6KLQ==",
+      "version": "8.4.0",
+      "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.0.tgz",
+      "integrity": "sha512-3XYCWe0d3I4F1azNj1CdShlbHfTIfiDgj00R9uvFH8tHKh7i1IWN3F7QQYovcHKhayaR6zPok3YYMESYQcBoaA==",
       "dependencies": {
-        "@graphql-tools/utils": "^9.2.1",
+        "@graphql-tools/utils": "9.2.1",
         "tslib": "^2.4.0"
       },
       "peerDependencies": {
@@ -4300,16 +4300,6 @@
         "node": ">=10.12.0"
       }
     },
-    "node_modules/@pkgjs/parseargs": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
-      "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
-      "dev": true,
-      "optional": true,
-      "engines": {
-        "node": ">=14"
-      }
-    },
     "node_modules/@protobufjs/aspromise": {
       "version": "1.1.2",
       "license": "BSD-3-Clause"
@@ -4361,9 +4351,9 @@
       "dev": true
     },
     "node_modules/@rollup/plugin-commonjs": {
-      "version": "24.1.0",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.1.0.tgz",
-      "integrity": "sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==",
+      "version": "24.0.1",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.1.tgz",
+      "integrity": "sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==",
       "dev": true,
       "dependencies": {
         "@rollup/pluginutils": "^5.0.1",
@@ -4606,14 +4596,13 @@
       }
     },
     "node_modules/@types/express-serve-static-core": {
-      "version": "4.17.34",
-      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz",
-      "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==",
+      "version": "4.17.33",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz",
+      "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==",
       "dependencies": {
         "@types/node": "*",
         "@types/qs": "*",
-        "@types/range-parser": "*",
-        "@types/send": "*"
+        "@types/range-parser": "*"
       }
     },
     "node_modules/@types/graceful-fs": {
@@ -4683,9 +4672,9 @@
       }
     },
     "node_modules/@types/lodash": {
-      "version": "4.14.194",
-      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.194.tgz",
-      "integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==",
+      "version": "4.14.192",
+      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz",
+      "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==",
       "dev": true
     },
     "node_modules/@types/lodash.sumby": {
@@ -4723,9 +4712,9 @@
       "license": "MIT"
     },
     "node_modules/@types/node": {
-      "version": "14.18.43",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.43.tgz",
-      "integrity": "sha512-n3eFEaoem0WNwLux+k272P0+aq++5o05bA9CfiwKPdYPB5ZambWKdWoeHy7/OJiizMhzg27NLaZ6uzjLTzXceQ=="
+      "version": "14.18.42",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.42.tgz",
+      "integrity": "sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg=="
     },
     "node_modules/@types/node-fetch": {
       "version": "2.6.3",
@@ -4778,15 +4767,6 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/@types/send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
-      "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
-      "dependencies": {
-        "@types/mime": "^1",
-        "@types/node": "*"
-      }
-    },
     "node_modules/@types/serve-static": {
       "version": "1.13.10",
       "license": "MIT",
@@ -4801,9 +4781,9 @@
       "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw=="
     },
     "node_modules/@types/superagent": {
-      "version": "4.1.17",
-      "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.17.tgz",
-      "integrity": "sha512-FFK/rRjNy24U6J1BvQkaNWu2ohOIF/kxRQXRsbT141YQODcOcZjzlcc4DGdI2SkTa0rhmF+X14zu6ICjCGIg+w==",
+      "version": "4.1.16",
+      "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.16.tgz",
+      "integrity": "sha512-tLfnlJf6A5mB6ddqF159GqcDizfzbMUB1/DeT59/wBNqzRTNNKsaw79A/1TZ84X+f/EwWH8FeuSkjlCLyqS/zQ==",
       "dev": true,
       "dependencies": {
         "@types/cookiejar": "*",
@@ -4866,15 +4846,15 @@
       "license": "MIT"
     },
     "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz",
-      "integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.1.tgz",
+      "integrity": "sha512-1MeobQkQ9tztuleT3v72XmY0XuKXVXusAhryoLuU5YZ+mXoYKZP9SQ7Flulh1NX4DTjpGTc2b/eMu4u7M7dhnQ==",
       "dev": true,
       "dependencies": {
         "@eslint-community/regexpp": "^4.4.0",
-        "@typescript-eslint/scope-manager": "5.59.1",
-        "@typescript-eslint/type-utils": "5.59.1",
-        "@typescript-eslint/utils": "5.59.1",
+        "@typescript-eslint/scope-manager": "5.57.1",
+        "@typescript-eslint/type-utils": "5.57.1",
+        "@typescript-eslint/utils": "5.57.1",
         "debug": "^4.3.4",
         "grapheme-splitter": "^1.0.4",
         "ignore": "^5.2.0",
@@ -4900,14 +4880,14 @@
       }
     },
     "node_modules/@typescript-eslint/parser": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz",
-      "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.1.tgz",
+      "integrity": "sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/scope-manager": "5.59.1",
-        "@typescript-eslint/types": "5.59.1",
-        "@typescript-eslint/typescript-estree": "5.59.1",
+        "@typescript-eslint/scope-manager": "5.57.1",
+        "@typescript-eslint/types": "5.57.1",
+        "@typescript-eslint/typescript-estree": "5.57.1",
         "debug": "^4.3.4"
       },
       "engines": {
@@ -4927,13 +4907,13 @@
       }
     },
     "node_modules/@typescript-eslint/scope-manager": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz",
-      "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.1.tgz",
+      "integrity": "sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.59.1",
-        "@typescript-eslint/visitor-keys": "5.59.1"
+        "@typescript-eslint/types": "5.57.1",
+        "@typescript-eslint/visitor-keys": "5.57.1"
       },
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4944,13 +4924,13 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz",
-      "integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.57.1.tgz",
+      "integrity": "sha512-/RIPQyx60Pt6ga86hKXesXkJ2WOS4UemFrmmq/7eOyiYjYv/MUSHPlkhU6k9T9W1ytnTJueqASW+wOmW4KrViw==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/typescript-estree": "5.59.1",
-        "@typescript-eslint/utils": "5.59.1",
+        "@typescript-eslint/typescript-estree": "5.57.1",
+        "@typescript-eslint/utils": "5.57.1",
         "debug": "^4.3.4",
         "tsutils": "^3.21.0"
       },
@@ -4971,9 +4951,9 @@
       }
     },
     "node_modules/@typescript-eslint/types": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz",
-      "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.1.tgz",
+      "integrity": "sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA==",
       "dev": true,
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -4984,13 +4964,13 @@
       }
     },
     "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz",
-      "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.1.tgz",
+      "integrity": "sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.59.1",
-        "@typescript-eslint/visitor-keys": "5.59.1",
+        "@typescript-eslint/types": "5.57.1",
+        "@typescript-eslint/visitor-keys": "5.57.1",
         "debug": "^4.3.4",
         "globby": "^11.1.0",
         "is-glob": "^4.0.3",
@@ -5011,17 +4991,17 @@
       }
     },
     "node_modules/@typescript-eslint/utils": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.1.tgz",
-      "integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.1.tgz",
+      "integrity": "sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg==",
       "dev": true,
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.2.0",
         "@types/json-schema": "^7.0.9",
         "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.59.1",
-        "@typescript-eslint/types": "5.59.1",
-        "@typescript-eslint/typescript-estree": "5.59.1",
+        "@typescript-eslint/scope-manager": "5.57.1",
+        "@typescript-eslint/types": "5.57.1",
+        "@typescript-eslint/typescript-estree": "5.57.1",
         "eslint-scope": "^5.1.1",
         "semver": "^7.3.7"
       },
@@ -5043,12 +5023,12 @@
       "dev": true
     },
     "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz",
-      "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.1.tgz",
+      "integrity": "sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA==",
       "dev": true,
       "dependencies": {
-        "@typescript-eslint/types": "5.59.1",
+        "@typescript-eslint/types": "5.57.1",
         "eslint-visitor-keys": "^3.3.0"
       },
       "engines": {
@@ -7332,15 +7312,15 @@
       }
     },
     "node_modules/eslint": {
-      "version": "8.39.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz",
-      "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==",
+      "version": "8.38.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz",
+      "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==",
       "dev": true,
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.2.0",
         "@eslint-community/regexpp": "^4.4.0",
         "@eslint/eslintrc": "^2.0.2",
-        "@eslint/js": "8.39.0",
+        "@eslint/js": "8.38.0",
         "@humanwhocodes/config-array": "^0.11.8",
         "@humanwhocodes/module-importer": "^1.0.1",
         "@nodelib/fs.walk": "^1.2.8",
@@ -7350,7 +7330,7 @@
         "debug": "^4.3.2",
         "doctrine": "^3.0.0",
         "escape-string-regexp": "^4.0.0",
-        "eslint-scope": "^7.2.0",
+        "eslint-scope": "^7.1.1",
         "eslint-visitor-keys": "^3.4.0",
         "espree": "^9.5.1",
         "esquery": "^1.4.2",
@@ -7541,9 +7521,9 @@
       }
     },
     "node_modules/eslint/node_modules/eslint-scope": {
-      "version": "7.2.0",
-      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
-      "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+      "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
       "dev": true,
       "dependencies": {
         "esrecurse": "^4.3.0",
@@ -7551,9 +7531,6 @@
       },
       "engines": {
         "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
       }
     },
     "node_modules/eslint/node_modules/estraverse": {
@@ -8217,34 +8194,6 @@
         "is-callable": "^1.1.3"
       }
     },
-    "node_modules/foreground-child": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
-      "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
-      "dev": true,
-      "dependencies": {
-        "cross-spawn": "^7.0.0",
-        "signal-exit": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/foreground-child/node_modules/signal-exit": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz",
-      "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==",
-      "dev": true,
-      "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
     "node_modules/form-data": {
       "version": "3.0.1",
       "license": "MIT",
@@ -8477,19 +8426,15 @@
       }
     },
     "node_modules/glob": {
-      "version": "10.2.2",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.2.tgz",
-      "integrity": "sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==",
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.0.0.tgz",
+      "integrity": "sha512-zmp9ZDC6NpDNLujV2W2n+3lH+BafIVZ4/ct+Yj3BMZTH/+bgm/eVjHzeFLwxJrrIGgjjS2eiQLlpurHsNlEAtQ==",
       "dev": true,
       "dependencies": {
-        "foreground-child": "^3.1.0",
-        "jackspeak": "^2.0.3",
+        "fs.realpath": "^1.0.0",
         "minimatch": "^9.0.0",
         "minipass": "^5.0.0",
-        "path-scurry": "^1.7.0"
-      },
-      "bin": {
-        "glob": "dist/cjs/src/bin.js"
+        "path-scurry": "^1.6.4"
       },
       "engines": {
         "node": ">=16 || 14 >=14.17"
@@ -8680,9 +8625,9 @@
       }
     },
     "node_modules/graphql-http": {
-      "version": "1.18.0",
-      "resolved": "https://registry.npmjs.org/graphql-http/-/graphql-http-1.18.0.tgz",
-      "integrity": "sha512-r2sIo6jCTQi1aj7s+Srg7oU3+r5pUUgxgDD5JDZOmFzrbXVGz+yMhIKhvqW0cV10DcnVIFCOzuFuc1qvnjJ7yQ==",
+      "version": "1.17.1",
+      "resolved": "https://registry.npmjs.org/graphql-http/-/graphql-http-1.17.1.tgz",
+      "integrity": "sha512-FZyZNd/3sz4n1smEa3A7d/OCPR9iYeqTPypsLjaYu6QbthKuMqZldxSSXVE2p+WwEHWx7EYfeVl4U7LQ7bFYNA==",
       "engines": {
         "node": ">=12"
       },
@@ -8882,9 +8827,9 @@
       }
     },
     "node_modules/http-cache-semantics": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
-      "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+      "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
       "dev": true
     },
     "node_modules/http-errors": {
@@ -9733,24 +9678,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/jackspeak": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.0.3.tgz",
-      "integrity": "sha512-0Jud3OMUdMbrlr3PyUMKESq51LXVAB+a239Ywdvd+Kgxj3MaBRml/nVRxf8tQFyfthMjuRkxkv7Vg58pmIMfuQ==",
-      "dev": true,
-      "dependencies": {
-        "cliui": "^7.0.4"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      },
-      "optionalDependencies": {
-        "@pkgjs/parseargs": "^0.11.0"
-      }
-    },
     "node_modules/jest": {
       "version": "29.5.0",
       "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz",
@@ -10014,9 +9941,9 @@
       }
     },
     "node_modules/jest-junit": {
-      "version": "16.0.0",
-      "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-16.0.0.tgz",
-      "integrity": "sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==",
+      "version": "15.0.0",
+      "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-15.0.0.tgz",
+      "integrity": "sha512-Z5sVX0Ag3HZdMUnD5DFlG+1gciIFSy7yIVPhOdGUi8YJaI9iLvvBb530gtQL2CHmv0JJeiwRZenr0VrSR7frvg==",
       "dev": true,
       "dependencies": {
         "mkdirp": "^1.0.4",
@@ -10876,19 +10803,20 @@
       "license": "ISC"
     },
     "node_modules/make-fetch-happen": {
-      "version": "11.1.1",
-      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
-      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+      "version": "11.0.2",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz",
+      "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==",
       "dev": true,
       "dependencies": {
         "agentkeepalive": "^4.2.1",
         "cacache": "^17.0.0",
-        "http-cache-semantics": "^4.1.1",
+        "http-cache-semantics": "^4.1.0",
         "http-proxy-agent": "^5.0.0",
         "https-proxy-agent": "^5.0.0",
         "is-lambda": "^1.0.1",
         "lru-cache": "^7.7.1",
-        "minipass": "^5.0.0",
+        "minipass": "^4.0.0",
+        "minipass-collect": "^1.0.2",
         "minipass-fetch": "^3.0.0",
         "minipass-flush": "^1.0.5",
         "minipass-pipeline": "^1.2.4",
@@ -10902,23 +10830,14 @@
       }
     },
     "node_modules/make-fetch-happen/node_modules/lru-cache": {
-      "version": "7.18.3",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "version": "7.14.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz",
+      "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==",
       "dev": true,
       "engines": {
         "node": ">=12"
       }
     },
-    "node_modules/make-fetch-happen/node_modules/minipass": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
-      "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
-      "dev": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/makeerror": {
       "version": "1.0.12",
       "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
@@ -11363,9 +11282,9 @@
       }
     },
     "node_modules/nock": {
-      "version": "13.3.1",
-      "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.1.tgz",
-      "integrity": "sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==",
+      "version": "13.3.0",
+      "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.0.tgz",
+      "integrity": "sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg==",
       "dev": true,
       "dependencies": {
         "debug": "^4.1.0",
@@ -11862,9 +11781,9 @@
       }
     },
     "node_modules/path-scurry": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.7.0.tgz",
-      "integrity": "sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==",
+      "version": "1.6.4",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.6.4.tgz",
+      "integrity": "sha512-Qp/9IHkdNiXJ3/Kon++At2nVpnhRiPq/aSvQN+H3U1WZbvNRK0RIQK/o4HMqPoXjpuGJUEWpHSs6Mnjxqh3TQg==",
       "dev": true,
       "dependencies": {
         "lru-cache": "^9.0.0",
@@ -12013,9 +11932,9 @@
       }
     },
     "node_modules/prettier": {
-      "version": "2.8.8",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
-      "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+      "version": "2.8.7",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
+      "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
       "dev": true,
       "bin": {
         "prettier": "bin-prettier.js"
@@ -12631,9 +12550,9 @@
       }
     },
     "node_modules/rollup": {
-      "version": "3.21.2",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz",
-      "integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==",
+      "version": "3.20.2",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz",
+      "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==",
       "dev": true,
       "bin": {
         "rollup": "dist/bin/rollup"
@@ -13671,16 +13590,16 @@
       }
     },
     "node_modules/ts-graphviz": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/ts-graphviz/-/ts-graphviz-1.6.0.tgz",
-      "integrity": "sha512-N9KtG1+g7MZCh6/w8z18omFzP3L8bMWI2CosylkUGw5UiD16pLJyGBeFiB6zHB8ACrjkFKNdQ83+8Ivh9K70Sg==",
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/ts-graphviz/-/ts-graphviz-1.5.5.tgz",
+      "integrity": "sha512-abon0Tlcgvxcqr8x+p8QH1fTbR2R4cEXKGZfT4OJONZWah2YfqkmERb6hrr82omAc1IHwk5PlF8g4BS/ECYvwQ==",
       "dev": true,
       "engines": {
         "node": ">=14.16"
       },
       "funding": {
         "type": "github",
-        "url": "https://github.com/sponsors/ts-graphviz"
+        "url": "https://github.com/sponsors/kamiazya"
       }
     },
     "node_modules/ts-invariant": {
@@ -14131,9 +14050,9 @@
       }
     },
     "node_modules/urlpattern-polyfill": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-7.0.0.tgz",
-      "integrity": "sha512-fErMjbZwveQIk+EY4vxM5GKDuInBOigxmjM6WT2R/cV2ETVyFtDHeU+VmbnfuJ5sp0qNbyUBelTO/60/d+/SSQ==",
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-6.0.2.tgz",
+      "integrity": "sha512-5vZjFlH9ofROmuWmXM9yj2wljYKgWstGwe8YTyiqM7hVum/g9LyCizPZtb3UqsuppVwety9QJmfc42VggLpTgg==",
       "dev": true,
       "dependencies": {
         "braces": "^3.0.2"
@@ -14564,12 +14483,12 @@
     },
     "packages/integration-testsuite": {
       "name": "@apollo/server-integration-testsuite",
-      "version": "4.7.0",
+      "version": "4.6.0",
       "license": "MIT",
       "dependencies": {
         "@apollo/cache-control-types": "^1.0.2",
         "@apollo/client": "^3.6.9",
-        "@apollo/server": "4.7.0",
+        "@apollo/server": "4.6.0",
         "@apollo/server-plugin-landing-page-graphql-playground": "^4.0.0",
         "@apollo/usage-reporting-protobuf": "^4.1.0",
         "@apollo/utils.createhash": "^2.0.0",
@@ -14577,7 +14496,7 @@
         "@josephg/resolvable": "^1.0.1",
         "body-parser": "^1.20.0",
         "express": "^4.18.1",
-        "graphql-http": "1.18.0",
+        "graphql-http": "1.17.1",
         "graphql-tag": "^2.12.6",
         "loglevel": "^1.8.0",
         "node-fetch": "^2.6.7",
@@ -14610,7 +14529,7 @@
     },
     "packages/server": {
       "name": "@apollo/server",
-      "version": "4.7.0",
+      "version": "4.6.0",
       "license": "MIT",
       "dependencies": {
         "@apollo/cache-control-types": "^1.0.2",
@@ -14702,9 +14621,9 @@
       "requires": {}
     },
     "@apollo/client": {
-      "version": "3.7.13",
-      "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.13.tgz",
-      "integrity": "sha512-wi63WnO2mhb6uHGB/8x1qIOL4ZtZocrxdHS0VBQ9KwBDkwoP/TdVVgZ29J2WkiAPmJ0SK07ju4R2AjHor1gPxQ==",
+      "version": "3.7.11",
+      "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.11.tgz",
+      "integrity": "sha512-uLg2KtxoAyj9ta7abLxXx8cGRM7HypCkXVmxtL7Ko//N5g37aoJ3ca7VYoFCMUFO1BXBulj+yKVl0U3+ILj5AQ==",
       "requires": {
         "@graphql-typed-document-node/core": "^3.1.1",
         "@wry/context": "^0.7.0",
@@ -14722,19 +14641,19 @@
       }
     },
     "@apollo/composition": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/composition/-/composition-2.4.2.tgz",
-      "integrity": "sha512-XLBu5Q9MnFrNjEDBw4cxLeGSan9rI75807oyG7qnnEcO0hwLuVL+fg/Md1RW1KBFw+JlMadtpV8UTx+kdSGRaw==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/composition/-/composition-2.4.1.tgz",
+      "integrity": "sha512-3da3gNMYw1OwsPJjH9jGkhDJffK3Wn4pu2m5CeJixpv8g5vBCFxlXOZ1ItsN+oNPkwmUplPUuTAWKAvwGfoYOA==",
       "dev": true,
       "requires": {
-        "@apollo/federation-internals": "2.4.2",
-        "@apollo/query-graphs": "2.4.2"
+        "@apollo/federation-internals": "2.4.1",
+        "@apollo/query-graphs": "2.4.1"
       }
     },
     "@apollo/federation-internals": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/federation-internals/-/federation-internals-2.4.2.tgz",
-      "integrity": "sha512-yWoT2K5hV9wbqR1wradCIX9k6p5UMEOOZZO8K5XMT0S7GK4hVCeT1TiYl3dfwsv09lfwMa9YhTPp4+ompnfsww==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/federation-internals/-/federation-internals-2.4.1.tgz",
+      "integrity": "sha512-C0jI/jApL0DIY2a6ig/RDRDpWinUpc3hSARhyBVNFQX0xtnuW+AjB+lpRZoEoWOZzGjfbaN+zmbUUqkxqjlc9Q==",
       "dev": true,
       "requires": {
         "@types/uuid": "^9.0.0",
@@ -14752,14 +14671,14 @@
       }
     },
     "@apollo/gateway": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/gateway/-/gateway-2.4.2.tgz",
-      "integrity": "sha512-5SfyuCNhXKkGxcuYJo/A0bzetVTIEZyUpx4lpDintQk47h1zjIRnC7yjd2+lGppZIyNlO5/rYZzZdI0C6qYUZA==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/gateway/-/gateway-2.4.1.tgz",
+      "integrity": "sha512-rNdaxpStWP+2yG2sQZPXIuHyl9RB3K1AuM4LVH4z207HWdOLYubqmfCJF7aQrhEXuHcOsU675D5BFQ6xcNhv1Q==",
       "dev": true,
       "requires": {
-        "@apollo/composition": "2.4.2",
-        "@apollo/federation-internals": "2.4.2",
-        "@apollo/query-planner": "2.4.2",
+        "@apollo/composition": "2.4.1",
+        "@apollo/federation-internals": "2.4.1",
+        "@apollo/query-planner": "2.4.1",
         "@apollo/server-gateway-interface": "^1.1.0",
         "@apollo/usage-reporting-protobuf": "^4.1.0",
         "@apollo/utils.createhash": "^2.0.0",
@@ -14797,12 +14716,12 @@
       }
     },
     "@apollo/query-graphs": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/query-graphs/-/query-graphs-2.4.2.tgz",
-      "integrity": "sha512-na+R+XJi+QFXJ41+4vPclNsWbgUl6UdNpVJzWNJMeuztkSbtb4NwczRg5vjU8VpdgczrciUpcXRA1udBR4I1ww==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/query-graphs/-/query-graphs-2.4.1.tgz",
+      "integrity": "sha512-14dnaZ3DnY/dLOsOI19BQkfkda3cxPmen+t8S/LqAOHMDky/vrgccoDIb3hc7TSlM08EJgRQiVytRjdhQzS3yQ==",
       "dev": true,
       "requires": {
-        "@apollo/federation-internals": "2.4.2",
+        "@apollo/federation-internals": "2.4.1",
         "deep-equal": "^2.0.5",
         "ts-graphviz": "^1.5.4",
         "uuid": "^9.0.0"
@@ -14817,13 +14736,13 @@
       }
     },
     "@apollo/query-planner": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/query-planner/-/query-planner-2.4.2.tgz",
-      "integrity": "sha512-Q6Kgx/JRe2dYvkuNVD7gmwN5P6vTPbjT4SDum3CqaJo47Bm4wLjynvpL0pvDxpAZHgah8rFRRAscU4eSVetnrw==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/query-planner/-/query-planner-2.4.1.tgz",
+      "integrity": "sha512-s16fb5/AZMhxdjuNI/Jm1YDRWFZSeSOuNn72YOdnZzkdC1OUNsuc3y8BDn9QY6PK9UK4c6gK4seWOb3HYkxDfQ==",
       "dev": true,
       "requires": {
-        "@apollo/federation-internals": "2.4.2",
-        "@apollo/query-graphs": "2.4.2",
+        "@apollo/federation-internals": "2.4.1",
+        "@apollo/query-graphs": "2.4.1",
         "@apollo/utils.keyvaluecache": "^2.1.0",
         "chalk": "^4.1.0",
         "deep-equal": "^2.0.5",
@@ -14887,7 +14806,7 @@
       "requires": {
         "@apollo/cache-control-types": "^1.0.2",
         "@apollo/client": "^3.6.9",
-        "@apollo/server": "4.7.0",
+        "@apollo/server": "4.6.0",
         "@apollo/server-plugin-landing-page-graphql-playground": "^4.0.0",
         "@apollo/usage-reporting-protobuf": "^4.1.0",
         "@apollo/utils.createhash": "^2.0.0",
@@ -14895,7 +14814,7 @@
         "@josephg/resolvable": "^1.0.1",
         "body-parser": "^1.20.0",
         "express": "^4.18.1",
-        "graphql-http": "1.18.0",
+        "graphql-http": "1.17.1",
         "graphql-tag": "^2.12.6",
         "loglevel": "^1.8.0",
         "node-fetch": "^2.6.7",
@@ -14918,13 +14837,13 @@
       }
     },
     "@apollo/subgraph": {
-      "version": "2.4.2",
-      "resolved": "https://registry.npmjs.org/@apollo/subgraph/-/subgraph-2.4.2.tgz",
-      "integrity": "sha512-QyIz1aPHu/R47x4nNurmq0QpZ99fnPjNG29CKnmhSEIRMnk2BKg5DJZJ/7iMwPs+PLOHbPtEVdbG9b3dVvv/Dw==",
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/@apollo/subgraph/-/subgraph-2.4.1.tgz",
+      "integrity": "sha512-z9o0qMHyxMjBvQzQvuNMuxvI0GTttdMr3p2tlJN2LdL792/ZhN6hhdBEaV+n6C2nZ4Dw+bV5jq5I+6fBlnmV3Q==",
       "dev": true,
       "requires": {
         "@apollo/cache-control-types": "^1.0.2",
-        "@apollo/federation-internals": "2.4.2"
+        "@apollo/federation-internals": "2.4.1"
       }
     },
     "@apollo/usage-reporting-protobuf": {
@@ -16789,15 +16708,15 @@
       }
     },
     "@eslint/js": {
-      "version": "8.39.0",
-      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz",
-      "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==",
+      "version": "8.38.0",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.38.0.tgz",
+      "integrity": "sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==",
       "dev": true
     },
     "@graphql-codegen/cli": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-3.3.1.tgz",
-      "integrity": "sha512-4Es8Y9zFeT0Zx2qRL7L3qXDbbqvXK6aID+8v8lP6gaYD+uWx3Jd4Hsq5vxwVBR+6flm0BW/C85Qm0cvmT7O6LA==",
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/@graphql-codegen/cli/-/cli-3.3.0.tgz",
+      "integrity": "sha512-KRQoAG0stor/ztMsBxHqxnwQzcM1DEZigwzah1LFej8bh6TT1WpUt37zt6PH0EdlMpelmeN3keY4Pq6GMd4ADw==",
       "dev": true,
       "requires": {
         "@babel/generator": "^7.18.13",
@@ -16838,15 +16757,15 @@
       },
       "dependencies": {
         "@whatwg-node/fetch": {
-          "version": "0.8.5",
-          "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.5.tgz",
-          "integrity": "sha512-pNvoYGPa0hjbVqs+r0blMjaWlrMeb0snwRCTAEdng5Jm00PY9wO4K8m99BmfLn6WED0FKOXTlF53+en/3xybqw==",
+          "version": "0.8.4",
+          "resolved": "https://registry.npmjs.org/@whatwg-node/fetch/-/fetch-0.8.4.tgz",
+          "integrity": "sha512-xK0NGWt49P+JmsdfN+8zmHzZoscENrV0KL1SyyncvWkc6vbFmSqGSpvItEBuhj1PAfTGFEUpyiRMCsut2hLy/Q==",
           "dev": true,
           "requires": {
             "@peculiar/webcrypto": "^1.4.0",
             "@whatwg-node/node-fetch": "^0.3.3",
             "busboy": "^1.6.0",
-            "urlpattern-polyfill": "^7.0.0",
+            "urlpattern-polyfill": "^6.0.2",
             "web-streams-polyfill": "^3.2.1"
           }
         }
@@ -16914,14 +16833,14 @@
       }
     },
     "@graphql-codegen/typescript": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-3.0.4.tgz",
-      "integrity": "sha512-x4O47447DZrWNtE/l5CU9QzzW4m1RbmCEdijlA3s2flG/y1Ckqdemob4CWfilSm5/tZ3w1junVDY616RDTSvZw==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript/-/typescript-3.0.3.tgz",
+      "integrity": "sha512-oVV4/RPs3Lmr2XqywlNDmLhNBCIhefA8rYcuxoWcnd/WRc6GNRm1b2NOIzDhhF4xriVluMyk3QQVRepkdj9enw==",
       "dev": true,
       "requires": {
         "@graphql-codegen/plugin-helpers": "^4.2.0",
         "@graphql-codegen/schema-ast": "^3.0.1",
-        "@graphql-codegen/visitor-plugin-common": "3.1.1",
+        "@graphql-codegen/visitor-plugin-common": "3.1.0",
         "auto-bind": "~4.0.0",
         "tslib": "~2.5.0"
       },
@@ -16935,14 +16854,14 @@
       }
     },
     "@graphql-codegen/typescript-operations": {
-      "version": "3.0.4",
-      "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-3.0.4.tgz",
-      "integrity": "sha512-6yE2OL2+WJ1vd5MwFEGXpaxsFGzjAGUytPVHDML3Bi3TwP1F3lnQlIko4untwvHW0JhZEGQ7Ck30H9HjcxpdKA==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@graphql-codegen/typescript-operations/-/typescript-operations-3.0.3.tgz",
+      "integrity": "sha512-RtMRFpZ8nyXxwurdxklWVIHX9U6/fGWYWEpvarNIIci17BKajZPzdBPKP2GKhUEWzZVGNESqH3RX38jt0onLqQ==",
       "dev": true,
       "requires": {
         "@graphql-codegen/plugin-helpers": "^4.2.0",
-        "@graphql-codegen/typescript": "^3.0.4",
-        "@graphql-codegen/visitor-plugin-common": "3.1.1",
+        "@graphql-codegen/typescript": "^3.0.3",
+        "@graphql-codegen/visitor-plugin-common": "3.1.0",
         "auto-bind": "~4.0.0",
         "tslib": "~2.5.0"
       },
@@ -16956,9 +16875,9 @@
       }
     },
     "@graphql-codegen/visitor-plugin-common": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-3.1.1.tgz",
-      "integrity": "sha512-uAfp+zu/009R3HUAuTK2AamR1bxIltM6rrYYI6EXSmkM3rFtFsLTuJhjUDj98HcUCszJZrADppz8KKLGRUVlNg==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@graphql-codegen/visitor-plugin-common/-/visitor-plugin-common-3.1.0.tgz",
+      "integrity": "sha512-S4BO/xP38eoEDULwbem5QeV7yWA8DpbcSGkvwrnMfVQW08nL6uHliCSV8hiuAi7Mhx7snVir4Iumk8uIDRVu6Q==",
       "dev": true,
       "requires": {
         "@graphql-codegen/plugin-helpers": "^4.2.0",
@@ -17437,21 +17356,21 @@
       }
     },
     "@graphql-tools/mock": {
-      "version": "8.7.20",
-      "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.20.tgz",
-      "integrity": "sha512-ljcHSJWjC/ZyzpXd5cfNhPI7YljRVvabKHPzKjEs5ElxWu2cdlLGvyNYepApXDsM/OJG/2xuhGM+9GWu5gEAPQ==",
+      "version": "8.7.19",
+      "resolved": "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.19.tgz",
+      "integrity": "sha512-LT2boYM+Y1vGFEhzmC7xDFRL8RPG20FbNcuk2/hHGH0Kh8K1hkItvL89tul3Pl7N6xerOnDZ3c3fx7Ls5GuFxA==",
       "dev": true,
       "requires": {
-        "@graphql-tools/schema": "^9.0.18",
-        "@graphql-tools/utils": "^9.2.1",
+        "@graphql-tools/schema": "9.0.17",
+        "@graphql-tools/utils": "9.2.1",
         "fast-json-stable-stringify": "^2.1.0",
         "tslib": "^2.4.0"
       }
     },
     "@graphql-tools/optimize": {
-      "version": "1.4.0",
-      "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.4.0.tgz",
-      "integrity": "sha512-dJs/2XvZp+wgHH8T5J2TqptT9/6uVzIYvA6uFACha+ufvdMBedkfR4b4GbT8jAKLRARiqRTxy3dctnwkTM2tdw==",
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/@graphql-tools/optimize/-/optimize-1.3.1.tgz",
+      "integrity": "sha512-5j5CZSRGWVobt4bgRRg7zhjPiSimk+/zIuColih8E8DxuFOaJ+t0qu7eZS5KXWBkjcd4BPNuhUPpNlEmHPqVRQ==",
       "dev": true,
       "requires": {
         "tslib": "^2.4.0"
@@ -17496,33 +17415,33 @@
       }
     },
     "@graphql-tools/relay-operation-optimizer": {
-      "version": "6.5.18",
-      "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.5.18.tgz",
-      "integrity": "sha512-mc5VPyTeV+LwiM+DNvoDQfPqwQYhPV/cl5jOBjTgSniyaq8/86aODfMkrE2OduhQ5E00hqrkuL2Fdrgk0w1QJg==",
+      "version": "6.5.17",
+      "resolved": "https://registry.npmjs.org/@graphql-tools/relay-operation-optimizer/-/relay-operation-optimizer-6.5.17.tgz",
+      "integrity": "sha512-hHPEX6ccRF3+9kfVz0A3In//Dej7QrHOLGZEokBmPDMDqn9CS7qUjpjyGzclbOX0tRBtLfuFUZ68ABSac3P1nA==",
       "dev": true,
       "requires": {
         "@ardatan/relay-compiler": "12.0.0",
-        "@graphql-tools/utils": "^9.2.1",
+        "@graphql-tools/utils": "9.2.1",
         "tslib": "^2.4.0"
       }
     },
     "@graphql-tools/schema": {
-      "version": "9.0.19",
-      "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.19.tgz",
-      "integrity": "sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==",
+      "version": "9.0.17",
+      "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.17.tgz",
+      "integrity": "sha512-HVLq0ecbkuXhJlpZ50IHP5nlISqH2GbNgjBJhhRzHeXhfwlUOT4ISXGquWTmuq61K0xSaO0aCjMpxe4QYbKTng==",
       "requires": {
-        "@graphql-tools/merge": "^8.4.1",
-        "@graphql-tools/utils": "^9.2.1",
+        "@graphql-tools/merge": "8.4.0",
+        "@graphql-tools/utils": "9.2.1",
         "tslib": "^2.4.0",
-        "value-or-promise": "^1.0.12"
+        "value-or-promise": "1.0.12"
       },
       "dependencies": {
         "@graphql-tools/merge": {
-          "version": "8.4.1",
-          "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.1.tgz",
-          "integrity": "sha512-hssnPpZ818mxgl5+GfyOOSnnflAxiaTn1A1AojZcIbh4J52sS1Q0gSuBR5VrnUDjuxiqoCotpXdAQl+K+U6KLQ==",
+          "version": "8.4.0",
+          "resolved": "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.4.0.tgz",
+          "integrity": "sha512-3XYCWe0d3I4F1azNj1CdShlbHfTIfiDgj00R9uvFH8tHKh7i1IWN3F7QQYovcHKhayaR6zPok3YYMESYQcBoaA==",
           "requires": {
-            "@graphql-tools/utils": "^9.2.1",
+            "@graphql-tools/utils": "9.2.1",
             "tslib": "^2.4.0"
           }
         },
@@ -18130,13 +18049,6 @@
         "webcrypto-core": "^1.7.4"
       }
     },
-    "@pkgjs/parseargs": {
-      "version": "0.11.0",
-      "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
-      "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
-      "dev": true,
-      "optional": true
-    },
     "@protobufjs/aspromise": {
       "version": "1.1.2"
     },
@@ -18178,9 +18090,9 @@
       "dev": true
     },
     "@rollup/plugin-commonjs": {
-      "version": "24.1.0",
-      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.1.0.tgz",
-      "integrity": "sha512-eSL45hjhCWI0jCCXcNtLVqM5N1JlBGvlFfY0m6oOYnLCJ6N0qEXoZql4sY2MOUArzhH4SA/qBpTxvvZp2Sc+DQ==",
+      "version": "24.0.1",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.1.tgz",
+      "integrity": "sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==",
       "dev": true,
       "requires": {
         "@rollup/pluginutils": "^5.0.1",
@@ -18387,14 +18299,13 @@
       }
     },
     "@types/express-serve-static-core": {
-      "version": "4.17.34",
-      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz",
-      "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==",
+      "version": "4.17.33",
+      "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz",
+      "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==",
       "requires": {
         "@types/node": "*",
         "@types/qs": "*",
-        "@types/range-parser": "*",
-        "@types/send": "*"
+        "@types/range-parser": "*"
       }
     },
     "@types/graceful-fs": {
@@ -18459,9 +18370,9 @@
       }
     },
     "@types/lodash": {
-      "version": "4.14.194",
-      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.194.tgz",
-      "integrity": "sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g==",
+      "version": "4.14.192",
+      "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz",
+      "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==",
       "dev": true
     },
     "@types/lodash.sumby": {
@@ -18493,9 +18404,9 @@
       "dev": true
     },
     "@types/node": {
-      "version": "14.18.43",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.43.tgz",
-      "integrity": "sha512-n3eFEaoem0WNwLux+k272P0+aq++5o05bA9CfiwKPdYPB5ZambWKdWoeHy7/OJiizMhzg27NLaZ6uzjLTzXceQ=="
+      "version": "14.18.42",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.42.tgz",
+      "integrity": "sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg=="
     },
     "@types/node-fetch": {
       "version": "2.6.3",
@@ -18541,15 +18452,6 @@
       "version": "6.2.3",
       "dev": true
     },
-    "@types/send": {
-      "version": "0.17.1",
-      "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
-      "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
-      "requires": {
-        "@types/mime": "^1",
-        "@types/node": "*"
-      }
-    },
     "@types/serve-static": {
       "version": "1.13.10",
       "requires": {
@@ -18563,9 +18465,9 @@
       "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw=="
     },
     "@types/superagent": {
-      "version": "4.1.17",
-      "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.17.tgz",
-      "integrity": "sha512-FFK/rRjNy24U6J1BvQkaNWu2ohOIF/kxRQXRsbT141YQODcOcZjzlcc4DGdI2SkTa0rhmF+X14zu6ICjCGIg+w==",
+      "version": "4.1.16",
+      "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.16.tgz",
+      "integrity": "sha512-tLfnlJf6A5mB6ddqF159GqcDizfzbMUB1/DeT59/wBNqzRTNNKsaw79A/1TZ84X+f/EwWH8FeuSkjlCLyqS/zQ==",
       "dev": true,
       "requires": {
         "@types/cookiejar": "*",
@@ -18622,15 +18524,15 @@
       "version": "21.0.0"
     },
     "@typescript-eslint/eslint-plugin": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.1.tgz",
-      "integrity": "sha512-AVi0uazY5quFB9hlp2Xv+ogpfpk77xzsgsIEWyVS7uK/c7MZ5tw7ZPbapa0SbfkqE0fsAMkz5UwtgMLVk2BQAg==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.1.tgz",
+      "integrity": "sha512-1MeobQkQ9tztuleT3v72XmY0XuKXVXusAhryoLuU5YZ+mXoYKZP9SQ7Flulh1NX4DTjpGTc2b/eMu4u7M7dhnQ==",
       "dev": true,
       "requires": {
         "@eslint-community/regexpp": "^4.4.0",
-        "@typescript-eslint/scope-manager": "5.59.1",
-        "@typescript-eslint/type-utils": "5.59.1",
-        "@typescript-eslint/utils": "5.59.1",
+        "@typescript-eslint/scope-manager": "5.57.1",
+        "@typescript-eslint/type-utils": "5.57.1",
+        "@typescript-eslint/utils": "5.57.1",
         "debug": "^4.3.4",
         "grapheme-splitter": "^1.0.4",
         "ignore": "^5.2.0",
@@ -18640,53 +18542,53 @@
       }
     },
     "@typescript-eslint/parser": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.1.tgz",
-      "integrity": "sha512-nzjFAN8WEu6yPRDizIFyzAfgK7nybPodMNFGNH0M9tei2gYnYszRDqVA0xlnRjkl7Hkx2vYrEdb6fP2a21cG1g==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.1.tgz",
+      "integrity": "sha512-hlA0BLeVSA/wBPKdPGxoVr9Pp6GutGoY380FEhbVi0Ph4WNe8kLvqIRx76RSQt1lynZKfrXKs0/XeEk4zZycuA==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/scope-manager": "5.59.1",
-        "@typescript-eslint/types": "5.59.1",
-        "@typescript-eslint/typescript-estree": "5.59.1",
+        "@typescript-eslint/scope-manager": "5.57.1",
+        "@typescript-eslint/types": "5.57.1",
+        "@typescript-eslint/typescript-estree": "5.57.1",
         "debug": "^4.3.4"
       }
     },
     "@typescript-eslint/scope-manager": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.1.tgz",
-      "integrity": "sha512-mau0waO5frJctPuAzcxiNWqJR5Z8V0190FTSqRw1Q4Euop6+zTwHAf8YIXNwDOT29tyUDrQ65jSg9aTU/H0omA==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.1.tgz",
+      "integrity": "sha512-N/RrBwEUKMIYxSKl0oDK5sFVHd6VI7p9K5MyUlVYAY6dyNb/wHUqndkTd3XhpGlXgnQsBkRZuu4f9kAHghvgPw==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "5.59.1",
-        "@typescript-eslint/visitor-keys": "5.59.1"
+        "@typescript-eslint/types": "5.57.1",
+        "@typescript-eslint/visitor-keys": "5.57.1"
       }
     },
     "@typescript-eslint/type-utils": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.1.tgz",
-      "integrity": "sha512-ZMWQ+Oh82jWqWzvM3xU+9y5U7MEMVv6GLioM3R5NJk6uvP47kZ7YvlgSHJ7ERD6bOY7Q4uxWm25c76HKEwIjZw==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.57.1.tgz",
+      "integrity": "sha512-/RIPQyx60Pt6ga86hKXesXkJ2WOS4UemFrmmq/7eOyiYjYv/MUSHPlkhU6k9T9W1ytnTJueqASW+wOmW4KrViw==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/typescript-estree": "5.59.1",
-        "@typescript-eslint/utils": "5.59.1",
+        "@typescript-eslint/typescript-estree": "5.57.1",
+        "@typescript-eslint/utils": "5.57.1",
         "debug": "^4.3.4",
         "tsutils": "^3.21.0"
       }
     },
     "@typescript-eslint/types": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.1.tgz",
-      "integrity": "sha512-dg0ICB+RZwHlysIy/Dh1SP+gnXNzwd/KS0JprD3Lmgmdq+dJAJnUPe1gNG34p0U19HvRlGX733d/KqscrGC1Pg==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.1.tgz",
+      "integrity": "sha512-bSs4LOgyV3bJ08F5RDqO2KXqg3WAdwHCu06zOqcQ6vqbTJizyBhuh1o1ImC69X4bV2g1OJxbH71PJqiO7Y1RuA==",
       "dev": true
     },
     "@typescript-eslint/typescript-estree": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.1.tgz",
-      "integrity": "sha512-lYLBBOCsFltFy7XVqzX0Ju+Lh3WPIAWxYpmH/Q7ZoqzbscLiCW00LeYCdsUnnfnj29/s1WovXKh2gwCoinHNGA==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.1.tgz",
+      "integrity": "sha512-A2MZqD8gNT0qHKbk2wRspg7cHbCDCk2tcqt6ScCFLr5Ru8cn+TCfM786DjPhqwseiS+PrYwcXht5ztpEQ6TFTw==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "5.59.1",
-        "@typescript-eslint/visitor-keys": "5.59.1",
+        "@typescript-eslint/types": "5.57.1",
+        "@typescript-eslint/visitor-keys": "5.57.1",
         "debug": "^4.3.4",
         "globby": "^11.1.0",
         "is-glob": "^4.0.3",
@@ -18695,17 +18597,17 @@
       }
     },
     "@typescript-eslint/utils": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.1.tgz",
-      "integrity": "sha512-MkTe7FE+K1/GxZkP5gRj3rCztg45bEhsd8HYjczBuYm+qFHP5vtZmjx3B0yUCDotceQ4sHgTyz60Ycl225njmA==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.1.tgz",
+      "integrity": "sha512-kN6vzzf9NkEtawECqze6v99LtmDiUJCVpvieTFA1uL7/jDghiJGubGZ5csicYHU1Xoqb3oH/R5cN5df6W41Nfg==",
       "dev": true,
       "requires": {
         "@eslint-community/eslint-utils": "^4.2.0",
         "@types/json-schema": "^7.0.9",
         "@types/semver": "^7.3.12",
-        "@typescript-eslint/scope-manager": "5.59.1",
-        "@typescript-eslint/types": "5.59.1",
-        "@typescript-eslint/typescript-estree": "5.59.1",
+        "@typescript-eslint/scope-manager": "5.57.1",
+        "@typescript-eslint/types": "5.57.1",
+        "@typescript-eslint/typescript-estree": "5.57.1",
         "eslint-scope": "^5.1.1",
         "semver": "^7.3.7"
       },
@@ -18719,12 +18621,12 @@
       }
     },
     "@typescript-eslint/visitor-keys": {
-      "version": "5.59.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.1.tgz",
-      "integrity": "sha512-6waEYwBTCWryx0VJmP7JaM4FpipLsFl9CvYf2foAE8Qh/Y0s+bxWysciwOs0LTBED4JCaNxTZ5rGadB14M6dwA==",
+      "version": "5.57.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.1.tgz",
+      "integrity": "sha512-RjQrAniDU0CEk5r7iphkm731zKlFiUjvcBS2yHAg8WWqFMCaCrD0rKEVOMUyMMcbGPZ0bPp56srkGWrgfZqLRA==",
       "dev": true,
       "requires": {
-        "@typescript-eslint/types": "5.59.1",
+        "@typescript-eslint/types": "5.57.1",
         "eslint-visitor-keys": "^3.3.0"
       }
     },
@@ -20382,15 +20284,15 @@
       "version": "1.0.5"
     },
     "eslint": {
-      "version": "8.39.0",
-      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz",
-      "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==",
+      "version": "8.38.0",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.38.0.tgz",
+      "integrity": "sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==",
       "dev": true,
       "requires": {
         "@eslint-community/eslint-utils": "^4.2.0",
         "@eslint-community/regexpp": "^4.4.0",
         "@eslint/eslintrc": "^2.0.2",
-        "@eslint/js": "8.39.0",
+        "@eslint/js": "8.38.0",
         "@humanwhocodes/config-array": "^0.11.8",
         "@humanwhocodes/module-importer": "^1.0.1",
         "@nodelib/fs.walk": "^1.2.8",
@@ -20400,7 +20302,7 @@
         "debug": "^4.3.2",
         "doctrine": "^3.0.0",
         "escape-string-regexp": "^4.0.0",
-        "eslint-scope": "^7.2.0",
+        "eslint-scope": "^7.1.1",
         "eslint-visitor-keys": "^3.4.0",
         "espree": "^9.5.1",
         "esquery": "^1.4.2",
@@ -20436,9 +20338,9 @@
           "dev": true
         },
         "eslint-scope": {
-          "version": "7.2.0",
-          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz",
-          "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==",
+          "version": "7.1.1",
+          "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+          "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
           "dev": true,
           "requires": {
             "esrecurse": "^4.3.0",
@@ -21056,24 +20958,6 @@
         "is-callable": "^1.1.3"
       }
     },
-    "foreground-child": {
-      "version": "3.1.1",
-      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz",
-      "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==",
-      "dev": true,
-      "requires": {
-        "cross-spawn": "^7.0.0",
-        "signal-exit": "^4.0.1"
-      },
-      "dependencies": {
-        "signal-exit": {
-          "version": "4.0.1",
-          "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz",
-          "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==",
-          "dev": true
-        }
-      }
-    },
     "form-data": {
       "version": "3.0.1",
       "requires": {
@@ -21224,16 +21108,15 @@
       }
     },
     "glob": {
-      "version": "10.2.2",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.2.tgz",
-      "integrity": "sha512-Xsa0BcxIC6th9UwNjZkhrMtNo/MnyRL8jGCP+uEwhA5oFOCY1f2s1/oNKY47xQ0Bg5nkjsfAEIej1VeH62bDDQ==",
+      "version": "10.0.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.0.0.tgz",
+      "integrity": "sha512-zmp9ZDC6NpDNLujV2W2n+3lH+BafIVZ4/ct+Yj3BMZTH/+bgm/eVjHzeFLwxJrrIGgjjS2eiQLlpurHsNlEAtQ==",
       "dev": true,
       "requires": {
-        "foreground-child": "^3.1.0",
-        "jackspeak": "^2.0.3",
+        "fs.realpath": "^1.0.0",
         "minimatch": "^9.0.0",
         "minipass": "^5.0.0",
-        "path-scurry": "^1.7.0"
+        "path-scurry": "^1.6.4"
       },
       "dependencies": {
         "brace-expansion": {
@@ -21363,9 +21246,9 @@
       }
     },
     "graphql-http": {
-      "version": "1.18.0",
-      "resolved": "https://registry.npmjs.org/graphql-http/-/graphql-http-1.18.0.tgz",
-      "integrity": "sha512-r2sIo6jCTQi1aj7s+Srg7oU3+r5pUUgxgDD5JDZOmFzrbXVGz+yMhIKhvqW0cV10DcnVIFCOzuFuc1qvnjJ7yQ==",
+      "version": "1.17.1",
+      "resolved": "https://registry.npmjs.org/graphql-http/-/graphql-http-1.17.1.tgz",
+      "integrity": "sha512-FZyZNd/3sz4n1smEa3A7d/OCPR9iYeqTPypsLjaYu6QbthKuMqZldxSSXVE2p+WwEHWx7EYfeVl4U7LQ7bFYNA==",
       "requires": {}
     },
     "graphql-request": {
@@ -21494,9 +21377,9 @@
       }
     },
     "http-cache-semantics": {
-      "version": "4.1.1",
-      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
-      "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
+      "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
       "dev": true
     },
     "http-errors": {
@@ -22072,16 +21955,6 @@
         "istanbul-lib-report": "^3.0.0"
       }
     },
-    "jackspeak": {
-      "version": "2.0.3",
-      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.0.3.tgz",
-      "integrity": "sha512-0Jud3OMUdMbrlr3PyUMKESq51LXVAB+a239Ywdvd+Kgxj3MaBRml/nVRxf8tQFyfthMjuRkxkv7Vg58pmIMfuQ==",
-      "dev": true,
-      "requires": {
-        "@pkgjs/parseargs": "^0.11.0",
-        "cliui": "^7.0.4"
-      }
-    },
     "jest": {
       "version": "29.5.0",
       "resolved": "https://registry.npmjs.org/jest/-/jest-29.5.0.tgz",
@@ -22269,9 +22142,9 @@
       }
     },
     "jest-junit": {
-      "version": "16.0.0",
-      "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-16.0.0.tgz",
-      "integrity": "sha512-A94mmw6NfJab4Fg/BlvVOUXzXgF0XIH6EmTgJ5NDPp4xoKq0Kr7sErb+4Xs9nZvu58pJojz5RFGpqnZYJTrRfQ==",
+      "version": "15.0.0",
+      "resolved": "https://registry.npmjs.org/jest-junit/-/jest-junit-15.0.0.tgz",
+      "integrity": "sha512-Z5sVX0Ag3HZdMUnD5DFlG+1gciIFSy7yIVPhOdGUi8YJaI9iLvvBb530gtQL2CHmv0JJeiwRZenr0VrSR7frvg==",
       "dev": true,
       "requires": {
         "mkdirp": "^1.0.4",
@@ -22914,19 +22787,20 @@
       "devOptional": true
     },
     "make-fetch-happen": {
-      "version": "11.1.1",
-      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
-      "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+      "version": "11.0.2",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.0.2.tgz",
+      "integrity": "sha512-5n/Pq41w/uZghpdlXAY5kIM85RgJThtTH/NYBRAZ9VUOBWV90USaQjwGrw76fZP3Lj5hl/VZjpVvOaRBMoL/2w==",
       "dev": true,
       "requires": {
         "agentkeepalive": "^4.2.1",
         "cacache": "^17.0.0",
-        "http-cache-semantics": "^4.1.1",
+        "http-cache-semantics": "^4.1.0",
         "http-proxy-agent": "^5.0.0",
         "https-proxy-agent": "^5.0.0",
         "is-lambda": "^1.0.1",
         "lru-cache": "^7.7.1",
-        "minipass": "^5.0.0",
+        "minipass": "^4.0.0",
+        "minipass-collect": "^1.0.2",
         "minipass-fetch": "^3.0.0",
         "minipass-flush": "^1.0.5",
         "minipass-pipeline": "^1.2.4",
@@ -22937,15 +22811,9 @@
       },
       "dependencies": {
         "lru-cache": {
-          "version": "7.18.3",
-          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-          "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
-          "dev": true
-        },
-        "minipass": {
-          "version": "5.0.0",
-          "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
-          "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+          "version": "7.14.1",
+          "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.14.1.tgz",
+          "integrity": "sha512-ysxwsnTKdAx96aTRdhDOCQfDgbHnt8SK0KY8SEjO0wHinhWOFTESbjVCMPbU1uGXg/ch4lifqx0wfjOawU2+WA==",
           "dev": true
         }
       }
@@ -23259,9 +23127,9 @@
       }
     },
     "nock": {
-      "version": "13.3.1",
-      "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.1.tgz",
-      "integrity": "sha512-vHnopocZuI93p2ccivFyGuUfzjq2fxNyNurp7816mlT5V5HF4SzXu8lvLrVzBbNqzs+ODooZ6OksuSUNM7Njkw==",
+      "version": "13.3.0",
+      "resolved": "https://registry.npmjs.org/nock/-/nock-13.3.0.tgz",
+      "integrity": "sha512-HHqYQ6mBeiMc+N038w8LkMpDCRquCHWeNmN3v6645P3NhN2+qXOBqvPqo7Rt1VyCMzKhJ733wZqw5B7cQVFNPg==",
       "dev": true,
       "requires": {
         "debug": "^4.1.0",
@@ -23594,9 +23462,9 @@
       "dev": true
     },
     "path-scurry": {
-      "version": "1.7.0",
-      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.7.0.tgz",
-      "integrity": "sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==",
+      "version": "1.6.4",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.6.4.tgz",
+      "integrity": "sha512-Qp/9IHkdNiXJ3/Kon++At2nVpnhRiPq/aSvQN+H3U1WZbvNRK0RIQK/o4HMqPoXjpuGJUEWpHSs6Mnjxqh3TQg==",
       "dev": true,
       "requires": {
         "lru-cache": "^9.0.0",
@@ -23684,9 +23552,9 @@
       "dev": true
     },
     "prettier": {
-      "version": "2.8.8",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
-      "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
+      "version": "2.8.7",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
+      "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
       "dev": true
     },
     "pretty-format": {
@@ -24107,9 +23975,9 @@
       }
     },
     "rollup": {
-      "version": "3.21.2",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.2.tgz",
-      "integrity": "sha512-c4vC+JZ3bbF4Kqq2TtM7zSKtSyMybFOjqmomFax3xpfYaPZDZ4iz8NMIuBRMjnXOcKYozw7bC6vhJjiWD6JpzQ==",
+      "version": "3.20.2",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz",
+      "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==",
       "dev": true,
       "requires": {
         "fsevents": "~2.3.2"
@@ -24868,9 +24736,9 @@
       "dev": true
     },
     "ts-graphviz": {
-      "version": "1.6.0",
-      "resolved": "https://registry.npmjs.org/ts-graphviz/-/ts-graphviz-1.6.0.tgz",
-      "integrity": "sha512-N9KtG1+g7MZCh6/w8z18omFzP3L8bMWI2CosylkUGw5UiD16pLJyGBeFiB6zHB8ACrjkFKNdQ83+8Ivh9K70Sg==",
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/ts-graphviz/-/ts-graphviz-1.5.5.tgz",
+      "integrity": "sha512-abon0Tlcgvxcqr8x+p8QH1fTbR2R4cEXKGZfT4OJONZWah2YfqkmERb6hrr82omAc1IHwk5PlF8g4BS/ECYvwQ==",
       "dev": true
     },
     "ts-invariant": {
@@ -25154,9 +25022,9 @@
       }
     },
     "urlpattern-polyfill": {
-      "version": "7.0.0",
-      "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-7.0.0.tgz",
-      "integrity": "sha512-fErMjbZwveQIk+EY4vxM5GKDuInBOigxmjM6WT2R/cV2ETVyFtDHeU+VmbnfuJ5sp0qNbyUBelTO/60/d+/SSQ==",
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/urlpattern-polyfill/-/urlpattern-polyfill-6.0.2.tgz",
+      "integrity": "sha512-5vZjFlH9ofROmuWmXM9yj2wljYKgWstGwe8YTyiqM7hVum/g9LyCizPZtb3UqsuppVwety9QJmfc42VggLpTgg==",
       "dev": true,
       "requires": {
         "braces": "^3.0.2"
diff --git a/package.json b/package.json
index eb0f2e9a8..c34ff7212 100644
--- a/package.json
+++ b/package.json
@@ -37,41 +37,41 @@
     "npm": ">=8.5.0"
   },
   "devDependencies": {
-    "@apollo/client": "3.7.13",
-    "@apollo/gateway": "2.4.2",
+    "@apollo/client": "3.7.11",
+    "@apollo/gateway": "2.4.1",
     "@apollo/server-plugin-landing-page-graphql-playground": "4.0.0",
-    "@apollo/subgraph": "2.4.2",
+    "@apollo/subgraph": "2.4.1",
     "@apollo/utils.createhash": "2.0.1",
     "@changesets/changelog-github": "0.4.8",
     "@changesets/cli": "2.26.1",
-    "@graphql-codegen/cli": "3.3.1",
-    "@graphql-codegen/typescript-operations": "3.0.4",
-    "@graphql-tools/mock": "8.7.20",
-    "@graphql-tools/schema": "9.0.19",
+    "@graphql-codegen/cli": "3.3.0",
+    "@graphql-codegen/typescript-operations": "3.0.3",
+    "@graphql-tools/mock": "8.7.19",
+    "@graphql-tools/schema": "9.0.17",
     "@josephg/resolvable": "1.0.1",
-    "@rollup/plugin-commonjs": "24.1.0",
+    "@rollup/plugin-commonjs": "24.0.1",
     "@types/async-retry": "1.4.5",
     "@types/body-parser": "1.19.2",
     "@types/compression": "1.7.2",
     "@types/cors": "2.8.13",
     "@types/express": "4.17.17",
-    "@types/express-serve-static-core": "4.17.34",
-    "@types/lodash": "4.14.194",
+    "@types/express-serve-static-core": "4.17.33",
+    "@types/lodash": "4.14.192",
     "@types/lodash.sumby": "4.6.7",
     "@types/lodash.xorby": "4.7.7",
     "@types/negotiator": "0.6.1",
-    "@types/node": "14.18.43",
+    "@types/node": "14.18.42",
     "@types/node-fetch": "2.6.3",
     "@types/qs-middleware": "1.0.1",
     "@types/retry": "0.12.2",
-    "@types/superagent": "4.1.17",
+    "@types/superagent": "4.1.16",
     "@types/supertest": "2.0.12",
     "@types/test-listen": "1.1.0",
     "@types/type-is": "1.6.3",
     "@types/uuid": "9.0.1",
     "@types/whatwg-mimetype": "3.0.0",
-    "@typescript-eslint/eslint-plugin": "5.59.1",
-    "@typescript-eslint/parser": "5.59.1",
+    "@typescript-eslint/eslint-plugin": "5.57.1",
+    "@typescript-eslint/parser": "5.57.1",
     "@vendia/serverless-express": "4.10.1",
     "awaiting": "3.0.0",
     "body-parser": "1.20.2",
@@ -79,26 +79,26 @@
     "compression": "1.7.4",
     "cors": "2.8.5",
     "cspell": "6.31.1",
-    "eslint": "8.39.0",
+    "eslint": "8.38.0",
     "eslint-plugin-import": "2.27.5",
     "express": "4.18.2",
-    "glob": "10.2.2",
+    "glob": "10.0.0",
     "graphql": "16.6.0",
     "graphql-tag": "2.12.6",
     "jest": "29.5.0",
     "jest-config": "29.5.0",
-    "jest-junit": "16.0.0",
+    "jest-junit": "15.0.0",
     "jest-mock": "29.5.0",
     "jest-mock-random": "1.1.1",
     "jest-serializer-html": "7.1.0",
     "lodash.sumby": "4.6.0",
-    "nock": "13.3.1",
+    "nock": "13.3.0",
     "node-fetch": "2.6.9",
-    "prettier": "2.8.8",
+    "prettier": "2.8.7",
     "qs-middleware": "1.0.3",
     "requisition": "1.7.0",
     "rimraf": "5.0.0",
-    "rollup": "3.21.2",
+    "rollup": "3.20.2",
     "supertest": "6.3.3",
     "test-listen": "1.1.0",
     "ts-jest": "29.1.0",
@@ -110,7 +110,7 @@
     ]
   },
   "volta": {
-    "node": "18.16.0",
-    "npm": "9.6.5"
+    "node": "18.15.0",
+    "npm": "9.6.4"
   }
 }
diff --git a/packages/server/CHANGELOG.md b/packages/server/CHANGELOG.md
index 5bd3bdec9..4a30e41c6 100644
--- a/packages/server/CHANGELOG.md
+++ b/packages/server/CHANGELOG.md
@@ -1,36 +1,5 @@
 # @apollo/server
 
-## 4.7.0
-
-### Minor Changes
-
-- [#7504](https://github.com/apollographql/apollo-server/pull/7504) [`22a5be934`](https://github.com/apollographql/apollo-server/commit/22a5be9347bbdb6aef4c158f9c81d310308d02d4) Thanks [@mayakoneval](https://github.com/mayakoneval)! - In the Apollo Server Landing Page Local config, you can now opt out of the telemetry that Apollo Studio runs in the
-  embedded Sandbox & Explorer landing pages. This telemetry includes Google Analytics for event tracking and
-  Sentry for error tracking.
-
-  Example of the new config option:
-
-  ```
-  const server = new ApolloServer({
-    typeDefs,
-    resolvers,
-    plugins: [
-      process.env.NODE_ENV === 'production'
-        ? ApolloServerPluginLandingPageProductionDefault({
-            graphRef: 'my-graph-id@my-graph-variant',
-            embed: {
-              runTelemetry: false
-            },
-          })
-        : ApolloServerPluginLandingPageLocalDefault({
-            embed: {
-              runTelemetry: false
-            },
-          }),
-    ],
-  });
-  ```
-
 ## 4.6.0
 
 ### Minor Changes
diff --git a/packages/server/package.json b/packages/server/package.json
index bddef808f..e41a01489 100644
--- a/packages/server/package.json
+++ b/packages/server/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@apollo/server",
-  "version": "4.7.0",
+  "version": "4.6.0",
   "description": "Core engine for Apollo GraphQL server",
   "type": "module",
   "main": "dist/cjs/index.js",
diff --git a/packages/server/src/plugin/landingPage/default/getEmbeddedHTML.ts b/packages/server/src/plugin/landingPage/default/getEmbeddedHTML.ts
index 9340862d2..bfd1b31f4 100644
--- a/packages/server/src/plugin/landingPage/default/getEmbeddedHTML.ts
+++ b/packages/server/src/plugin/landingPage/default/getEmbeddedHTML.ts
@@ -24,6 +24,7 @@ export const getEmbeddedExplorerHTML = (
   explorerCdnVersion: string,
   config: ApolloServerPluginEmbeddedLandingPageProductionDefaultOptions,
   apolloServerVersion: string,
+  nonce: string,
 ) => {
   interface EmbeddableExplorerOptions {
     graphRef: string;
@@ -46,13 +47,10 @@ export const getEmbeddedExplorerHTML = (
     endpointUrl: string;
 
     includeCookies?: boolean; // defaults to 'false'
-
-    runTelemetry?: boolean;
   }
-  const productionLandingPageEmbedConfigOrDefault = {
+  const productionLandingPageConfigOrDefault = {
     displayOptions: {},
     persistExplorerState: false,
-    runTelemetry: true,
     ...(typeof config.embed === 'boolean' ? {} : config.embed),
   };
   const embeddedExplorerParams: Omit<
@@ -76,14 +74,13 @@ export const getEmbeddedExplorerHTML = (
           }
         : {}),
       displayOptions: {
-        ...productionLandingPageEmbedConfigOrDefault.displayOptions,
+        ...productionLandingPageConfigOrDefault.displayOptions,
       },
     },
     persistExplorerState:
-      productionLandingPageEmbedConfigOrDefault.persistExplorerState,
+      productionLandingPageConfigOrDefault.persistExplorerState,
     includeCookies: config.includeCookies,
     runtime: apolloServerVersion,
-    runTelemetry: productionLandingPageEmbedConfigOrDefault.runTelemetry,
   };
 
   return `
@@ -100,12 +97,12 @@ export const getEmbeddedExplorerHTML = (
 style="width: 100vw; height: 100vh; position: absolute; top: 0;"
 id="embeddableExplorer"
 ></div>
-<script src="https://embeddable-explorer.cdn.apollographql.com/${encodeURIComponent(
+<script nonce="${nonce}" src="https://embeddable-explorer.cdn.apollographql.com/${encodeURIComponent(
     explorerCdnVersion,
   )}/embeddable-explorer.umd.production.min.js?runtime=${encodeURIComponent(
     apolloServerVersion,
   )}"></script>
-<script>
+<script nonce="${nonce}">
   var endpointUrl = window.location.href;
   var embeddedExplorerConfig = ${getConfigStringForHtml(
     embeddedExplorerParams,
@@ -122,37 +119,14 @@ export const getEmbeddedSandboxHTML = (
   sandboxCdnVersion: string,
   config: ApolloServerPluginEmbeddedLandingPageLocalDefaultOptions,
   apolloServerVersion: string,
+  nonce: string,
 ) => {
-  const localDevelopmentEmbedConfigOrDefault = {
-    runTelemetry: true,
-    endpointIsEditable: false,
-    initialState: {},
-    ...(typeof config.embed === 'boolean' ? {} : config.embed ?? {}),
-  };
-  const embeddedSandboxConfig = {
-    target: '#embeddableSandbox',
-    initialState: {
-      ...('document' in config || 'headers' in config || 'variables' in config
-        ? {
-            document: config.document,
-            variables: config.variables,
-            headers: config.headers,
-          }
-        : {}),
-      ...('collectionId' in config
-        ? {
-            collectionId: config.collectionId,
-            operationId: config.operationId,
-          }
-        : {}),
-      includeCookies: config.includeCookies,
-      ...localDevelopmentEmbedConfigOrDefault.initialState,
-    },
-    hideCookieToggle: false,
-    endpointIsEditable: localDevelopmentEmbedConfigOrDefault.endpointIsEditable,
-    runtime: apolloServerVersion,
-    runTelemetry: localDevelopmentEmbedConfigOrDefault.runTelemetry,
-  };
+  const endpointIsEditable =
+    typeof config.embed === 'boolean'
+      ? false
+      : typeof config.embed?.endpointIsEditable === 'boolean'
+      ? config.embed?.endpointIsEditable
+      : false;
   return `
 <div class="fallback">
   <h1>Welcome to Apollo Server</h1>
@@ -167,20 +141,49 @@ export const getEmbeddedSandboxHTML = (
 style="width: 100vw; height: 100vh; position: absolute; top: 0;"
 id="embeddableSandbox"
 ></div>
-<script src="https://embeddable-sandbox.cdn.apollographql.com/${encodeURIComponent(
+<script nonce="${nonce}" src="https://embeddable-sandbox.cdn.apollographql.com/${encodeURIComponent(
     sandboxCdnVersion,
   )}/embeddable-sandbox.umd.production.min.js?runtime=${encodeURIComponent(
     apolloServerVersion,
   )}"></script>
-<script>
+<script nonce="${nonce}">
   var initialEndpoint = window.location.href;
-  var embeddedSandboxConfig = ${getConfigStringForHtml(embeddedSandboxConfig)};
-  new window.EmbeddedSandbox(
-    {
-      ...embeddedSandboxConfig,
-      initialEndpoint,
-    }
-  );
+  new window.EmbeddedSandbox({
+    target: '#embeddableSandbox',
+    initialEndpoint,
+    initialState: ${getConfigStringForHtml({
+      ...('document' in config || 'headers' in config || 'variables' in config
+        ? {
+            document: config.document,
+            variables: config.variables,
+            headers: config.headers,
+          }
+        : {}),
+      ...('collectionId' in config
+        ? {
+            collectionId: config.collectionId,
+            operationId: config.operationId,
+          }
+        : {}),
+      includeCookies: config.includeCookies,
+      ...(typeof config.embed !== 'boolean' &&
+      config.embed?.initialState?.pollForSchemaUpdates !== undefined
+        ? {
+            pollForSchemaUpdates:
+              config.embed?.initialState?.pollForSchemaUpdates,
+          }
+        : {}),
+      ...(typeof config.embed !== 'boolean' &&
+      config.embed?.initialState?.sharedHeaders !== undefined
+        ? {
+            sharedHeaders: config.embed?.initialState?.sharedHeaders,
+          }
+        : {}),
+    })},
+    hideCookieToggle: false,
+    endpointIsEditable: ${endpointIsEditable},
+    runtime: '${apolloServerVersion}'
+  });
 </script>
 `;
 };
diff --git a/packages/server/src/plugin/landingPage/default/index.ts b/packages/server/src/plugin/landingPage/default/index.ts
index 7f607870a..6b2b21f3d 100644
--- a/packages/server/src/plugin/landingPage/default/index.ts
+++ b/packages/server/src/plugin/landingPage/default/index.ts
@@ -13,6 +13,8 @@ import {
   getEmbeddedSandboxHTML,
 } from './getEmbeddedHTML.js';
 import { packageVersion } from '../../../generated/packageVersion.js';
+import { createHash } from '@apollo/utils.createhash';
+import { v4 as uuidv4 } from 'uuid';
 
 export type {
   ApolloServerPluginLandingPageLocalDefaultOptions,
@@ -61,6 +63,7 @@ const getNonEmbeddedLandingPageHTML = (
   cdnVersion: string,
   config: LandingPageConfig,
   apolloServerVersion: string,
+  nonce: string,
 ) => {
   const encodedConfig = encodeConfig(config);
 
@@ -70,7 +73,9 @@ const getNonEmbeddedLandingPageHTML = (
   <p>The full landing page cannot be loaded; it appears that you might be offline.</p>
 </div>
 <script>window.landingPage = ${encodedConfig};</script>
-<script src="https://apollo-server-landing-page.cdn.apollographql.com/${cdnVersion}/static/js/main.js?runtime=${apolloServerVersion}"></script>`;
+<script nonce="${nonce}" src="https://apollo-server-landing-page.cdn.apollographql.com/${encodeURIComponent(
+    cdnVersion,
+  )}/static/js/main.js?runtime=${apolloServerVersion}"></script>`;
 };
 
 // Helper for the two actual plugin functions.
@@ -84,6 +89,8 @@ function ApolloServerPluginLandingPageDefault<TContext extends BaseContext>(
   const version = maybeVersion ?? '_latest';
   const apolloServerVersion = `@apollo/server@${packageVersion}`;
 
+  const nonce = createHash('sha256').update(uuidv4()).digest('hex');
+
   return {
     __internal_installed_implicitly__: false,
     async serverWillStart() {
@@ -94,9 +101,18 @@ function ApolloServerPluginLandingPageDefault<TContext extends BaseContext>(
 <html lang="en">
   <head>
     <meta charset="utf-8" />
+    <meta http-equiv="Content-Security-Policy" content="script-src 'self' 'nonce-${nonce}' https://apollo-server-landing-page.cdn.apollographql.com/${encodeURIComponent(
+            version,
+          )}/static/js/main.js https://embeddable-sandbox.cdn.apollographql.com/${encodeURIComponent(
+            version,
+          )}/embeddable-sandbox.umd.production.min.js https://embeddable-explorer.cdn.apollographql.com/${encodeURIComponent(
+            version,
+          )}/embeddable-explorer.umd.production.min.js" />
     <link
       rel="icon"
-      href="https://apollo-server-landing-page.cdn.apollographql.com/${version}/assets/favicon.png"
+      href="https://apollo-server-landing-page.cdn.apollographql.com/${encodeURIComponent(
+        version,
+      )}/assets/favicon.png"
     />
     <meta name="viewport" content="width=device-width,initial-scale=1" />
     <link rel="preconnect" href="https://fonts.gstatic.com" />
@@ -108,11 +124,15 @@ function ApolloServerPluginLandingPageDefault<TContext extends BaseContext>(
     <meta name="description" content="Apollo server landing page" />
     <link
       rel="apple-touch-icon"
-      href="https://apollo-server-landing-page.cdn.apollographql.com/${version}/assets/favicon.png"
+      href="https://apollo-server-landing-page.cdn.apollographql.com/${encodeURIComponent(
+        version,
+      )}/assets/favicon.png"
     />
     <link
       rel="manifest"
-      href="https://apollo-server-landing-page.cdn.apollographql.com/${version}/manifest.json"
+      href="https://apollo-server-landing-page.cdn.apollographql.com/${encodeURIComponent(
+        version,
+      )}/manifest.json"
     />
     <title>Apollo Server</title>
   </head>
@@ -135,11 +155,21 @@ function ApolloServerPluginLandingPageDefault<TContext extends BaseContext>(
     ${
       config.embed
         ? 'graphRef' in config && config.graphRef
-          ? getEmbeddedExplorerHTML(version, config, apolloServerVersion)
+          ? getEmbeddedExplorerHTML(version, config, apolloServerVersion, nonce)
           : !('graphRef' in config)
-          ? getEmbeddedSandboxHTML(version, config, apolloServerVersion)
-          : getNonEmbeddedLandingPageHTML(version, config, apolloServerVersion)
-        : getNonEmbeddedLandingPageHTML(version, config, apolloServerVersion)
+          ? getEmbeddedSandboxHTML(version, config, apolloServerVersion, nonce)
+          : getNonEmbeddedLandingPageHTML(
+              version,
+              config,
+              apolloServerVersion,
+              nonce,
+            )
+        : getNonEmbeddedLandingPageHTML(
+            version,
+            config,
+            apolloServerVersion,
+            nonce,
+          )
     }
     </div>
   </body>
diff --git a/packages/server/src/plugin/landingPage/default/types.ts b/packages/server/src/plugin/landingPage/default/types.ts
index e13451f40..a8d3a9705 100644
--- a/packages/server/src/plugin/landingPage/default/types.ts
+++ b/packages/server/src/plugin/landingPage/default/types.ts
@@ -52,7 +52,6 @@ export type ApolloServerPluginLandingPageDefaultBaseOptions = {
   footer?: boolean;
 
   includeCookies?: boolean;
-
   // For Apollo use only.
   __internal_apolloStudioEnv__?: 'staging' | 'prod';
 };
@@ -107,10 +106,6 @@ export type ApolloServerPluginEmbeddedLandingPageProductionDefaultOptions =
   } & InitialStateForEmbeds;
 
 type EmbeddableSandboxOptions = {
-  /**
-   * Set to false to disable running telemetry in Apollo Studio from the landing pages.
-   */
-  runTelemetry?: boolean;
   initialState?: {
     /**
      * If true, the embedded Sandbox periodically polls your initialEndpoint for schema updates.
@@ -141,10 +136,6 @@ type EmbeddableSandboxOptions = {
 };
 
 type EmbeddableExplorerOptions = {
-  /**
-   * Set to false to disable running telemetry in Apollo Studio from the landing pages.
-   */
-  runTelemetry?: boolean;
   /**
    * Display options can be configured for the embedded Explorer.
    */
@@ -181,7 +172,7 @@ type EmbeddableExplorerOptions = {
    *
    * The default value is false.
    */
-  persistExplorerState?: boolean;
+  persistExplorerState: boolean;
 };
 
 export type ApolloServerPluginLandingPageLocalDefaultOptions =
diff --git a/renovate.json5 b/renovate.json5
index 74084d518..ef49fa9e4 100644
--- a/renovate.json5
+++ b/renovate.json5
@@ -56,22 +56,17 @@
       matchPackageNames: ["@types/node"],
       allowedVersions: "14.x"
     },
-    // lru-cache@8 drops support for node v16. We can take this when we drop node v14 support.
+    // lru-cache@8 drops support for v16. We can take this when we drop node v14 support.
     {
       matchPackageNames: ["lru-cache"],
       allowedVersions: "7.x"
     },
-    // @apollo/utils@3 drop support for node v16. We can take this when we drop node v14 support.
-    {
-      matchPackagePatterns: ["^@apollo/utils"],
-      allowedVersions: "2.x"
-    },
     // node-fetch v3 only ships as ESM. We currently build as both CommonJS and
     // ESM and we're not going to go ESM-only for a while. So let's stay on v2.
     // (Perhaps we could swap to undici instead if this pin gets to be a
     // problem.)
     {
-      "matchPackagePatterns": ["node-fetch", "@types/node-fetch"],
+      "matchPackageNames": ["node-fetch", "@types/node-fetch"],
       "allowedVersions": "2.x"
     },
     {


Test patch:
diff --git a/packages/integration-testsuite/CHANGELOG.md b/packages/integration-testsuite/CHANGELOG.md
index 9bbd9365a..10acf55c6 100644
--- a/packages/integration-testsuite/CHANGELOG.md
+++ b/packages/integration-testsuite/CHANGELOG.md
@@ -1,16 +1,5 @@
 # @apollo/server-integration-testsuite
 
-## 4.7.0
-
-### Patch Changes
-
-- [#7509](https://github.com/apollographql/apollo-server/pull/7509) [`5c20aa02e`](https://github.com/apollographql/apollo-server/commit/5c20aa02ebee6eaa39255e9db995fae0dd3fe0a0) Thanks [@renovate](https://github.com/apps/renovate)! - Update `graphql-http` dependency
-
-- [#7475](https://github.com/apollographql/apollo-server/pull/7475) [`b9ac2d6b2`](https://github.com/apollographql/apollo-server/commit/b9ac2d6b2ea19f7f838fa62b339dac2d3fefff62) Thanks [@renovate](https://github.com/apps/renovate)! - Update graphql-http dependency
-
-- Updated dependencies [[`22a5be934`](https://github.com/apollographql/apollo-server/commit/22a5be9347bbdb6aef4c158f9c81d310308d02d4)]:
-  - @apollo/server@4.7.0
-
 ## 4.6.0
 
 ### Patch Changes
diff --git a/packages/integration-testsuite/package.json b/packages/integration-testsuite/package.json
index 739f8cfdc..af169034e 100644
--- a/packages/integration-testsuite/package.json
+++ b/packages/integration-testsuite/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@apollo/server-integration-testsuite",
-  "version": "4.7.0",
+  "version": "4.6.0",
   "description": "Test suite for Apollo Server integrations",
   "main": "dist/index.js",
   "types": "dist/index.d.ts",
@@ -28,7 +28,7 @@
   "dependencies": {
     "@apollo/cache-control-types": "^1.0.2",
     "@apollo/client": "^3.6.9",
-    "@apollo/server": "4.7.0",
+    "@apollo/server": "4.6.0",
     "@apollo/server-plugin-landing-page-graphql-playground": "^4.0.0",
     "@apollo/utils.keyvaluecache": "^2.1.0",
     "@apollo/utils.createhash": "^2.0.0",
@@ -36,7 +36,7 @@
     "@josephg/resolvable": "^1.0.1",
     "body-parser": "^1.20.0",
     "express": "^4.18.1",
-    "graphql-http": "1.18.0",
+    "graphql-http": "1.17.1",
     "graphql-tag": "^2.12.6",
     "loglevel": "^1.8.0",
     "node-fetch": "^2.6.7",
diff --git a/packages/server/src/__tests__/plugin/landingPage/getEmbeddedExplorerHTML.test.ts b/packages/server/src/__tests__/plugin/landingPage/getEmbeddedExplorerHTML.test.ts
index a8a2f0991..d2e0056ed 100644
--- a/packages/server/src/__tests__/plugin/landingPage/getEmbeddedExplorerHTML.test.ts
+++ b/packages/server/src/__tests__/plugin/landingPage/getEmbeddedExplorerHTML.test.ts
@@ -30,8 +30,9 @@ describe('Embedded Explorer Landing Page Config HTML', () => {
         },
         graphRef: 'graph@current',
       };
-    expect(getEmbeddedExplorerHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
+    expect(
+      getEmbeddedExplorerHTML(cdnVersion, config, apolloServerVersion, 'nonce'),
+    ).toMatchInlineSnapshot(`
       <div class="fallback">
         <h1>
           Welcome to Apollo Server
@@ -49,11 +50,13 @@ describe('Embedded Explorer Landing Page Config HTML', () => {
            id="embeddableExplorer"
       >
       </div>
-      <script src="https://embeddable-explorer.cdn.apollographql.com/_latest/embeddable-explorer.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
+      <script nonce="nonce"
+              src="https://embeddable-explorer.cdn.apollographql.com/_latest/embeddable-explorer.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0"
+      >
       </script>
-      <script>
+      <script nonce="nonce">
         var endpointUrl = window.location.href;
-        var embeddedExplorerConfig = {"graphRef":"graph@current","target":"#embeddableExplorer","initialState":{"document":"query Test { id }","headers":{"authorization":"true"},"variables":{"option":{"a":"val","b":1,"c":true}},"displayOptions":{"showHeadersAndEnvVars":true,"docsPanelState":"open","theme":"light"}},"persistExplorerState":true,"includeCookies":true,"runtime":"@apollo/server@4.0.0","runTelemetry":true};
+        var embeddedExplorerConfig = {"graphRef":"graph@current","target":"#embeddableExplorer","initialState":{"document":"query Test { id }","headers":{"authorization":"true"},"variables":{"option":{"a":"val","b":1,"c":true}},"displayOptions":{"showHeadersAndEnvVars":true,"docsPanelState":"open","theme":"light"}},"persistExplorerState":true,"includeCookies":true,"runtime":"@apollo/server@4.0.0"};
         new window.EmbeddedExplorer({
           ...embeddedExplorerConfig,
           endpointUrl,
@@ -70,8 +73,9 @@ describe('Embedded Explorer Landing Page Config HTML', () => {
         embed: true,
         graphRef: 'graph@current',
       };
-    expect(getEmbeddedExplorerHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
+    expect(
+      getEmbeddedExplorerHTML(cdnVersion, config, apolloServerVersion, 'nonce'),
+    ).toMatchInlineSnapshot(`
       <div class="fallback">
         <h1>
           Welcome to Apollo Server
@@ -89,11 +93,13 @@ describe('Embedded Explorer Landing Page Config HTML', () => {
            id="embeddableExplorer"
       >
       </div>
-      <script src="https://embeddable-explorer.cdn.apollographql.com/_latest/embeddable-explorer.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
+      <script nonce="nonce"
+              src="https://embeddable-explorer.cdn.apollographql.com/_latest/embeddable-explorer.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0"
+      >
       </script>
-      <script>
+      <script nonce="nonce">
         var endpointUrl = window.location.href;
-        var embeddedExplorerConfig = {"graphRef":"graph@current","target":"#embeddableExplorer","initialState":{"headers":{"authorization":"true"},"displayOptions":{}},"persistExplorerState":false,"includeCookies":true,"runtime":"@apollo/server@4.0.0","runTelemetry":true};
+        var embeddedExplorerConfig = {"graphRef":"graph@current","target":"#embeddableExplorer","initialState":{"headers":{"authorization":"true"},"displayOptions":{}},"persistExplorerState":false,"includeCookies":true,"runtime":"@apollo/server@4.0.0"};
         new window.EmbeddedExplorer({
           ...embeddedExplorerConfig,
           endpointUrl,
@@ -111,8 +117,9 @@ describe('Embedded Explorer Landing Page Config HTML', () => {
         embed: true,
         graphRef: 'graph@current',
       };
-    expect(getEmbeddedExplorerHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
+    expect(
+      getEmbeddedExplorerHTML(cdnVersion, config, apolloServerVersion, 'nonce'),
+    ).toMatchInlineSnapshot(`
       <div class="fallback">
         <h1>
           Welcome to Apollo Server
@@ -130,11 +137,13 @@ describe('Embedded Explorer Landing Page Config HTML', () => {
            id="embeddableExplorer"
       >
       </div>
-      <script src="https://embeddable-explorer.cdn.apollographql.com/_latest/embeddable-explorer.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
+      <script nonce="nonce"
+              src="https://embeddable-explorer.cdn.apollographql.com/_latest/embeddable-explorer.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0"
+      >
       </script>
-      <script>
+      <script nonce="nonce">
         var endpointUrl = window.location.href;
-        var embeddedExplorerConfig = {"graphRef":"graph@current","target":"#embeddableExplorer","initialState":{"collectionId":"12345","operationId":"abcdef","displayOptions":{}},"persistExplorerState":false,"includeCookies":true,"runtime":"@apollo/server@4.0.0","runTelemetry":true};
+        var embeddedExplorerConfig = {"graphRef":"graph@current","target":"#embeddableExplorer","initialState":{"collectionId":"12345","operationId":"abcdef","displayOptions":{}},"persistExplorerState":false,"includeCookies":true,"runtime":"@apollo/server@4.0.0"};
         new window.EmbeddedExplorer({
           ...embeddedExplorerConfig,
           endpointUrl,
@@ -150,8 +159,9 @@ describe('Embedded Explorer Landing Page Config HTML', () => {
         embed: true,
         graphRef: 'graph@current',
       };
-    expect(getEmbeddedExplorerHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
+    expect(
+      getEmbeddedExplorerHTML(cdnVersion, config, apolloServerVersion, 'nonce'),
+    ).toMatchInlineSnapshot(`
       <div class="fallback">
         <h1>
           Welcome to Apollo Server
@@ -169,53 +179,13 @@ describe('Embedded Explorer Landing Page Config HTML', () => {
            id="embeddableExplorer"
       >
       </div>
-      <script src="https://embeddable-explorer.cdn.apollographql.com/_latest/embeddable-explorer.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
-      </script>
-      <script>
-        var endpointUrl = window.location.href;
-        var embeddedExplorerConfig = {"graphRef":"graph@current","target":"#embeddableExplorer","initialState":{"displayOptions":{}},"persistExplorerState":false,"includeCookies":false,"runtime":"@apollo/server@4.0.0","runTelemetry":true};
-        new window.EmbeddedExplorer({
-          ...embeddedExplorerConfig,
-          endpointUrl,
-        });
-      </script>
-    `);
-  });
-
-  it('with runTelemetry false', () => {
-    const config: ApolloServerPluginEmbeddedLandingPageProductionDefaultOptions =
-      {
-        includeCookies: true,
-        headers: { authorization: 'true' },
-        embed: {
-          runTelemetry: false,
-        },
-        graphRef: 'graph@current',
-      };
-    expect(getEmbeddedExplorerHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
-      <div class="fallback">
-        <h1>
-          Welcome to Apollo Server
-        </h1>
-        <p>
-          Apollo Explorer cannot be loaded; it appears that you might be offline.
-        </p>
-      </div>
-      <style>
-        iframe {
-          background-color: white;
-        }
-      </style>
-      <div style="width: 100vw; height: 100vh; position: absolute; top: 0;"
-           id="embeddableExplorer"
+      <script nonce="nonce"
+              src="https://embeddable-explorer.cdn.apollographql.com/_latest/embeddable-explorer.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0"
       >
-      </div>
-      <script src="https://embeddable-explorer.cdn.apollographql.com/_latest/embeddable-explorer.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
       </script>
-      <script>
+      <script nonce="nonce">
         var endpointUrl = window.location.href;
-        var embeddedExplorerConfig = {"graphRef":"graph@current","target":"#embeddableExplorer","initialState":{"headers":{"authorization":"true"},"displayOptions":{}},"persistExplorerState":false,"includeCookies":true,"runtime":"@apollo/server@4.0.0","runTelemetry":false};
+        var embeddedExplorerConfig = {"graphRef":"graph@current","target":"#embeddableExplorer","initialState":{"displayOptions":{}},"persistExplorerState":false,"includeCookies":false,"runtime":"@apollo/server@4.0.0"};
         new window.EmbeddedExplorer({
           ...embeddedExplorerConfig,
           endpointUrl,
diff --git a/packages/server/src/__tests__/plugin/landingPage/getEmbeddedSandboxHTML.test.ts b/packages/server/src/__tests__/plugin/landingPage/getEmbeddedSandboxHTML.test.ts
index be4f2d095..be9d1d47c 100644
--- a/packages/server/src/__tests__/plugin/landingPage/getEmbeddedSandboxHTML.test.ts
+++ b/packages/server/src/__tests__/plugin/landingPage/getEmbeddedSandboxHTML.test.ts
@@ -21,8 +21,9 @@ describe('Landing Page Config HTML', () => {
       headers: { authorization: 'true' },
       embed: true,
     };
-    expect(getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
+    expect(
+      getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion, 'nonce'),
+    ).toMatchInlineSnapshot(`
       <div class="fallback">
         <h1>
           Welcome to Apollo Server
@@ -40,17 +41,20 @@ describe('Landing Page Config HTML', () => {
            id="embeddableSandbox"
       >
       </div>
-      <script src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
+      <script nonce="nonce"
+              src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0"
+      >
       </script>
-      <script>
+      <script nonce="nonce">
         var initialEndpoint = window.location.href;
-        var embeddedSandboxConfig = {"target":"#embeddableSandbox","initialState":{"document":"query Test { id }","variables":{"option":{"a":"val","b":1,"c":true}},"headers":{"authorization":"true"},"includeCookies":true},"hideCookieToggle":false,"endpointIsEditable":false,"runtime":"@apollo/server@4.0.0","runTelemetry":true};
-        new window.EmbeddedSandbox(
-          {
-            ...embeddedSandboxConfig,
-            initialEndpoint,
-          }
-        );
+        new window.EmbeddedSandbox({
+          target: '#embeddableSandbox',
+          initialEndpoint,
+          initialState: {"document":"query Test { id }","variables":{"option":{"a":"val","b":1,"c":true}},"headers":{"authorization":"true"},"includeCookies":true},
+          hideCookieToggle: false,
+          endpointIsEditable: false,
+          runtime: '@apollo/server@4.0.0'
+        });
       </script>
     `);
   });
@@ -61,8 +65,9 @@ describe('Landing Page Config HTML', () => {
       headers: { authorization: 'true' },
       embed: true,
     };
-    expect(getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
+    expect(
+      getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion, 'nonce'),
+    ).toMatchInlineSnapshot(`
       <div class="fallback">
         <h1>
           Welcome to Apollo Server
@@ -80,17 +85,20 @@ describe('Landing Page Config HTML', () => {
            id="embeddableSandbox"
       >
       </div>
-      <script src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
+      <script nonce="nonce"
+              src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0"
+      >
       </script>
-      <script>
+      <script nonce="nonce">
         var initialEndpoint = window.location.href;
-        var embeddedSandboxConfig = {"target":"#embeddableSandbox","initialState":{"headers":{"authorization":"true"},"includeCookies":true},"hideCookieToggle":false,"endpointIsEditable":false,"runtime":"@apollo/server@4.0.0","runTelemetry":true};
-        new window.EmbeddedSandbox(
-          {
-            ...embeddedSandboxConfig,
-            initialEndpoint,
-          }
-        );
+        new window.EmbeddedSandbox({
+          target: '#embeddableSandbox',
+          initialEndpoint,
+          initialState: {"headers":{"authorization":"true"},"includeCookies":true},
+          hideCookieToggle: false,
+          endpointIsEditable: false,
+          runtime: '@apollo/server@4.0.0'
+        });
       </script>
     `);
   });
@@ -99,8 +107,9 @@ describe('Landing Page Config HTML', () => {
     const config: ApolloServerPluginEmbeddedLandingPageLocalDefaultOptions = {
       embed: true,
     };
-    expect(getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
+    expect(
+      getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion, 'nonce'),
+    ).toMatchInlineSnapshot(`
       <div class="fallback">
         <h1>
           Welcome to Apollo Server
@@ -118,17 +127,20 @@ describe('Landing Page Config HTML', () => {
            id="embeddableSandbox"
       >
       </div>
-      <script src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
+      <script nonce="nonce"
+              src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0"
+      >
       </script>
-      <script>
+      <script nonce="nonce">
         var initialEndpoint = window.location.href;
-        var embeddedSandboxConfig = {"target":"#embeddableSandbox","initialState":{},"hideCookieToggle":false,"endpointIsEditable":false,"runtime":"@apollo/server@4.0.0","runTelemetry":true};
-        new window.EmbeddedSandbox(
-          {
-            ...embeddedSandboxConfig,
-            initialEndpoint,
-          }
-        );
+        new window.EmbeddedSandbox({
+          target: '#embeddableSandbox',
+          initialEndpoint,
+          initialState: {},
+          hideCookieToggle: false,
+          endpointIsEditable: false,
+          runtime: '@apollo/server@4.0.0'
+        });
       </script>
     `);
   });
@@ -139,8 +151,9 @@ describe('Landing Page Config HTML', () => {
       operationId: 'abcdef',
       embed: true,
     };
-    expect(getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
+    expect(
+      getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion, 'nonce'),
+    ).toMatchInlineSnapshot(`
       <div class="fallback">
         <h1>
           Welcome to Apollo Server
@@ -158,17 +171,20 @@ describe('Landing Page Config HTML', () => {
            id="embeddableSandbox"
       >
       </div>
-      <script src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
+      <script nonce="nonce"
+              src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0"
+      >
       </script>
-      <script>
+      <script nonce="nonce">
         var initialEndpoint = window.location.href;
-        var embeddedSandboxConfig = {"target":"#embeddableSandbox","initialState":{"collectionId":"12345","operationId":"abcdef"},"hideCookieToggle":false,"endpointIsEditable":false,"runtime":"@apollo/server@4.0.0","runTelemetry":true};
-        new window.EmbeddedSandbox(
-          {
-            ...embeddedSandboxConfig,
-            initialEndpoint,
-          }
-        );
+        new window.EmbeddedSandbox({
+          target: '#embeddableSandbox',
+          initialEndpoint,
+          initialState: {"collectionId":"12345","operationId":"abcdef"},
+          hideCookieToggle: false,
+          endpointIsEditable: false,
+          runtime: '@apollo/server@4.0.0'
+        });
       </script>
     `);
   });
@@ -184,8 +200,9 @@ describe('Landing Page Config HTML', () => {
         },
       },
     };
-    expect(getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion))
-      .toMatchInlineSnapshot(`
+    expect(
+      getEmbeddedSandboxHTML(cdnVersion, config, apolloServerVersion, 'nonce'),
+    ).toMatchInlineSnapshot(`
       <div class="fallback">
         <h1>
           Welcome to Apollo Server
@@ -203,17 +220,20 @@ describe('Landing Page Config HTML', () => {
            id="embeddableSandbox"
       >
       </div>
-      <script src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0">
+      <script nonce="nonce"
+              src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js?runtime=%40apollo%2Fserver%404.0.0"
+      >
       </script>
-      <script>
+      <script nonce="nonce">
         var initialEndpoint = window.location.href;
-        var embeddedSandboxConfig = {"target":"#embeddableSandbox","initialState":{"includeCookies":false,"pollForSchemaUpdates":false,"sharedHeaders":{"SharedHeaderKey":"SharedHeaderValue"}},"hideCookieToggle":false,"endpointIsEditable":true,"runtime":"@apollo/server@4.0.0","runTelemetry":true};
-        new window.EmbeddedSandbox(
-          {
-            ...embeddedSandboxConfig,
-            initialEndpoint,
-          }
-        );
+        new window.EmbeddedSandbox({
+          target: '#embeddableSandbox',
+          initialEndpoint,
+          initialState: {"includeCookies":false,"pollForSchemaUpdates":false,"sharedHeaders":{"SharedHeaderKey":"SharedHeaderValue"}},
+          hideCookieToggle: false,
+          endpointIsEditable: true,
+          runtime: '@apollo/server@4.0.0'
+        });
       </script>
     `);
   });
diff --git a/smoke-test/package.json b/smoke-test/package.json
index 48108ce34..cbea3676f 100644
--- a/smoke-test/package.json
+++ b/smoke-test/package.json
@@ -1,14 +1,14 @@
 {
   "dependencies": {
     "graphql": "16.6.0",
-    "make-fetch-happen": "11.1.1"
+    "make-fetch-happen": "11.0.3"
   },
   "devDependencies": {
-    "@rollup/plugin-commonjs": "24.1.0",
+    "@rollup/plugin-commonjs": "24.0.1",
     "@rollup/plugin-json": "6.0.0",
     "@rollup/plugin-node-resolve": "15.0.2",
     "@types/make-fetch-happen": "10.0.1",
-    "rollup": "3.21.2"
+    "rollup": "3.20.2"
   },
   "volta": {
     "extends": "../package.json"