diff --git a/.github/workflows/api.yml b/.github/workflows/api.yml index f78f3f8031..f731e22d52 100644 --- a/.github/workflows/api.yml +++ b/.github/workflows/api.yml @@ -7,8 +7,6 @@ on: - 'packages/api/**' - '.github/workflows/api.yml' pull_request: - branches: - - main paths: - 'packages/api/**' - '.github/workflows/api.yml' diff --git a/.github/workflows/db.yml b/.github/workflows/db.yml index 0ef4efb28d..11ada3fc69 100644 --- a/.github/workflows/db.yml +++ b/.github/workflows/db.yml @@ -10,12 +10,30 @@ on: # Nothing to do on PR yet, but having the check appear on the PR serves as a reminder # that we don't have proper tests for db changes yet, and that merging it will deploy. pull_request: - branches: - - main paths: - 'packages/db/**' - '.github/workflows/db.yml' jobs: + test: + runs-on: ubuntu-latest + name: Test + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-node@v2 + with: + node-version: 16 + - uses: bahmutov/npm-install@v1 + - run: npx playwright install-deps + - run: npm test --workspace packages/db + env: + PG_REST_URL: ${{secrets.PG_REST_URL}} + PG_REST_JWT: ${{secrets.PG_REST_JWT}} + PG_CONNECTION: ${{secrets.PG_CONNECTION}} + DAG_CARGO_HOST: ${{secrets.DAG_CARGO_HOST}} + DAG_CARGO_DATABASE: ${{secrets.DAG_CARGO_DATABASE}} + DAG_CARGO_USER: ${{secrets.DAG_CARGO_USER}} + DAG_CARGO_PASSWORD: ${{secrets.DAG_CARGO_PASSWORD}} + deploy-staging: name: Deploy Staging DB if: github.event_name == 'push' && github.ref == 'refs/heads/main' diff --git a/package-lock.json b/package-lock.json index fe863bec42..8a73020e96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -41,11 +41,11 @@ "integrity": "sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==" }, "node_modules/@aws-crypto/crc32": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.2.1.tgz", - "integrity": "sha512-Ydso55lIn3Vudui5jXNKcxmyVr9BNWeIkAhleGuG9zpb0Pu5yXf2Jth2A07fUyLSXX2gwfv0d84zwvKK2FMbuA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.2.2.tgz", + "integrity": "sha512-8K0b1672qbv05chSoKpwGZ3fhvVp28Fg3AVHVkEHFl2lTLChO7wD/hTyyo8ING7uc31uZRt7bNra/hA74Td7Tw==", "dependencies": { - "@aws-crypto/util": "^1.2.1", + "@aws-crypto/util": "^1.2.2", "@aws-sdk/types": "^3.1.0", "tslib": "^1.11.1" } @@ -69,14 +69,14 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/sha256-browser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.1.tgz", - "integrity": "sha512-WX/Wp6sXPhcBWx/w1aSJv3bDJL0ut5Ik6hl7yfqA1pn3cfsahl4rgHzRRXqYfJ+hnhnCqdgadS17wyBbVPsK+w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz", + "integrity": "sha512-0tNR4kBtJp+9S0kis4+JLab3eg6QWuIeuPhzaYoYwNUXGBgsWIkktA2mnilet+EGWzf3n1zknJXC4X4DVyyXbg==", "dependencies": { "@aws-crypto/ie11-detection": "^1.0.0", - "@aws-crypto/sha256-js": "^1.2.1", + "@aws-crypto/sha256-js": "^1.2.2", "@aws-crypto/supports-web-crypto": "^1.0.0", - "@aws-crypto/util": "^1.2.1", + "@aws-crypto/util": "^1.2.2", "@aws-sdk/types": "^3.1.0", "@aws-sdk/util-locate-window": "^3.0.0", "tslib": "^1.11.1" @@ -88,11 +88,11 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/sha256-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.1.tgz", - "integrity": "sha512-KtZ4qFDWZy6pKcky6RvwSytR/I8vPX9Z47pXh9sOuTcxjjtcegzS2uupg9vo0vbFcAWkSHVOEmNPh6ygiC3VFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz", + "integrity": "sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==", "dependencies": { - "@aws-crypto/util": "^1.2.1", + "@aws-crypto/util": "^1.2.2", "@aws-sdk/types": "^3.1.0", "tslib": "^1.11.1" } @@ -116,9 +116,9 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-crypto/util": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.1.tgz", - "integrity": "sha512-H6Qrl28lzGGXZgLkdP7DQpJ3D3jJagQJugziThcqZCJVUT0HABHJt9EQMiiuf93KcUV/MMoisl56UfCxCFfmWQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz", + "integrity": "sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==", "dependencies": { "@aws-sdk/types": "^3.1.0", "@aws-sdk/util-utf8-browser": "^3.0.0", @@ -131,11 +131,11 @@ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" }, "node_modules/@aws-sdk/abort-controller": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.32.0.tgz", - "integrity": "sha512-fGGlLbGzbfT8lWMt26Cr4lXpYN8rofraIK3mW9cUnV4dwFO/4UJw9m35GU/YNsC1MLzTI9Q1e08kZP+1yubvaw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.36.0.tgz", + "integrity": "sha512-IzOL+3x6odlo6mChPChSJepvtHncMKuCQSO0HCDp7AHdhfbZxDCrOL4byH6E3L/LXhUQX8hI0vYE1IDB1nqjhA==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -143,71 +143,71 @@ } }, "node_modules/@aws-sdk/chunked-blob-reader": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.32.0.tgz", - "integrity": "sha512-KRr8ioMWzZWKNw2uBJTEsmr0B7clHNTRMyMzzcGscat2l9GCo3gDfhW7VUtX1MZkKhe2UYW50/6NoOpxLnPJSA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.36.0.tgz", + "integrity": "sha512-8MwykUnBjFUpvUYzuSmq7QvNtslmz9HNYO5YcOawUg7J0XtY01EquOp/dc0LPXCQhTLCaG0YLxZrhMGP9DrB8g==", "dependencies": { "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/chunked-blob-reader-native": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.32.0.tgz", - "integrity": "sha512-+xIQTxqGH6i56ORspNTbFMoQCYKS20f1kbfokGDxcBCu5OSU44jkY/qLS7S/xSnUtExC+22uijtUSHolJYuCJg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.36.0.tgz", + "integrity": "sha512-060kKMFiCvzCI4OZRv4pTf5fNiCBT99fRVm39kKs6k3R0AKXn+4lPDN8Is740ZvGnoCCfnWC+EUUf7mwWX+jWw==", "dependencies": { - "@aws-sdk/util-base64-browser": "3.32.0", + "@aws-sdk/util-base64-browser": "3.36.0", "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/client-s3": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.33.0.tgz", - "integrity": "sha512-HTSb0fSRk44ZmYk5cr4vwnjdgpuuWD4EhHzuzVFrB3P8HjN5jPMSAIPhiqbOwfbODMzmk2lIRQh9aXxbSPn/xw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.36.1.tgz", + "integrity": "sha512-7J2OlN4x/+f66S5Ux2qJ68Zd/l5iBLpKmpSfbnuRcpjtatHi9qFDFUAFhrezDqRcETt6Dsqf6cflhF9cO7R2FQ==", "dependencies": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/client-sts": "3.33.0", - "@aws-sdk/config-resolver": "3.33.0", - "@aws-sdk/credential-provider-node": "3.33.0", - "@aws-sdk/eventstream-serde-browser": "3.32.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.32.0", - "@aws-sdk/eventstream-serde-node": "3.32.0", - "@aws-sdk/fetch-http-handler": "3.32.0", - "@aws-sdk/hash-blob-browser": "3.32.0", - "@aws-sdk/hash-node": "3.32.0", - "@aws-sdk/hash-stream-node": "3.32.0", - "@aws-sdk/invalid-dependency": "3.32.0", - "@aws-sdk/md5-js": "3.32.0", - "@aws-sdk/middleware-apply-body-checksum": "3.32.0", - "@aws-sdk/middleware-bucket-endpoint": "3.33.0", - "@aws-sdk/middleware-content-length": "3.32.0", - "@aws-sdk/middleware-expect-continue": "3.32.0", - "@aws-sdk/middleware-host-header": "3.32.0", - "@aws-sdk/middleware-location-constraint": "3.32.0", - "@aws-sdk/middleware-logger": "3.32.0", - "@aws-sdk/middleware-retry": "3.32.0", - "@aws-sdk/middleware-sdk-s3": "3.33.0", - "@aws-sdk/middleware-serde": "3.32.0", - "@aws-sdk/middleware-signing": "3.33.0", - "@aws-sdk/middleware-ssec": "3.32.0", - "@aws-sdk/middleware-stack": "3.32.0", - "@aws-sdk/middleware-user-agent": "3.32.0", - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/node-http-handler": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/smithy-client": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/url-parser": "3.32.0", - "@aws-sdk/util-base64-browser": "3.32.0", - "@aws-sdk/util-base64-node": "3.32.0", - "@aws-sdk/util-body-length-browser": "3.32.0", - "@aws-sdk/util-body-length-node": "3.32.0", - "@aws-sdk/util-user-agent-browser": "3.32.0", - "@aws-sdk/util-user-agent-node": "3.33.0", - "@aws-sdk/util-utf8-browser": "3.32.0", - "@aws-sdk/util-utf8-node": "3.32.0", - "@aws-sdk/util-waiter": "3.32.0", - "@aws-sdk/xml-builder": "3.32.0", + "@aws-sdk/client-sts": "3.36.1", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/credential-provider-node": "3.36.1", + "@aws-sdk/eventstream-serde-browser": "3.36.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.36.0", + "@aws-sdk/eventstream-serde-node": "3.36.0", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-blob-browser": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/hash-stream-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/md5-js": "3.36.0", + "@aws-sdk/middleware-apply-body-checksum": "3.36.0", + "@aws-sdk/middleware-bucket-endpoint": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-expect-continue": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-location-constraint": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-sdk-s3": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/middleware-ssec": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "@aws-sdk/util-waiter": "3.36.0", + "@aws-sdk/xml-builder": "3.36.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.0" @@ -217,37 +217,37 @@ } }, "node_modules/@aws-sdk/client-sso": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.33.0.tgz", - "integrity": "sha512-NADcWgmcBFwfe2Fl26MJ8vpO34aGspgASh7WhVpbjN8R8hjxQJTJihpETieZ8foKZTp576LgedOxAHRYgMOiew==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.36.1.tgz", + "integrity": "sha512-ZYhsmzv5aCoIvP+NqWr50jY8suA/lZkV5jRmwW6jbgEdxO2G32eV0I3jeNplZYhLx3PdfOWpTdnSsYEaiFD2iA==", "dependencies": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.33.0", - "@aws-sdk/fetch-http-handler": "3.32.0", - "@aws-sdk/hash-node": "3.32.0", - "@aws-sdk/invalid-dependency": "3.32.0", - "@aws-sdk/middleware-content-length": "3.32.0", - "@aws-sdk/middleware-host-header": "3.32.0", - "@aws-sdk/middleware-logger": "3.32.0", - "@aws-sdk/middleware-retry": "3.32.0", - "@aws-sdk/middleware-serde": "3.32.0", - "@aws-sdk/middleware-stack": "3.32.0", - "@aws-sdk/middleware-user-agent": "3.32.0", - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/node-http-handler": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/smithy-client": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/url-parser": "3.32.0", - "@aws-sdk/util-base64-browser": "3.32.0", - "@aws-sdk/util-base64-node": "3.32.0", - "@aws-sdk/util-body-length-browser": "3.32.0", - "@aws-sdk/util-body-length-node": "3.32.0", - "@aws-sdk/util-user-agent-browser": "3.32.0", - "@aws-sdk/util-user-agent-node": "3.33.0", - "@aws-sdk/util-utf8-browser": "3.32.0", - "@aws-sdk/util-utf8-node": "3.32.0", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -255,40 +255,40 @@ } }, "node_modules/@aws-sdk/client-sts": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.33.0.tgz", - "integrity": "sha512-5UnPi69MUHO6rhuzBYmxDrZ9wYdUvCiP2S8kp3xPwLEAyMNIrFbMBkuC+BhSAsIlaToxGz1ScouVQH6GFcf46Q==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.36.1.tgz", + "integrity": "sha512-Bvpr1dquJs6lRd2hu/BjfUz2nfP/ESXsxh0YR0H7HMq+RtW2Mr+IDIV6n+EK5te21VUmc47LVpPfdiYDWyRxLQ==", "dependencies": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.33.0", - "@aws-sdk/credential-provider-node": "3.33.0", - "@aws-sdk/fetch-http-handler": "3.32.0", - "@aws-sdk/hash-node": "3.32.0", - "@aws-sdk/invalid-dependency": "3.32.0", - "@aws-sdk/middleware-content-length": "3.32.0", - "@aws-sdk/middleware-host-header": "3.32.0", - "@aws-sdk/middleware-logger": "3.32.0", - "@aws-sdk/middleware-retry": "3.32.0", - "@aws-sdk/middleware-sdk-sts": "3.33.0", - "@aws-sdk/middleware-serde": "3.32.0", - "@aws-sdk/middleware-signing": "3.33.0", - "@aws-sdk/middleware-stack": "3.32.0", - "@aws-sdk/middleware-user-agent": "3.32.0", - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/node-http-handler": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/smithy-client": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/url-parser": "3.32.0", - "@aws-sdk/util-base64-browser": "3.32.0", - "@aws-sdk/util-base64-node": "3.32.0", - "@aws-sdk/util-body-length-browser": "3.32.0", - "@aws-sdk/util-body-length-node": "3.32.0", - "@aws-sdk/util-user-agent-browser": "3.32.0", - "@aws-sdk/util-user-agent-node": "3.33.0", - "@aws-sdk/util-utf8-browser": "3.32.0", - "@aws-sdk/util-utf8-node": "3.32.0", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/credential-provider-node": "3.36.1", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-sdk-sts": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.0" @@ -298,12 +298,12 @@ } }, "node_modules/@aws-sdk/config-resolver": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.33.0.tgz", - "integrity": "sha512-+2uySfe1B8bxEI8zhqRYTWAajIchjFeamNGaOX5jM6XPLBfBfZYSFgrtqe3d6ra+jsqHXwm/Z1OYUdVkEXKapA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.36.0.tgz", + "integrity": "sha512-4UxdPrlSo1RToelV72fMustttTSWKHJm3L054jJQUCiXDIIrUTAFhI5Z6El4wqYjg15QIZkIdcN0T9Vzd/z5Lw==", "dependencies": { - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -311,12 +311,12 @@ } }, "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.32.0.tgz", - "integrity": "sha512-L/YL20wmgXY3R+6lZ94aIomPVIwxj4obfZkjSEncFZwBeB1A7UPSOsqrXFwrag5rPwgfyzy6Dgz1sIUYcdH1XQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.36.0.tgz", + "integrity": "sha512-APQAgVmVx850lL8v2Sz/L4kA7a7ectqNZNxTBm6+H534uGsGYwNSmRcTQiXA77qCRts5ZaFQP3CHdxR8/Ixr6w==", "dependencies": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -324,14 +324,14 @@ } }, "node_modules/@aws-sdk/credential-provider-imds": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.32.0.tgz", - "integrity": "sha512-jRXqE0nQta91KVNKtVl3Pqc/vveGEaLfWvqhkJEbhVX+myI5pzTLxINNyTR111oBvoq1sFIeqJQY0KT3qn5BMA==", - "dependencies": { - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/url-parser": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.36.0.tgz", + "integrity": "sha512-4hDzNZ60hgAenhAm1Sys25H2LispgtvSx+K6U/5kTJCvfqRwS13ZH9LTjlA4FoJC+zv4INSYN01oYZfhQpczUw==", + "dependencies": { + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -339,18 +339,18 @@ } }, "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.33.0.tgz", - "integrity": "sha512-a8UvxsB1+8BSlotqNLleqJzNLUGDInyG9zCAmHRNujkNkkY+1DpJ30e2ZwtBzcz25cx0ULT4OgHHlqETGEXPwg==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.32.0", - "@aws-sdk/credential-provider-imds": "3.32.0", - "@aws-sdk/credential-provider-sso": "3.33.0", - "@aws-sdk/credential-provider-web-identity": "3.32.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-credentials": "3.32.0", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.36.1.tgz", + "integrity": "sha512-DqApaEr6khLcPOiZBjQeZqQ8A4eI9DJrlmlP5Ov2p0ne5miXEddwXaqGAFryF+ylMdPOvfjJvza1TkRD7MxhwA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.36.0", + "@aws-sdk/credential-provider-imds": "3.36.0", + "@aws-sdk/credential-provider-sso": "3.36.1", + "@aws-sdk/credential-provider-web-identity": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -358,20 +358,20 @@ } }, "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.33.0.tgz", - "integrity": "sha512-aZNYt7BOTkBMdpcdXF5livfGcP5sZRYAnO0i2o6dkjnOJ5nl2p014FS+xJNSk5/rtV3p7n740bQ5mMdz/kngHQ==", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.32.0", - "@aws-sdk/credential-provider-imds": "3.32.0", - "@aws-sdk/credential-provider-ini": "3.33.0", - "@aws-sdk/credential-provider-process": "3.32.0", - "@aws-sdk/credential-provider-sso": "3.33.0", - "@aws-sdk/credential-provider-web-identity": "3.32.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-credentials": "3.32.0", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.36.1.tgz", + "integrity": "sha512-SHBZOq+jOO/9Yqdrig5ATSLifjdNeVdi5/trCQj2ynwO6N9bAde0V1ni9TdBU/4kejYdtL+vIeEg8R29n1fMoA==", + "dependencies": { + "@aws-sdk/credential-provider-env": "3.36.0", + "@aws-sdk/credential-provider-imds": "3.36.0", + "@aws-sdk/credential-provider-ini": "3.36.1", + "@aws-sdk/credential-provider-process": "3.36.0", + "@aws-sdk/credential-provider-sso": "3.36.1", + "@aws-sdk/credential-provider-web-identity": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -379,14 +379,14 @@ } }, "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.32.0.tgz", - "integrity": "sha512-9DbcunIMW6Xmpq9mDlNlZ59q23X37uEfi9aESX1fBtu6r2cfbNKPZyY1984GsDLA3jEnXj+LhNympeAD2psAew==", - "dependencies": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-credentials": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.36.0.tgz", + "integrity": "sha512-2ITkLv5mwbPzDCnPpZ7GpibQD78yiF2voU3knR5XWbnSdHosV+taTwnU+HMcJhWQPR9lTKHDf4/rEtUPw/imrQ==", + "dependencies": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -394,15 +394,15 @@ } }, "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.33.0.tgz", - "integrity": "sha512-3KyvrpiOeCx93DfelQZz5IRLN49Il4sNpIySVgJSG9WwMVJC/vBHukBwB89hkEUifPtw5lMcKb6MJlEq7+sgxQ==", - "dependencies": { - "@aws-sdk/client-sso": "3.33.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-credentials": "3.32.0", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.36.1.tgz", + "integrity": "sha512-uS6ZIwq0HbBGD7lhuUr/g2RIpQzEb2gT3e86r5Fesv5eLWTqzkhmXJ5jc7cHPuQK3Ojcu2S8atVcdeUGfdamgw==", + "dependencies": { + "@aws-sdk/client-sso": "3.36.1", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -410,12 +410,12 @@ } }, "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.32.0.tgz", - "integrity": "sha512-0aqG2ioVoekXgTdlYhcbOM3HDsgq7J1SRwib/jpRy/gKa+EeYwk79NI6SnMpSQH8ThHwSK5LCe0SCBj8G5mCCg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.36.0.tgz", + "integrity": "sha512-cC0WZmQhxmEw5VJud15tNDQggGFTxtz6FP5Yj46UtmNa+cTadtrruoe4PZBC1QqWgrfBpkI7W1quD3BZthiV/w==", "dependencies": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -423,24 +423,24 @@ } }, "node_modules/@aws-sdk/eventstream-marshaller": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.32.0.tgz", - "integrity": "sha512-jKJs8ZR1yHw8Tpp9hAWOqgchQclMJjYINbakZpBGkfiSYCNRn6Y7uYvxrDCWVa90xI4O9XURMGEo8DjF1clJgg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.36.0.tgz", + "integrity": "sha512-6/WKo0LZkNG6YiJ8HoElWj0SndXCxib482cz16GmrBY1WsXsqqx/qxAfxhMMkBayyOWzVD0r/TOjHqdiwOT+/w==", "dependencies": { "@aws-crypto/crc32": "^1.0.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-hex-encoding": "3.32.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/eventstream-serde-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.32.0.tgz", - "integrity": "sha512-dA1Nh19+ZWrIbZS+3TkBqDHrikcTdH6egcZn7m4XnF2AR6ymJRKioVLeETDfAV9b1pAzxfQLtys+3qYuPDwMsw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.36.0.tgz", + "integrity": "sha512-W1DCmEcWkQa3kC23sg5Bb6rozafy83CwtXBiJ26CZFvtSnEsntrXz2+xHc4fITTu1D4rAD+J9w4hYZ72gfE5Tg==", "dependencies": { - "@aws-sdk/eventstream-marshaller": "3.32.0", - "@aws-sdk/eventstream-serde-universal": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/eventstream-marshaller": "3.36.0", + "@aws-sdk/eventstream-serde-universal": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -448,11 +448,11 @@ } }, "node_modules/@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.32.0.tgz", - "integrity": "sha512-YI7OXM422QbyQX/bataMyfspiAg5xyqddCU8+j3Bfdsas8dmAV8mLGYX5N4laKlyGUQZxycNlBRzotnRgCa9EA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.36.0.tgz", + "integrity": "sha512-+s9hj1NhGFSYotCACSf5h1hebbBZyeCZKlxm9My3zE3Is1hG3I1v2PBw8al39kxHR0nDMGPlMjMzWL7F7byjdA==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -460,13 +460,13 @@ } }, "node_modules/@aws-sdk/eventstream-serde-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.32.0.tgz", - "integrity": "sha512-0+w+wDWz4AlFi98/8ffePRKCB6XK55GH4j2Yb+AGzUKZyJVT1SPk7D1fqGmTc/rm0kDSyT7qXlgp0QWeysR+ug==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.36.0.tgz", + "integrity": "sha512-x5VaVk6XEheDNSAp/VRqJOq/z/SWa0PKiMCSrFuUM9IznicQcG90AgUUDGA0gEp2GMBwR+LhVCz4soTZtAoADA==", "dependencies": { - "@aws-sdk/eventstream-marshaller": "3.32.0", - "@aws-sdk/eventstream-serde-universal": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/eventstream-marshaller": "3.36.0", + "@aws-sdk/eventstream-serde-universal": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -474,12 +474,12 @@ } }, "node_modules/@aws-sdk/eventstream-serde-universal": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.32.0.tgz", - "integrity": "sha512-CT/HEOvRewVpOMkRaobmEU+C4FMkMwXgbC1h1pFKpHvcE0N2OBMU2Sp+7Dl4ZYEAd6paHTGrUjWl30N2E8SHJQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.36.0.tgz", + "integrity": "sha512-suMcZFKH/Q2y3QCRpr0rSMYxvCoCKmv4JanuDqqjR5FuFQ1W+JfGCYPkJmMfwXzPzF9p+P/3NXFh3sflNtSYXQ==", "dependencies": { - "@aws-sdk/eventstream-marshaller": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/eventstream-marshaller": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -487,35 +487,35 @@ } }, "node_modules/@aws-sdk/fetch-http-handler": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.32.0.tgz", - "integrity": "sha512-gPozFdAjIyj7XiUemJHuwKIFpd3bpA+P5GjYhnWRW/iV2vlmR+q4M8EcgxWyf55ME8ZTj9CpEMGED8u8Hpkrzg==", - "dependencies": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/querystring-builder": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-base64-browser": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.36.0.tgz", + "integrity": "sha512-Xhd55V12+m8GTHdJRQVlxsdzq3k5rNUMK/5t4ehJwLoYdo3yc2tjOytgUoD9qDyGPkAV8nnP/uM03QEuovEk9w==", + "dependencies": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/querystring-builder": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/hash-blob-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.32.0.tgz", - "integrity": "sha512-P+ok1zZXZOeqwpmk0PL5xq/btdMkjMUiGLEbfs20r3Aoyjvtr8xoGGWML+p7LP0CjddUav5tVYRq6+v+gtkObw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.36.0.tgz", + "integrity": "sha512-A+SmEvHPEf1+grMDfs8jtk9GVtG/Qs58VtPmsUq5yeUSme8Vor+MsOMfNjZ6QXD267HourMMSNNLBWzLNzTqjw==", "dependencies": { - "@aws-sdk/chunked-blob-reader": "3.32.0", - "@aws-sdk/chunked-blob-reader-native": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/chunked-blob-reader": "3.36.0", + "@aws-sdk/chunked-blob-reader-native": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/hash-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.32.0.tgz", - "integrity": "sha512-SQf10cM67WuZ1rFKqvxzgKS/rD6B0jM/1CUGHR2p6HfxlWQyGn4ea4fpyqDzZ53D0msmYPx06LmIQtmcc0kMgQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.36.0.tgz", + "integrity": "sha512-+SbX7eE+DRGeK6VfxKa4SanlT3syEn512XkwGvPe51r/ojeTgAZf/PzlKh+ketGMsbwDwoF2uQaQo/dos8PGjA==", "dependencies": { - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-buffer-from": "3.32.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-buffer-from": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -523,11 +523,11 @@ } }, "node_modules/@aws-sdk/hash-stream-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.32.0.tgz", - "integrity": "sha512-mdR9PKNr4oZfmO1wP+9y1ZUNocCYXSN3GxX+ZRfTVIe21INXnzlOa8iZ8yPUiZXB2bQndIeJn9fHJShkc6tU7g==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.36.0.tgz", + "integrity": "sha512-oNWxMyAxfQZ/pEGWA9AWNswdfnb3B7fE03kBOL6h4cO4G4OAFL6l3r3e9BH1m2CYc4zgn1ezXK3m4tP+K28PxQ==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -535,18 +535,18 @@ } }, "node_modules/@aws-sdk/invalid-dependency": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.32.0.tgz", - "integrity": "sha512-ISX2d4sXeZSOYk5Bger9VAVigEE0Jgb2xucjqplcg9+Q0/Tm4PwPJTXgYXpc/fGxkVIy535fl/lrHnZZT/tTHA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.36.0.tgz", + "integrity": "sha512-ArRPRY/5QmxmmAoMX1ukNPyOFic7CskZwDwFxnlFOzrsSaVuLkkqTW4SLV+xjVMHX8oINggj9Ufzgh3gj2oUaA==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/is-array-buffer": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.32.0.tgz", - "integrity": "sha512-ywBtlNwQzA3971o+cG2WptNhARFQBSM7PX+l/LJA/XwczE0ZPcTVACbSDu+Aqphz0XjFZ8FDoYMTdbZZeVR4wQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.36.0.tgz", + "integrity": "sha512-sglBYWZYeYmCxkVdol+W2HGazAwF6z3HvLETkDIKTzM80+xepCoEBGrJi1tWO+OMZxSJq1KV/u89fQuGouBeKQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -555,24 +555,24 @@ } }, "node_modules/@aws-sdk/md5-js": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.32.0.tgz", - "integrity": "sha512-0Cc4HtGtkX9k7SeJC55WcMcFRI/WqA4RQOTyIsEc86JBfaMcweJ8fDBwYWl6cTDyrMa2R5HUjK9ynQm/W91EiQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.36.0.tgz", + "integrity": "sha512-C4xOIcqIa/rkzxaV6HwXxjchTHXcS8IfkpBcuEYB1DzDfuJEXo3ZfPJI6srGaU+7CzqYgd1eQ0bWk9A3jF0x+Q==", "dependencies": { - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-utf8-browser": "3.32.0", - "@aws-sdk/util-utf8-node": "3.32.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/middleware-apply-body-checksum": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.32.0.tgz", - "integrity": "sha512-K2XVHVrByMFkv4bkErLnARvuDqtJwtQnpJsGJf1FXnUgkdyofcpwmXjbzkI7RV0UTQZMy41QvQHE38PtATt1tQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.36.0.tgz", + "integrity": "sha512-dqiUCM9QJu+CfTnFL8v+E0+/f+eheVfifWntdd/JyQC0TGOmikqDqkbUDtguag6EgLTr9i37nKLAWH/PewXIhA==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/is-array-buffer": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -580,13 +580,13 @@ } }, "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.33.0.tgz", - "integrity": "sha512-J/aX8GZ+aDzCO0PpiEZVvzb0oWTlpt9J9lfASCg8ui8+uh1Jva7iQ4faqzzwLiuQ+3LrJsWXhqIeu77JzRZ6VA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.36.0.tgz", + "integrity": "sha512-WgiZzlZMDp2HEvBe8xLsj2cG6OhtPuXb1L4tlU9XIUlM64Y3Phrxjo/aHI+wynmvF2/lqlcG4J+5NUpiH9AjYg==", "dependencies": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-arn-parser": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-arn-parser": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -594,12 +594,12 @@ } }, "node_modules/@aws-sdk/middleware-content-length": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.32.0.tgz", - "integrity": "sha512-6paddPqlx86OyGCtf2IFVQd4eJWRotpYLCfEcaxno/ihoybhOgSSL3kvRMy77Y168jYjB88kilACzEVrOg8gYA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.36.0.tgz", + "integrity": "sha512-3+3QYgXnIukhdeP8UHXb7E8vv9d61sUAN4hbEi4/Tg6ZZOUoeVfWZrQCQNTNBV07qoATdeGE+EaPgTJEOmiDig==", "dependencies": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -607,13 +607,13 @@ } }, "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.32.0.tgz", - "integrity": "sha512-NkNxb/qJYAN63CQN1x1QK6kgKr8/KvfPGaCwnbsgZdPxmUFdT32aDhemsLjEvPUC5hIXcDJ+cTCfI43FjP1SEw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.36.0.tgz", + "integrity": "sha512-WOsWLqpJVe4InSZnh0SJmNuyFOb3tt+bGO9CywMzhydhE1EC504kn2EVHW4ukQUeSVyLZgh7O4Vxl+hQu8rw3w==", "dependencies": { - "@aws-sdk/middleware-header-default": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/middleware-header-default": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -621,12 +621,12 @@ } }, "node_modules/@aws-sdk/middleware-header-default": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.32.0.tgz", - "integrity": "sha512-OZPdAMQz9UZifIhTZz1EWM8rg79wF2j1zZMh5pCdlayDX7xcTTKGxYVKL+Ao3bEe1Qtn1MKXcMqUgvgQnY1VWA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.36.0.tgz", + "integrity": "sha512-KzhxyHAn+byf09G49PwiqrwCTI+DA2peF8uxRA7EAPMyLZUcjL/qSYwxhIf3on5ul4IkysvECF8RGGB+paQwNg==", "dependencies": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -634,12 +634,12 @@ } }, "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.32.0.tgz", - "integrity": "sha512-zL2zj+HU/t4hU/btzyuKU7+Ct3GuyGUCaex1wE1wilLgiMQWlHx6tAVyA6lT3Zie4helHiIEnf1wYShm+Kmv4w==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.36.0.tgz", + "integrity": "sha512-hN9HSMAE6um17TygJaQjAlM5fFJRneXB794OK/hMngibotQ90FogvbEWOPBRBW+LaWWemr39xdcb51PHsUSlbg==", "dependencies": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -647,11 +647,11 @@ } }, "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.32.0.tgz", - "integrity": "sha512-g3Un+1cuCnmkQlXx3xuX/sC8HnzyWlNL4L8MngBrAXr5j0jwv9L08XV4boLvcfwCNjaapeivryvnqVXdWrk6IA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.36.0.tgz", + "integrity": "sha512-lcKNfFLzDKLmsHOPv3fr0GqP02qimn7m69yDNTyDXKgzwkYPG36aIjCxX1Znaw1jZbAvtW6ErwEB+6BlN7Is1g==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -659,11 +659,11 @@ } }, "node_modules/@aws-sdk/middleware-logger": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.32.0.tgz", - "integrity": "sha512-d6HH0SMI0m4U9lHk35zAbovop3ivHreZvcH5jw0A64izZQt5eqRbre+R0sfK+UjC1bARo1Wb+SaHcSDmxrqrJg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.36.0.tgz", + "integrity": "sha512-Cl5yx5xNbm8nL6iI0iRjEmtT/ImoxZzU3eWpACglweyxgeF5nRDUMp5v9WthuCPCOjxrw2I95JOj5JOP+/QIXA==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -671,13 +671,13 @@ } }, "node_modules/@aws-sdk/middleware-retry": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.32.0.tgz", - "integrity": "sha512-i5Uz/Z67kq/whrW+ZROgqz2NKNVZIGIk1V6tFte48jw1L2PMu+AQkgwKufY30p7oxOn0/v1qu2VMz0BBFYVeoQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.36.0.tgz", + "integrity": "sha512-qFHFQ7KmwpD8eRCsbN4vaisidlRi/rzegns5/3PZU0wygQ2obTi2NnKJJr0dWSG6XqPhBmUv0YleIh9LQZimuQ==", "dependencies": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/service-error-classification": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/service-error-classification": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0", "uuid": "^8.3.2" }, @@ -686,14 +686,14 @@ } }, "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.33.0.tgz", - "integrity": "sha512-f6F72pjppKGLhSveVx+y9V8q+9TvtN8MKyPcNwlOHeaNMgtjTe3e6qf1W3Ih55XdUkMemfbZBNl+WrZhMFqnNg==", - "dependencies": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-arn-parser": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.36.0.tgz", + "integrity": "sha512-40477uh2rEBEU2L/Hhvih+/a9mFvCPRvz9kLOjYYmHaLkAVRBHWsMatNgNIs/8qsaWQXq7a1PBejDPDyXkLivw==", + "dependencies": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-arn-parser": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -704,15 +704,15 @@ } }, "node_modules/@aws-sdk/middleware-sdk-sts": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.33.0.tgz", - "integrity": "sha512-svCAHOAg3KXgxlVtrjtmwey8/tc4tkGGpq+8EFajrf0/UMkGSnd7Lg1lelpTsJa02DdSwuww8z7TIysTEe5Z5w==", - "dependencies": { - "@aws-sdk/middleware-signing": "3.33.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/types": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.36.0.tgz", + "integrity": "sha512-W4b09/mfNqFNoxJxI0L2FjKEadhtYIBNkL8kh4fL40ax7zBL1Q7El9ZKueBezyN1EbYRui+tym39x9eEYZwTWw==", + "dependencies": { + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -720,11 +720,11 @@ } }, "node_modules/@aws-sdk/middleware-serde": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.32.0.tgz", - "integrity": "sha512-y3bFjq8Fm9jd0EKbDyohrHtpZLMO2GLabvpNTcQpt/2YOv8wAMPWpCllJXdFAGRav5xkzMJItYFNDuLB5foHyQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.36.0.tgz", + "integrity": "sha512-KuQIt3Cq+FC2UlQ/PMYQACnSK4v/fkV0dHqTjICuCi0Tft17HtkXU6rFLbIAbkM1wCp1OhyHFjHHDESvvjdmGA==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -732,14 +732,14 @@ } }, "node_modules/@aws-sdk/middleware-signing": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.33.0.tgz", - "integrity": "sha512-GBqTM2gAFo/UTRWkTUipbHHyGkGXDOjimQDNscoUyTXeA8q0J7+k1z5ZSJLVtAUge7LOJmE3VSkOEc7C3SDx1w==", - "dependencies": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/types": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.36.0.tgz", + "integrity": "sha512-nx+IJE2YFxHF+ap4mOUSVP7WmXMgtHgC/QM97pcd03RtUhsNsu0rmv5HOmyl5MduP/NjGdRdF3Ng+MP2q2aTpg==", + "dependencies": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -747,11 +747,11 @@ } }, "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.32.0.tgz", - "integrity": "sha512-5jAWG31255DFc3MfE4Wgq4VNXSzYYQLl5dp0IcTfQg13+9446xVx6L3ik1dKqP7wSmDMbpSO7yuuBUD4TH2bjQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.36.0.tgz", + "integrity": "sha512-73P+q51tZRpW2Q+f0rbv3aWLulkvDsYixNnNjY9k10pKN30Nld1kIF0EYecJZCrR769GGeUGROXU4pvwu19EXQ==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -759,9 +759,9 @@ } }, "node_modules/@aws-sdk/middleware-stack": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.32.0.tgz", - "integrity": "sha512-tklpaAeAKGQmdbj98unhr/cSh5nJCkPJFuK2R1+LOY57IiQSzKRg+CEF3wDU9DH/ILv6r/z5wxVlXxO8T0b+3Q==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.36.0.tgz", + "integrity": "sha512-9BWJ25nGQET23CiukmdGw0njDhl+uTUZ8CwO4VQwklmK9x8Y+NFE7k2RCp5m3GxEvn07oJ3FlWK5WE4LLmu4Pw==", "dependencies": { "tslib": "^2.3.0" }, @@ -770,12 +770,12 @@ } }, "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.32.0.tgz", - "integrity": "sha512-lg4Y8Z6EwiNpHEPoOfQtchJEm41xiVyr3wFoVWNShhRncn39FMTVJGx3uqAgh/HLSoDZ4W8MNfm3jUnvUb1rEw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.36.0.tgz", + "integrity": "sha512-n2Poao1alyrKu8a5vcOW9hFIRHrnAlKtUvlItQWSVxgVHQhrYkBJycRW/qh1BKLxt1S+EUPTMTVS4i0XGYOqSw==", "dependencies": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -783,13 +783,13 @@ } }, "node_modules/@aws-sdk/node-config-provider": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.32.0.tgz", - "integrity": "sha512-7Ro3loMlm5DA6IGFbSmBqoopgYojm5lQhuZksSI2xPXCBHyu3ym6a39ikjVsEmSQrJdXRiB77XM94fM+jGxjCg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.36.0.tgz", + "integrity": "sha512-tn1ToARM3iPXh1BZxzv5OgqBvXIAZaWV+sZ/Ns1GY7r5oy9JA2Z3Q/VG49POrY2gL5q1QaGAs/5WiBc6TEEE6Q==", "dependencies": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -797,14 +797,14 @@ } }, "node_modules/@aws-sdk/node-http-handler": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.32.0.tgz", - "integrity": "sha512-LHO+ikctC+FdPINoh84T5ooioEPjrzYrXpRXa1tufTfVN6DmtaFxukBa0XAGv/PGyL5obfHmi1ErPFSLwBfr9A==", - "dependencies": { - "@aws-sdk/abort-controller": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/querystring-builder": "3.32.0", - "@aws-sdk/types": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.36.0.tgz", + "integrity": "sha512-hfmiEw498YNS/maPVLqQaXvfE6zygGgCsQcD/r8AHdI3vuoNk0fMr6Ys9EhTr9cjBATRDej3Yq7PMKMylsnaiw==", + "dependencies": { + "@aws-sdk/abort-controller": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/querystring-builder": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -812,11 +812,11 @@ } }, "node_modules/@aws-sdk/property-provider": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.32.0.tgz", - "integrity": "sha512-RucvDIm2UX45xz0UvypO/KRKR0FmmLgYg3I++Twjl2aA2TGh/xR8AImbhmL6P1u98e9agkSnZVJHBMfMPbqALg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.36.0.tgz", + "integrity": "sha512-/+XvcAClcpaV0ufcC7r7mYq7MWRk9gsSWWw2nlb8O4Yj1r7bQyg3WsR4gCd9bxL8uUJn4xCD5nvVp3pLzgOsRg==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -824,11 +824,11 @@ } }, "node_modules/@aws-sdk/protocol-http": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.32.0.tgz", - "integrity": "sha512-5ORPDE+LGjSoeeaR/LIVVwJN51AvaHo+lQe9gH1jpS6/0nGXlcHOgAPRSz8+gr5rVFvwUx8GnjNSqxChRnfbAQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.36.0.tgz", + "integrity": "sha512-8uSVHoboZh9oNG4oCf0sVmZDB5HDY0CiWcX22ELqvYpia96gIp/n1AHru7aEbD++uHB3w+VPbHABOXDD6dxqmg==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -836,12 +836,12 @@ } }, "node_modules/@aws-sdk/querystring-builder": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.32.0.tgz", - "integrity": "sha512-L+C7Nqg/h3gN9TksUrbT1h75+Cdj2tb4OOWcjv4z8Ud88Rc9ZXLEL2cAjKuAKJqWkVHEunm3X2Nm92x3bUNKoQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.36.0.tgz", + "integrity": "sha512-l+ngIoBDKoarU8Pdi2InIKGhzl7/pnAMmAE8HMC9EIFDPwpdyOVd8HQFT8+Ot3nlvHiZC8OzpRTTwS0sXIhLEQ==", "dependencies": { - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-uri-escape": "3.32.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -849,11 +849,11 @@ } }, "node_modules/@aws-sdk/querystring-parser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.32.0.tgz", - "integrity": "sha512-iuoVZ469fn0iU4MELLuUDoS9FJeW5UG2rejk6k395QAPSjHQa/6NbBGt0cKUOWloMxli3c8VEprZbnl/QVpujA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.36.0.tgz", + "integrity": "sha512-ZRqJaWnuZLx7c0iTrUr1Se4rEuAlrS3+gzNaraheJasUCVTSXGqHYSGuV8y83/hKnwMra4r9ITd8SzTHuHPTzA==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -861,17 +861,17 @@ } }, "node_modules/@aws-sdk/service-error-classification": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.32.0.tgz", - "integrity": "sha512-hzshKuW6x9Qe43wF0dtAS1W/NzeZUUXb/FlV+733Jw+MZlZxVaCiYSTGi8azK1coLNZ5JhesmrRbT5JitoOe/w==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.36.0.tgz", + "integrity": "sha512-y3m/Gc1kSZBX1Dvg3lnu3TxteW2WqjFGc5Y1XBqjOdmQ5JmE1GZz+s9inGfP6N/5v56qQfhTeVCABh1Anq+jEw==", "engines": { "node": ">= 10.0.0" } }, "node_modules/@aws-sdk/shared-ini-file-loader": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.32.0.tgz", - "integrity": "sha512-d5Djy/mudtIiwk3nRoPm/+7OEwYWgxprLlJN7PB2ehwaolQHOZVEkJtoJ/e5hFEWZ96T7QwsHbEvCrSMNjDRkQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.36.0.tgz", + "integrity": "sha512-4Xb40+nmfT+qjmHfC17bC96bTME01k+axhSX1GkPH6PlrZrR3ICuq59JLn7SJprw8x7/HHa1HmYpCR1tbkXjNw==", "dependencies": { "tslib": "^2.3.0" }, @@ -880,14 +880,14 @@ } }, "node_modules/@aws-sdk/signature-v4": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.33.0.tgz", - "integrity": "sha512-HuB9dvXV+SYwry6DlV8EHHuh7SlK5jSxLThQ4LOtqkNKC14W+8gQxhu7il/0aDJyCELblEQ+DBmrsB74LOmhGA==", - "dependencies": { - "@aws-sdk/is-array-buffer": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-hex-encoding": "3.32.0", - "@aws-sdk/util-uri-escape": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.36.0.tgz", + "integrity": "sha512-R17pRSxUYai0rBDAQPMXp/9kC1BewciJlkfP2Lztvp09KqEOqkHTzS3/vHm5W2lStQi+LThAjtG7vADSJIJ9Vg==", + "dependencies": { + "@aws-sdk/is-array-buffer": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -895,16 +895,16 @@ } }, "node_modules/@aws-sdk/signature-v4-crt": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.33.0.tgz", - "integrity": "sha512-lmXMgZsYXDZUHEfoHusl18osvqaheyMFZueMTSdk1CrKEkTBJ/qXJqVFpSDDcEO64nq7X2uYantJX3YdnEgVAg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.36.0.tgz", + "integrity": "sha512-pAM7Sw1VM45yY81F6pvLouK87eczP30dqNTc4aP+hWcR6xlCrYuUsQFODY3dyWBrFTxz04pPAPqt9c/CDaWg9w==", "peer": true, "dependencies": { - "@aws-sdk/is-array-buffer": "3.32.0", - "@aws-sdk/querystring-parser": "3.32.0", - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/util-hex-encoding": "3.32.0", - "@aws-sdk/util-uri-escape": "3.32.0", + "@aws-sdk/is-array-buffer": "3.36.0", + "@aws-sdk/querystring-parser": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", "aws-crt": "^1.9.7", "tslib": "^2.3.0" }, @@ -913,12 +913,12 @@ } }, "node_modules/@aws-sdk/smithy-client": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.32.0.tgz", - "integrity": "sha512-FjGujKpctsI18vJGVvZ9FmqAWffvdmT0o6nL3vD8hWoi4O2x05FGpx5rrAPo+wwhOga6ejuKtj3T9lhjU9c2vw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.36.0.tgz", + "integrity": "sha512-uYX4M7pNj+Vf4JuVOL0p+tAIKNHg2i7GgNyVlcELdaLFMIFfViJ2cMF72KqHA5xssnc9BHX/pR/0LS5PhBCYRg==", "dependencies": { - "@aws-sdk/middleware-stack": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -926,27 +926,27 @@ } }, "node_modules/@aws-sdk/types": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.32.0.tgz", - "integrity": "sha512-ZkB+jFk6FZ9wA9wvQTqv6ao2sPSVeMlUF349NecPGLtpy2c/+RPxO10NmJ8yG9jFfmB0OXLnEPrDR7VinxTHNw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.36.0.tgz", + "integrity": "sha512-OeaTDZqo4OfGahgsZF2viOWxSSNColEUf8RbKAWNlke3nkMu3JW8kkft1Qte6jvoQxZ3jOQWi33Z4LUxix/V7A==", "engines": { "node": ">= 10.0.0" } }, "node_modules/@aws-sdk/url-parser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.32.0.tgz", - "integrity": "sha512-K7hvWjFTAqfBhg9nP7zdfGqGY4ioOAqfDXCt+LYtoAkVcdyic+LcUgAB9pwxujN0SZ2hJYaBj93ERA/qJu/FVw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.36.0.tgz", + "integrity": "sha512-3l0iY9lx7dqEEyeKEB5IV92nFSYFAqwnD9cvJ6qmv5bheAgoizykugRMiT5U5DFGh5WYOHAh0Zkedqq87vJZOA==", "dependencies": { - "@aws-sdk/querystring-parser": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/querystring-parser": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.32.0.tgz", - "integrity": "sha512-w3SbNrxyckvue7PWSG4kIGRhY4c7VQTVS8kfpdSq5uvTAmVA8MOM8O7HQ2gi4h81R+W6uLbJMP5TPjOAR6ejuw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.36.0.tgz", + "integrity": "sha512-C1H1uiJEkXiE7636kjdiK/vBZc1IgRf3dmwqM7slS0JN9xb81tmFFmS0GPSCS5ghkZIbfg6G48bk9MYmymBn4g==", "dependencies": { "tslib": "^2.3.0" }, @@ -955,19 +955,19 @@ } }, "node_modules/@aws-sdk/util-base64-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.32.0.tgz", - "integrity": "sha512-fWheT9FmpKWbSqyk+IpiXFADUXOHhEIBf8ipDK4Rghy6NtlipJFYOeg6ACoafRG+1BV9M2zz3WqS3Xfnck3Muw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.36.0.tgz", + "integrity": "sha512-N8Ej1C5rea8QSoU8Aomh9hpcGA1p/lEw6jIQQJ6yAKOUPk3y/XIhmJLj7nkIbL1LoRmS5seNqlaFilEBDDUxQw==", "dependencies": { "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/util-base64-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.32.0.tgz", - "integrity": "sha512-Fy3rGPUjWVtuiosUhcKtnuhsCLs7upDWWk1D35op2hRgyUXypYdSD1+mdJyQTUFOrw5P2MlbrvBAbQA3TYv0KA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.36.0.tgz", + "integrity": "sha512-Lum6NUvfJuzCikeWjwBBKZR8cveVzwpGM6kCYEtLzFrc41vCf1bdUFwG05v6J0cAyUz9ULjJ/5P/RV27ddqTfQ==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.32.0", + "@aws-sdk/util-buffer-from": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -975,17 +975,17 @@ } }, "node_modules/@aws-sdk/util-body-length-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.32.0.tgz", - "integrity": "sha512-9Poj9JXMiyEM3mQdM0SgZGl7hjb8KvPS+HO3+BPoC5aDD5d10KXmC3rIxxV4YHM7wMbZZco7qhoyF9fCnXOiaQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.36.0.tgz", + "integrity": "sha512-6iSpqACjRVaG0J//zfPCcGb4Dy+7a/SQIWPg+dvDt3kV36oUYUpjE5UurlniONL4tntXs28WsiGJkJ8SQ+wefA==", "dependencies": { "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/util-body-length-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.32.0.tgz", - "integrity": "sha512-9o4ZhjkGsLBN2WIYHWEuHk4f/oFa17IIh8Errjhub/17MKd5uX5cPVw/Bs4tNIzdFh/mz+bcbOeEnBQirUpoPg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.36.0.tgz", + "integrity": "sha512-19Qnr3AyInJes3LSlcf21Gw+e872ZeXHz59it91UvHX0bDqteJ7hjKG9g3PwA4z68JDTh+cL0zsUGlXQbaCv8w==", "dependencies": { "tslib": "^2.3.0" }, @@ -994,11 +994,11 @@ } }, "node_modules/@aws-sdk/util-buffer-from": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.32.0.tgz", - "integrity": "sha512-Vt6JQ48jYwnvPMJxv51Eh/DAS2ox/nNETxQjnpMnlKKkXmyxeH1nSQB47rgXkfmw4luvaRdiWCpx5XnU4dMgbQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.36.0.tgz", + "integrity": "sha512-5HUsLHUQWOt87HeM6BO42BW1tCsD2UyJPdub7ME/r6NjpUNHsDHQP1j4MrqKFh7RbPUkdIF5s4/0VK5yoHQC4A==", "dependencies": { - "@aws-sdk/is-array-buffer": "3.32.0", + "@aws-sdk/is-array-buffer": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -1006,11 +1006,11 @@ } }, "node_modules/@aws-sdk/util-credentials": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.32.0.tgz", - "integrity": "sha512-iHk7opjLLw8gjJdu2ut4GC+KptsTFVABRg5NNVHE0VDjd2h7kaRFKiAsEgBqD8lqEU+06n+8mOjxKN1reRfnAw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.36.0.tgz", + "integrity": "sha512-5+XZL8ARDZGGhVDoBZNzS2Y6EJLGtsMkJbihZSMrHybljrLcYV0aM+Szqeotic9Zces5G4u5ZrN53IkXlLiY5Q==", "dependencies": { - "@aws-sdk/shared-ini-file-loader": "3.32.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -1018,9 +1018,9 @@ } }, "node_modules/@aws-sdk/util-hex-encoding": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.32.0.tgz", - "integrity": "sha512-N8h5Ci74S+cahVJ0P4BWo4N1kSqsIYYzYylc5lNrrLH6oc34tg48yjJK4mKF3B0jkPZ01sb7yAufS89cPmOtgg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.36.0.tgz", + "integrity": "sha512-idqvxxGpitTt2UryXk+oy5dFHNVER1GOzexmNZG2JDtqJRfcJyx+gy+Q/HpQFxty1q3/5jxoYQW3KIpsqx7djw==", "dependencies": { "tslib": "^2.3.0" }, @@ -1029,9 +1029,9 @@ } }, "node_modules/@aws-sdk/util-locate-window": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.32.0.tgz", - "integrity": "sha512-P5sOlu7AhzxhyUtKj4aYK35MrXFrt64XivwgAUo7h+ZUx6iWUEflpurMqm2dExUYNVnpGaeTKkNX8qdvbnDGZw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.36.0.tgz", + "integrity": "sha512-w5k3siBOGy7bAfZG/p0WIHpedHNb4OQ0wUSDNvd6Kzn4dkqHPTWoA1NrCEuFk9Gwkrr1yNKxgVlo0SCtgznxPw==", "dependencies": { "tslib": "^2.3.0" }, @@ -1040,9 +1040,9 @@ } }, "node_modules/@aws-sdk/util-uri-escape": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.32.0.tgz", - "integrity": "sha512-iFNCobc5OCVtTcNTFTUGB1ib5p+EOLV2s6KYej66dRUxBdioi4a2X63Exx/jOP7jS6TRTc5pTF6B+Z0uKjMe9w==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.36.0.tgz", + "integrity": "sha512-2JW6lj5OUhoWxMCFpCS/ADXrzuEkjx/djjJuEJ3aFcHUH0uBUJGYtM7Kz5Vot5PcE/KBVe+fsi3wczoFpK+iag==", "dependencies": { "tslib": "^2.3.0" }, @@ -1051,22 +1051,22 @@ } }, "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.32.0.tgz", - "integrity": "sha512-CaDg+lQaZLUwYtMq20FVgK8xz51zNGtolGblpM4ng6pZceH7EKSOgC5/E1VUb7O53vhpVlyVVFM1GD50QFOzcw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.36.0.tgz", + "integrity": "sha512-pCHWQF85Aexrdtgd/hVGp5nHkqVt4+Ypse0J6Q2hs4pmu70HydnDDPRCimTquTsV3ni1M7mJGBMiTn7/qcjqyQ==", "dependencies": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "bowser": "^2.11.0", "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.33.0.tgz", - "integrity": "sha512-2xfZHx3hzlqLdvAO/MFfs8ylAqtnFWwAeFVvBv6+CBWjDHvPJvdq2PWrPnr/j5gCmy6BrBPpbzt8mT3VJpAblA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.36.0.tgz", + "integrity": "sha512-4OXZf2IYNBDkNPvptAQVztjF2Ov9s8vx1kAoHQx9LuKXV8FrhygU9DcMFlFkAXOeUkGDtWvok0n6horQ5/KNJA==", "dependencies": { - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -1074,19 +1074,19 @@ } }, "node_modules/@aws-sdk/util-utf8-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.32.0.tgz", - "integrity": "sha512-KjyGj1TFmR5siw5960hKaicdtyQJJDXgiXm0CM7PMXKLgrT8C2/PmVrpF2qYDGpGgfXVRgZNHNMv3XNMAw9vlw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.36.0.tgz", + "integrity": "sha512-xVUtGIemnh2gD+1s6DZzdGNlgVxHXKlR/sT4G1afysifKrbyXMbh2Z3Ez+BgunWXQRbVXFmNQXHKHYuebMDe5w==", "dependencies": { "tslib": "^2.3.0" } }, "node_modules/@aws-sdk/util-utf8-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.32.0.tgz", - "integrity": "sha512-a+CkvoVe4mCXWau+vyEn++Wjj9LhE3vrbqwt7R0knm/ep0SEnMnwEG0KFVogBK6Zfwf2tqAzT/0JFFZvd3DXTg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.36.0.tgz", + "integrity": "sha512-Yu0I2QDAzLShC9WVHyzRgPDgbwkDHK2lthtIMpRJ3s5kedUzXxbNqFKekrUihfODJMJGnrgDQp/rUq7hWjGciA==", "dependencies": { - "@aws-sdk/util-buffer-from": "3.32.0", + "@aws-sdk/util-buffer-from": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -1094,12 +1094,12 @@ } }, "node_modules/@aws-sdk/util-waiter": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.32.0.tgz", - "integrity": "sha512-kd8RI2A8JO/55FL2AIzDHEd7b5KThU7+l7798fTUt2/2iWjIGDm8srGFCvlQFoo1zcgqtJCHz21x1gRNF2XvzA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.36.0.tgz", + "integrity": "sha512-lHBBg6n29yphB3J+UQkZb93FjOFxVSEs1jqtk77lCYp3Ugz0LwiSDHgQePMomwSP3HMR6Iqb3pAlkTivTW45sg==", "dependencies": { - "@aws-sdk/abort-controller": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/abort-controller": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" }, "engines": { @@ -1107,9 +1107,9 @@ } }, "node_modules/@aws-sdk/xml-builder": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.32.0.tgz", - "integrity": "sha512-lZUjxRbtG0MwrSzYvffl4n6/z2nYv0ZGz1tprGvLSNuySGUWYFraLTeX4EO/4P360S5Jj+4NW8DPne5sKL0r6g==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.36.0.tgz", + "integrity": "sha512-3YYLKjR/ow7WQB1gJZRO7gWmNPi+fzPE8sPIYVwLCmqP03Z6UnaFIPv373ZW/HQUunRTo/AeSdnyrFAeK3XO7g==", "dependencies": { "tslib": "^2.3.0" }, @@ -1118,9 +1118,9 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", "dependencies": { "@babel/highlight": "^7.14.5" }, @@ -1137,19 +1137,19 @@ } }, "node_modules/@babel/core": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", + "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", "dependencies": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", + "@babel/code-frame": "^7.15.8", + "@babel/generator": "^7.15.8", "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.8", "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", + "@babel/parser": "^7.15.8", "@babel/template": "^7.15.4", "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", + "@babel/types": "^7.15.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -1188,11 +1188,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", "dependencies": { - "@babel/types": "^7.15.4", + "@babel/types": "^7.15.6", "jsesc": "^2.5.1", "source-map": "^0.5.0" }, @@ -1384,9 +1384,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", "dependencies": { "@babel/helper-module-imports": "^7.15.4", "@babel/helper-replace-supers": "^7.15.4", @@ -1596,9 +1596,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1624,9 +1624,9 @@ } }, "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz", - "integrity": "sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", + "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5", @@ -2564,13 +2564,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", + "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" }, "engines": { "node": ">=6.9.0" @@ -2656,9 +2656,9 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.6.tgz", - "integrity": "sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", + "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", "dev": true, "dependencies": { "@babel/compat-data": "^7.15.0", @@ -2666,7 +2666,7 @@ "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", - "@babel/plugin-proposal-async-generator-functions": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.8", "@babel/plugin-proposal-class-properties": "^7.14.5", "@babel/plugin-proposal-class-static-block": "^7.15.4", "@babel/plugin-proposal-dynamic-import": "^7.14.5", @@ -2721,7 +2721,7 @@ "@babel/plugin-transform-regenerator": "^7.14.5", "@babel/plugin-transform-reserved-words": "^7.14.5", "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-spread": "^7.15.8", "@babel/plugin-transform-sticky-regex": "^7.14.5", "@babel/plugin-transform-template-literals": "^7.14.5", "@babel/plugin-transform-typeof-symbol": "^7.14.5", @@ -2730,7 +2730,7 @@ "@babel/preset-modules": "^0.1.4", "@babel/types": "^7.15.6", "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", "babel-plugin-polyfill-regenerator": "^0.2.2", "core-js-compat": "^3.16.0", "semver": "^6.3.0" @@ -2866,9 +2866,9 @@ } }, "node_modules/@eslint/eslintrc": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", - "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", "dev": true, "dependencies": { "ajv": "^6.12.4", @@ -2878,7 +2878,7 @@ "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" }, @@ -2904,14 +2904,14 @@ } }, "node_modules/@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", - "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", + "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" }, "node_modules/@ipld/car": { - "version": "3.1.16", - "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.1.16.tgz", - "integrity": "sha512-LvIXl7BYmy8em1PFB1l2Iu3/bFHYHy3h3x7HcDi9veoGSYi70dAIthJsXgkoYoGfRSLONR1FDjaoFjbbXk87Qw==", + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.1.18.tgz", + "integrity": "sha512-THOv4aYVojfcFNnhMvS1acRTMGIshnBeoLqms1a+jjKx6Z+3CM/y8BhJeLq4jNBKijxHApus7+ikHkC5UbfEHA==", "dependencies": { "@ipld/dag-cbor": "^6.0.0", "@types/varint": "^6.0.0", @@ -2920,18 +2920,18 @@ } }, "node_modules/@ipld/dag-cbor": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.10.tgz", - "integrity": "sha512-dGinQkyDKQ5vkgX8JxbXBX2fl2GB+cn6u6a6cm/pTub1WeB/PMoDJ9pU7VSBvHUtGO+ZoueeQ06TgEnO+t9esg==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.11.tgz", + "integrity": "sha512-W9hpFAFS7+n0orqlq7w06ADeORealpTJ92jQZBZDywYMjOlcVfVKKKkVgCq/pUbwlSRqip+9kgzEvdfd5N3zcQ==", "dependencies": { "cborg": "^1.2.1", "multiformats": "^9.0.0" } }, "node_modules/@ipld/dag-json": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.0.tgz", - "integrity": "sha512-LOzxRV+EaU5+KBeQuNrsITqYyOZQxYmlo7dIjuRYPFHt52nqhPdKpzf2WdQOgNK1LE3mo2F0Xa5nWMYcZcfypg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.1.tgz", + "integrity": "sha512-+vl+mCeHWOih269/+E2oQ3vWnDSt9K5PKvnwrmwzgFJw3u/UHwbi4RwdYpvLupvDIkKNnGGURQYdxh35DlHsSw==", "dev": true, "dependencies": { "cborg": "^1.4.0", @@ -2939,9 +2939,9 @@ } }, "node_modules/@ipld/dag-pb": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.9.tgz", - "integrity": "sha512-6p8vgm3jMB7IKO4CAdZV/rbhBo/YvNLmiEot1vjtJalmASM+9DLbFIzHV0CAHkwlSsv3/UTsV7UzfDb6dGTHLQ==", + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.11.tgz", + "integrity": "sha512-M4PMBlKErEffK/APnmQ/78M+YouQ7L5w2Llpl9U6MgDXtfPisD5zQHxxDE8yYW1Ume45+suB1tBPF0uSdNQQEg==", "dependencies": { "multiformats": "^9.0.0" } @@ -3069,9 +3069,9 @@ } }, "node_modules/@magic-sdk/admin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@magic-sdk/admin/-/admin-1.3.0.tgz", - "integrity": "sha512-PcDP+8i82p7e+oSohqE5dPoRyymEsoOcXaAKxK7S13TypVf1lxf4MCpBBQI7Q+nFwNa4zTRcaE6QaDdvruBDKA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@magic-sdk/admin/-/admin-1.3.1.tgz", + "integrity": "sha512-g1B8MHSBpJoDfFL/y7gd1YtgrwYbS7m7iRijOgiXrkMnIoid0bHgUsRS9LQKy6mImH/JleJSZcaofm2mIvs6tQ==", "dependencies": { "eth-sig-util": "2.1.2", "ethereumjs-util": "^6.2.0", @@ -3107,9 +3107,9 @@ "integrity": "sha512-CvVUPTF9tSLNFA4JhcAFjheiqWyVp9r9ooy/AheK+0rWRZCxE5QCwc81d2FduDTqzEJZeUV9+9F9R0AplhnX7w==" }, "node_modules/@multiformats/murmur3": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-1.0.3.tgz", - "integrity": "sha512-pd56A/Bxu4FnZ55kQ1izk3XQgBZXdn4tQq/kvNxR0vtEJNbW7NJTnYDhnRJSH94OxycsOMDoKh6flS2VkFVTYg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-1.0.4.tgz", + "integrity": "sha512-skwYQeIVDxUhqJngCjzC9ZV3cSYkrHsyq2T4DDiMR2QAPkyv6JsKMCXj7FEhrgDqx5fB4Bkxv6+VLVNlDBbzJQ==", "dependencies": { "multiformats": "^9.4.1", "murmurhash3js-revisited": "^3.0.0" @@ -3464,9 +3464,9 @@ "dev": true }, "node_modules/@sentry/cli": { - "version": "1.68.0", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.68.0.tgz", - "integrity": "sha512-zc7+cxKDqpHLREGJKRH6KwE8fZW8bnczg3OLibJ0czleXoWPdAuOK1Xm1BTMcOnaXfg3VKAh0rI7S1PTdj+SrQ==", + "version": "1.69.1", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.69.1.tgz", + "integrity": "sha512-HxO7vjqSvWfc9L5A/ib3UB1mXKFNiORY9BXwtYTo38jv4ROrKDFz36IzHsD6nPFuv8+6iDVyNlEujK/n9NvRyw==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3575,9 +3575,9 @@ "dev": true }, "node_modules/@sentry/webpack-plugin": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.17.1.tgz", - "integrity": "sha512-L47a0hxano4a+9jbvQSBzHCT1Ph8fYAvGGUvFg8qc69yXS9si5lXRNIH/pavN6mqJjhQjAcEsEp+vxgvT4xZDQ==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.18.1.tgz", + "integrity": "sha512-maEnHC0nxRnVgAz0qvKvhTGy+SxneR8MFjpgNMvh9CyAB6GEM9VQI1hzxTcAd7Qk90qGW8W4eUmB+ZX8nMrM1w==", "dev": true, "dependencies": { "@sentry/cli": "^1.68.0" @@ -3654,6 +3654,14 @@ "node": ">=8" } }, + "node_modules/@supabase/postgrest-js": { + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.34.0.tgz", + "integrity": "sha512-5n0fljeojwNvRrvwCoZPcSYDADr3fEJtvpLW7T3f+g+Mxgg8C8gHmuXfhYg0vzC7Jm/ldEWoZY98bN/ZAQs4cA==", + "dependencies": { + "cross-fetch": "^3.0.6" + } + }, "node_modules/@svgr/babel-plugin-add-jsx-attribute": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", @@ -3904,9 +3912,9 @@ "dev": true }, "node_modules/@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "version": "7.28.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.1.tgz", + "integrity": "sha512-XhZKznR3i/W5dXqUhgU9fFdJekufbeBd5DALmkuXoeFcjbQcPk+2cL+WLHf6Q81HWAnM2vrslIHpGVyCAviRwg==", "devOptional": true, "dependencies": { "@types/estree": "*", @@ -3985,9 +3993,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "16.9.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz", - "integrity": "sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ==" + "version": "16.10.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.9.tgz", + "integrity": "sha512-H9ReOt+yqIJPCutkTYjFjlyK6WEMQYT9hLZMlWtOjFQY2ItppsWZ6RJf8Aw+jz5qTYceuHvFgPIaKOHtLAEWBw==" }, "node_modules/@types/normalize-package-data": { "version": "2.4.1", @@ -4025,9 +4033,9 @@ "dev": true }, "node_modules/@types/react": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.24.tgz", - "integrity": "sha512-eIpyco99gTH+FTI3J7Oi/OH8MZoFMJuztNRimDOJwH4iGIsKV2qkGnk4M9VzlaVWeEEWLWSQRy0FEA0Kz218cg==", + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.29.tgz", + "integrity": "sha512-HSenIfBEBZ70BLrrVhtEtHpqaP79waauPtA8XKlczTxL3hXrW/ElGNLTpD1TmqkykgGlOAK55+D3SmUHEirpFw==", "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -4354,9 +4362,9 @@ } }, "node_modules/@webpack-cli/configtest": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.4.tgz", - "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", "dev": true, "peerDependencies": { "webpack": "4.x.x || 5.x.x", @@ -4364,9 +4372,9 @@ } }, "node_modules/@webpack-cli/info": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.3.0.tgz", - "integrity": "sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", "dev": true, "dependencies": { "envinfo": "^7.7.3" @@ -4376,9 +4384,9 @@ } }, "node_modules/@webpack-cli/serve": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.2.tgz", - "integrity": "sha512-vgJ5OLWadI8aKjDlOH3rb+dYyPd2GTZuQC/Tihjct6F9GpXGZINo3Y/IVuZVTM1eDQB+/AOsjPUWH/WySDaXvw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", "dev": true, "peerDependencies": { "webpack-cli": "4.x.x" @@ -4565,12 +4573,12 @@ "peer": true }, "node_modules/ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, "dependencies": { - "string-width": "^3.0.0" + "string-width": "^4.1.0" } }, "node_modules/ansi-colors": { @@ -4664,6 +4672,12 @@ "readable-stream": "^2.0.6" } }, + "node_modules/are-we-there-yet/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/are-we-there-yet/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -4713,16 +4727,16 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "node_modules/array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "is-string": "^1.0.7" }, "engines": { "node": ">= 0.4" @@ -4750,14 +4764,14 @@ } }, "node_modules/array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", "dev": true, "dependencies": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.19.0" }, "engines": { "node": ">= 0.4" @@ -4767,15 +4781,14 @@ } }, "node_modules/array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", + "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", "dev": true, "dependencies": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" + "es-abstract": "^1.19.0" }, "engines": { "node": ">= 0.4" @@ -4841,12 +4854,12 @@ } }, "node_modules/astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/async-limiter": { @@ -4886,15 +4899,15 @@ } }, "node_modules/autoprefixer": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.5.tgz", - "integrity": "sha512-2H5kQSsyoOMdIehTzIt/sC9ZDIgWqlkG/dbevm9B9xQZ1TDPBHpNUDW5ENqqQQzuaBWEo75JkV0LJe+o5Lnr5g==", + "version": "10.3.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.7.tgz", + "integrity": "sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg==", "dependencies": { - "browserslist": "^4.17.1", - "caniuse-lite": "^1.0.30001259", + "browserslist": "^4.17.3", + "caniuse-lite": "^1.0.30001264", "fraction.js": "^4.1.1", - "nanocolors": "^0.1.5", "normalize-range": "^0.1.2", + "picocolors": "^0.2.1", "postcss-value-parser": "^4.1.0" }, "bin": { @@ -4923,9 +4936,9 @@ } }, "node_modules/aws-crt": { - "version": "1.9.8", - "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.9.8.tgz", - "integrity": "sha512-eqWx2Fbi1APOporfjhjAyFTvhq+qttgrYuC0ZFx97eTlplVaoQhU7HWpnnVbl4hW4JMMZHyDhP00iEdq9NSs3g==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.10.1.tgz", + "integrity": "sha512-YD2yQbiAm7K/xHmjkgvML0o1NlCT5haW9oTcR6bZro4vriNm1BUVRmBIAU4pqQgYjkLZpM5JgSLDNTiVwu5fGQ==", "hasInstallScript": true, "peer": true, "dependencies": { @@ -5099,9 +5112,9 @@ "peer": true }, "node_modules/big-integer": { - "version": "1.6.49", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.49.tgz", - "integrity": "sha512-KJ7VhqH+f/BOt9a3yMwJNmcZjG53ijWMTjSAGMveQWyLwqIiwkjNP5PFgDob3Snnx86SjDj6I89fIbv0dkQeNw==", + "version": "1.6.50", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.50.tgz", + "integrity": "sha512-+O2uoQWFRo8ysZNo/rjtri2jIwjr3XfeAgRjAUADRqGG+ZITvyn8J1kvXLTaKVr3hhGXk+f23tKfdzmklVM9vQ==", "engines": { "node": ">=0.6" } @@ -5145,17 +5158,40 @@ "readable-stream": "^3.4.0" } }, + "node_modules/bl/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/blakejs": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.1.1.tgz", "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" }, "node_modules/blob-to-it": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.3.tgz", - "integrity": "sha512-3bCrqSWG2qWwoIeF6DUJeuW/1isjx7DUhqZn9GpWlK8SVeqcjP+zw4yujdV0bVaqtggk6CUgtu87jfwHi5g7Zg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", "dependencies": { - "browser-readablestream-to-it": "^1.0.2" + "browser-readablestream-to-it": "^1.0.3" } }, "node_modules/bluebird": { @@ -5235,35 +5271,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/boxen/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/boxen/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/boxen/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/boxen/node_modules/type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -5311,20 +5318,6 @@ "unload": "2.2.0" } }, - "node_modules/broadcast-channel/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/brorand": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", @@ -5344,9 +5337,9 @@ } }, "node_modules/browser-readablestream-to-it": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.2.tgz", - "integrity": "sha512-lv4M2Z6RKJpyJijJzBQL5MNssS7i8yedl+QkhnLCyPtgNGNSXv1KthzUnye9NlRAtBAI80X6S9i+vK09Rzjcvg==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" }, "node_modules/browser-stdout": { "version": "1.3.1", @@ -5432,15 +5425,15 @@ } }, "node_modules/browserslist": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", - "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", + "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", "dependencies": { - "caniuse-lite": "^1.0.30001259", - "electron-to-chromium": "^1.3.846", + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", "escalade": "^3.1.1", - "nanocolors": "^0.1.5", - "node-releases": "^1.1.76" + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" }, "bin": { "browserslist": "cli.js" @@ -5453,6 +5446,11 @@ "url": "https://opencollective.com/browserslist" } }, + "node_modules/browserslist/node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, "node_modules/bs58": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", @@ -5478,9 +5476,9 @@ "dev": true }, "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "funding": [ { "type": "github", @@ -5497,7 +5495,7 @@ ], "dependencies": { "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "ieee754": "^1.1.13" } }, "node_modules/buffer-crc32": { @@ -5529,6 +5527,15 @@ "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", "peer": true }, + "node_modules/buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -5611,19 +5618,6 @@ "node": ">=4" } }, - "node_modules/bundlesize/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/bundlesize/node_modules/resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", @@ -5679,16 +5673,16 @@ } }, "node_modules/c8": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/c8/-/c8-7.9.0.tgz", - "integrity": "sha512-aQ7dC8gASnKdBwHUuYuzsdKCEDrKnWr7ZuZUnf4CNAL81oyKloKrs7H7zYvcrmCtIrMToudBSUhq2q+LLBMvgg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/c8/-/c8-7.10.0.tgz", + "integrity": "sha512-OAwfC5+emvA6R7pkYFVBTOtI5ruf9DahffGmIqUc9l6wEh0h7iAFP6dt/V9Ioqlr2zW5avX9U9/w1I4alTRHkA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@istanbuljs/schema": "^0.1.2", "find-up": "^5.0.0", "foreground-child": "^2.0.0", - "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-coverage": "^3.0.1", "istanbul-lib-report": "^3.0.0", "istanbul-reports": "^3.0.2", "rimraf": "^3.0.0", @@ -5715,12 +5709,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/c8/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/c8/node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -5737,15 +5725,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/c8/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/c8/node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -5800,35 +5779,6 @@ "node": ">=8" } }, - "node_modules/c8/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/c8/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/c8/node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -5945,9 +5895,9 @@ } }, "node_modules/camelcase-keys": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.0.tgz", - "integrity": "sha512-qlQlECgDl5Ev+gkvONaiD4X4TF2gyZKuLBvzx0zLo2UwAxmz3hJP/841aaMHTeH1T7v5HRwoRq91daulXoYWvg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.1.tgz", + "integrity": "sha512-P331lEls98pW8JLyodNWfzuz91BEDVA4VpW2/SwXnyv2K495tq1N777xzDbFgnEigfA7UIY0xa6PwR/H9jijjA==", "dev": true, "dependencies": { "camelcase": "^6.2.0", @@ -5975,12 +5925,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001260", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz", - "integrity": "sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg==", - "dependencies": { - "nanocolors": "^0.1.0" - }, + "version": "1.0.30001267", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001267.tgz", + "integrity": "sha512-r1mjTzAuJ9W8cPBGbbus8E0SKcUP7gn03R14Wk8FlAlqhH9hroy9nLqmpuXlfKEw/oILW+FGz47ipXV2O7x8lg==", "funding": { "type": "opencollective", "url": "https://opencollective.com/browserslist" @@ -6004,9 +5951,9 @@ "peer": true }, "node_modules/cborg": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.5.0.tgz", - "integrity": "sha512-3t1+s45x5LiACi39HDiSubPZiKXU2rCreu0oi5A1nccQNDHnprCh9ZQKN1Za3eookOmL03e9oKEZ+LJs0iTE8A==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.5.1.tgz", + "integrity": "sha512-GKCylZR7os3Q9X+U3DiARfeFKQUdcZMAP8EKFSE91YbhJsxV71Z6PMOT2osVWprb+iWf6viyqD7peEkK0QCAAw==", "bin": { "cborg": "cli.js" } @@ -6156,9 +6103,9 @@ } }, "node_modules/cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "engines": { "node": ">=6" }, @@ -6356,6 +6303,12 @@ "lodash.padstart": "^4.1.0" } }, + "node_modules/cmake-js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, "node_modules/cmake-js/node_modules/minipass": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", @@ -6586,9 +6539,10 @@ } }, "node_modules/colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true }, "node_modules/colors": { "version": "1.0.3", @@ -6696,11 +6650,78 @@ "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/conf/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/conf/node_modules/json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, + "node_modules/conf/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/conf/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/conf/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/conf/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/conf/node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/console-browserify": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", @@ -6717,15 +6738,6 @@ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, - "node_modules/contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -6785,9 +6797,9 @@ } }, "node_modules/core-js": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.0.tgz", - "integrity": "sha512-WJeQqq6jOYgVgg4NrXKL0KLQhi0CT4ZOCvFL+3CQ5o7I6J8HkT5wd53EadMfqTDp1so/MT1J+w2ujhWcCJtN7w==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.3.tgz", + "integrity": "sha512-tReEhtMReZaPFVw7dajMx0vlsz3oOb8ajgPoHVYGxr8ErnZ6PcYEvvmjGmXlfpnxpkYSdOQttjB+MvVbCGfvLw==", "dev": true, "hasInstallScript": true, "funding": { @@ -6796,12 +6808,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.0.tgz", - "integrity": "sha512-tRVjOJu4PxdXjRMEgbP7lqWy1TWJu9a01oBkn8d+dNrhgmBwdTkzhHZpVJnEmhISLdoJI1lX08rcBcHi3TZIWg==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.3.tgz", + "integrity": "sha512-4zP6/y0a2RTHN5bRGT7PTq9lVt3WzvffTNjqnTKsXhkAYNDTkdCLOIfAdOLcQ/7TDdyRj3c+NeHe1NmF1eDScw==", "dev": true, "dependencies": { - "browserslist": "^4.17.0", + "browserslist": "^4.17.3", "semver": "7.0.0" }, "funding": { @@ -7215,9 +7227,9 @@ } }, "node_modules/decamelize": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.0.tgz", - "integrity": "sha512-U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", "dev": true, "engines": { "node": ">=10" @@ -7292,12 +7304,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/deep-equal/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, "node_modules/deep-extend": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", @@ -7408,19 +7414,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/del/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/delayed-stream": { @@ -7718,6 +7721,12 @@ "readable-stream": "^2.0.2" } }, + "node_modules/duplexer2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, "node_modules/duplexer2/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -7787,9 +7796,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.3.849", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz", - "integrity": "sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w==" + "version": "1.3.867", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz", + "integrity": "sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw==" }, "node_modules/elliptic": { "version": "6.5.4", @@ -7806,9 +7815,9 @@ } }, "node_modules/emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "node_modules/emojis-list": { @@ -7930,9 +7939,9 @@ } }, "node_modules/es-abstract": { - "version": "1.18.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz", - "integrity": "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "dependencies": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -7945,7 +7954,9 @@ "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", "is-string": "^1.0.7", + "is-weakref": "^1.0.1", "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", @@ -7979,16 +7990,10 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-get-iterator/node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, "node_modules/es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "devOptional": true }, "node_modules/es-to-primitive": { @@ -8056,13 +8061,13 @@ } }, "node_modules/eslint": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz", - "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.1", + "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -8072,10 +8077,10 @@ "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.0", + "espree": "^7.3.1", "esquery": "^1.2.0", "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", + "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", "globals": "^12.1.0", @@ -8086,7 +8091,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -8095,7 +8100,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^5.2.3", + "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" }, @@ -8122,9 +8127,9 @@ } }, "node_modules/eslint-config-standard": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", - "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", + "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", "dev": true, "funding": [ { @@ -8144,7 +8149,7 @@ "eslint": "^7.12.1", "eslint-plugin-import": "^2.22.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1" + "eslint-plugin-promise": "^4.2.1 || ^5.0.0" } }, "node_modules/eslint-config-standard-jsx": { @@ -8191,12 +8196,13 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz", - "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz", + "integrity": "sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==", "dev": true, "dependencies": { "debug": "^3.2.7", + "find-up": "^2.1.0", "pkg-dir": "^2.0.0" }, "engines": { @@ -8232,24 +8238,26 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz", + "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==", "dev": true, "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.6.2", + "find-up": "^2.0.0", "has": "^1.0.3", + "is-core-module": "^2.6.0", "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "object.values": "^1.1.4", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.11.0" }, "engines": { "node": ">=4" @@ -8268,13 +8276,12 @@ } }, "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "dependencies": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "esutils": "^2.0.2" }, "engines": { "node": ">=0.10.0" @@ -8325,31 +8332,36 @@ } }, "node_modules/eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz", + "integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==", "dev": true, "engines": { - "node": ">=6" + "node": "^10.12.0 || >=12.0.0" + }, + "peerDependencies": { + "eslint": "^7.0.0" } }, "node_modules/eslint-plugin-react": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz", - "integrity": "sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.3.tgz", + "integrity": "sha512-ZMbFvZ1WAYSZKY662MBVEWR45VaBT6KSJCiupjrNlcdakB90juaZeDCbJq19e73JZQubqFtgETohwgAt8u5P6w==", "dev": true, "dependencies": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", "doctrine": "^2.1.0", - "has": "^1.0.3", + "estraverse": "^5.2.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", + "minimatch": "^3.0.4", + "object.entries": "^1.1.4", + "object.fromentries": "^2.0.4", + "object.hasown": "^1.0.0", + "object.values": "^1.1.4", "prop-types": "^15.7.2", - "resolve": "^1.18.1", - "string.prototype.matchall": "^4.0.2" + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.5" }, "engines": { "node": ">=4" @@ -8382,6 +8394,19 @@ "node": ">=0.10.0" } }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/eslint-scope": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", @@ -8395,6 +8420,15 @@ "node": ">=8.0.0" } }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "devOptional": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -8475,15 +8509,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -8496,7 +8521,7 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", @@ -8505,15 +8530,6 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "devOptional": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", @@ -8550,29 +8566,6 @@ "tweetnacl-util": "^0.15.0" } }, - "node_modules/eth-sig-util/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/eth-sig-util/node_modules/ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -8989,15 +8982,15 @@ } }, "node_modules/file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "dependencies": { - "flat-cache": "^2.0.1" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=4" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/file-selector": { @@ -9183,23 +9176,22 @@ } }, "node_modules/flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "dependencies": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=4" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "dev": true }, "node_modules/fn-annotate": { @@ -9396,6 +9388,18 @@ "node": ">=0.6" } }, + "node_modules/fstream/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -9583,21 +9587,21 @@ } }, "node_modules/github-build": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.2.tgz", - "integrity": "sha512-xHVy8w+J09eD+uBqJ4CcRPr5HTa1BYaF6vPJ67yJekCWurPzimB/ExH1SGzW5iAFC2Uvw9TD1FpSIjh56hcB9Q==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.3.tgz", + "integrity": "sha512-57zUA9ZbaKQHxoUATq3dkr+gUeaOWGGC/3Vw/AJNIUkiUmd7DnYM9TMTmUknbkuvx6+SeSqWpLBunZZzCPLUMg==", "dev": true, "dependencies": { - "axios": "0.21.1" + "axios": "0.21.3" } }, "node_modules/github-build/node_modules/axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", + "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", "dev": true, "dependencies": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } }, "node_modules/github-from-package": { @@ -9661,6 +9665,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, "node_modules/globby": { "version": "11.0.4", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", @@ -9690,6 +9700,12 @@ "node": ">= 4" } }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, "node_modules/good-listener": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", @@ -9705,18 +9721,18 @@ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "node_modules/graphql": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.6.0.tgz", - "integrity": "sha512-WJR872Zlc9hckiEPhXgyUftXH48jp2EjO5tgBBOyNMRJZ9fviL2mJBD6CAysk6N5S0r9BTs09Qk39nnJBkvOXQ==", + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.6.1.tgz", + "integrity": "sha512-3i5lu0z6dRvJ48QP9kFxBkJ7h4Kso7PS8eahyTFz5Jm6CvQfLtNIE8LX9N6JLnXTuwR+sIYnXzaWp6anOg0QQw==", "peer": true, "engines": { "node": ">= 10.x" } }, "node_modules/graphql-request": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.5.0.tgz", - "integrity": "sha512-Io89QpfU4rqiMbqM/KwMBzKaDLOppi8FU8sEccCE4JqCgz95W9Q8bvxQ4NfPALLSMvg9nafgg8AkYRmgKSlukA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.6.0.tgz", + "integrity": "sha512-p5qIuD+gyjuOJ8z9sEcfcLVK7HUB+/88hf/xGEzX330U3L2OR1JtaupLPmd1D2V7YtqWiEnSA3tX9vqZ4eGMhA==", "dependencies": { "cross-fetch": "^3.0.6", "extract-files": "^9.0.0", @@ -9762,15 +9778,6 @@ "node": ">=4" } }, - "node_modules/gzip-size/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/hamt-sharding": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/hamt-sharding/-/hamt-sharding-2.0.1.tgz", @@ -10220,9 +10227,9 @@ } }, "node_modules/import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", "dev": true, "dependencies": { "pkg-dir": "^4.2.0", @@ -10862,6 +10869,29 @@ "stream-to-it": "^0.2.2" } }, + "node_modules/ipfs-utils/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/ipfs-utils/node_modules/node-fetch": { "name": "@achingbrain/node-fetch", "version": "2.6.7", @@ -10998,9 +11028,9 @@ } }, "node_modules/is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", + "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", "dependencies": { "has": "^1.0.3" }, @@ -11062,12 +11092,12 @@ } }, "node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-generator-function": { @@ -11085,9 +11115,9 @@ } }, "node_modules/is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": { "is-extglob": "^2.1.1" }, @@ -11280,6 +11310,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -11363,6 +11401,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "dependencies": { + "call-bind": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-weakset": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", @@ -11382,9 +11431,10 @@ } }, "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", @@ -11415,9 +11465,9 @@ "peer": true }, "node_modules/istanbul-lib-coverage": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz", - "integrity": "sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.2.tgz", + "integrity": "sha512-o5+eTUYzCJ11/+JhW5/FUCdfsdoYVdQ/8I/OveE2XsjehYn5DdeSnNQAbjYaO8gQ6hvGTN6GM6ddQqpTVG5j8g==", "dev": true, "engines": { "node": ">=8" @@ -11489,21 +11539,6 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-processinfo/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/istanbul-lib-processinfo/node_modules/uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -11529,9 +11564,9 @@ } }, "node_modules/istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "dependencies": { "debug": "^4.1.1", @@ -11539,7 +11574,7 @@ "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, "node_modules/istanbul-lib-source-maps/node_modules/source-map": { @@ -11552,9 +11587,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz", + "integrity": "sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -11565,29 +11600,29 @@ } }, "node_modules/it-all": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.5.tgz", - "integrity": "sha512-ygD4kA4vp8fi+Y+NBgEKt6W06xSbv6Ub/0V8d1r3uCyJ9Izwa1UspkIOlqY9fOee0Z1w3WRo1+VWyAU4DgtufA==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" }, "node_modules/it-batch": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-1.0.8.tgz", - "integrity": "sha512-RfEa1rxOPnicXvaXJ1qNThxPrq8/Lc+KwSVWHFEEOp2CrjpjhR5WfmBJozhkbzZ/r/Gl0HjzVVrt0NpG8qczDQ==" + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-1.0.9.tgz", + "integrity": "sha512-7Q7HXewMhNFltTsAMdSz6luNhyhkhEtGGbYek/8Xb/GiqYMtwUmopE1ocPSiJKKp3rM4Dt045sNFoUu+KZGNyA==" }, "node_modules/it-drain": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.4.tgz", - "integrity": "sha512-coB7mcyZ4lWBQKoQGJuqM+P94pvpn2T3KY27vcVWPqeB1WmoysRC76VZnzAqrBWzpWcoEJMjZ+fsMBslxNaWfQ==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.5.tgz", + "integrity": "sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg==" }, "node_modules/it-filter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.2.tgz", - "integrity": "sha512-rxFUyPCrhk7WrNxD8msU10iEPhQmROoqwuyWmQUYY1PtopwUGBYyra9EYG2nRZADYeuT83cohKWmKCWPzpeyiw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.3.tgz", + "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==" }, "node_modules/it-first": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.6.tgz", - "integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" }, "node_modules/it-glob": { "version": "0.0.13", @@ -11599,27 +11634,27 @@ } }, "node_modules/it-last": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.5.tgz", - "integrity": "sha512-PV/2S4zg5g6dkVuKfgrQfN2rUN4wdTI1FzyAvU+i8RV96syut40pa2s9Dut5X7SkjwA3P0tOhLABLdnOJ0Y/4Q==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" }, "node_modules/it-map": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.5.tgz", - "integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" }, "node_modules/it-parallel-batch": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-1.0.9.tgz", - "integrity": "sha512-lfCxXsHoEtgyWj5HLrEQXlZF0p3c0hfYeVJAbxQIHIzHLq4lkYplUIe3UGxYl4n1Sjpcs6YL/87352399aVeIA==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-1.0.10.tgz", + "integrity": "sha512-3+4gW15xdf/BOx9zij0QVnB1bDGSLOTABlaVm7ebHH1S9gDUgd5aLNb0WsFXPTfKe104iC6lxdzfbMGh1B07rg==", "dependencies": { - "it-batch": "^1.0.8" + "it-batch": "^1.0.9" } }, "node_modules/it-peekable": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.2.tgz", - "integrity": "sha512-LRPLu94RLm+lxLZbChuc9iCXrKCOu1obWqxfaKhF00yIp30VGkl741b5P60U+rdBxuZD/Gt1bnmakernv7bVFg==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" }, "node_modules/it-pipe": { "version": "1.1.0", @@ -11627,9 +11662,9 @@ "integrity": "sha512-lF0/3qTVeth13TOnHVs0BTFaziwQF7m5Gg+E6JV0BXcLKutC92YjSi7bASgkPOXaLEb+YvNZrPorGMBIJvZfxg==" }, "node_modules/it-take": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.1.tgz", - "integrity": "sha512-6H6JAWYcyumKSpcIPLs6tHN4xnibphmyU79WQaYVCBtaBOzf4fn75wzvSH8fH8fcMlPBTWY1RlmOWleQxBt2Ug==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.2.tgz", + "integrity": "sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==" }, "node_modules/it-to-stream": { "version": "1.0.0", @@ -11644,10 +11679,33 @@ "readable-stream": "^3.6.0" } }, + "node_modules/it-to-stream/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/itty-router": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/itty-router/-/itty-router-2.4.2.tgz", - "integrity": "sha512-VCJPoGKYrCoFSGQ9kko5prt66SHVppde498kj9XkMuZVrLCaG6xSIMIz/qaqW/mWk34BJPYGzhvWMf6l8g/CnA==" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/itty-router/-/itty-router-2.4.4.tgz", + "integrity": "sha512-mp5i47ZotK94FHondKJTZn/0dBAFzFpZpiHWn+aCgr/sg9cIVzt1gvLCKsXMkcHgKejb9GdhqvOfh7VYJJlQoQ==" }, "node_modules/jest-worker": { "version": "27.0.0-next.5", @@ -11913,14 +11971,14 @@ "peer": true }, "node_modules/load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "dependencies": { "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", + "parse-json": "^4.0.0", + "pify": "^3.0.0", "strip-bom": "^3.0.0" }, "engines": { @@ -12027,6 +12085,12 @@ "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", "integrity": "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=" }, + "node_modules/lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -12096,6 +12160,12 @@ "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=" }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "node_modules/lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -12702,19 +12772,19 @@ } }, "node_modules/mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==", + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "dependencies": { - "mime-db": "1.49.0" + "mime-db": "1.50.0" }, "engines": { "node": ">= 0.6" @@ -12921,12 +12991,6 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/mocha/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/mocha/node_modules/escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -12975,15 +13039,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/mocha/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/mocha/node_modules/js-yaml": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", @@ -13068,20 +13123,6 @@ "node": ">=8" } }, - "node_modules/mocha/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/mocha/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -13207,6 +13248,15 @@ "node": ">=0.10.0" } }, + "node_modules/mount-point/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/move-file": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/move-file/-/move-file-2.1.0.tgz", @@ -13281,30 +13331,6 @@ "readable-stream": "^3.4.0" } }, - "node_modules/mqtt-packet/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/mri": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", @@ -13352,6 +13378,12 @@ "typedarray": "^0.0.6" } }, + "node_modules/multer/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "node_modules/multer/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -13404,9 +13436,9 @@ } }, "node_modules/multiformats": { - "version": "9.4.7", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.7.tgz", - "integrity": "sha512-fZbcdf7LnvokPAZYkv4TLXe7PAg9sQ5qLXcwrAmZOloEb2+5FtFiAY+l3/9wsu4oTJXTV3JSggFQQ2dJLS01vA==" + "version": "9.4.8", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.8.tgz", + "integrity": "sha512-EOJL02/kv+FD5hoItMhKgkYUUruJYMYFq4NQ6YkCh3jVQ5CuHo+OKdHeR50hAxEQmXQ9yvrM9BxLIk42xtfwnQ==" }, "node_modules/murmurhash3js-revisited": { "version": "3.0.0", @@ -13430,15 +13462,10 @@ "big-integer": "^1.6.16" } }, - "node_modules/nanocolors": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", - "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==" - }, "node_modules/nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==", + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -13662,6 +13689,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, + "node_modules/next/node_modules/colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, "node_modules/next/node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -13693,6 +13725,11 @@ "node": "4.x || >=6.0.0" } }, + "node_modules/next/node_modules/node-releases": { + "version": "1.1.77", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", + "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==" + }, "node_modules/next/node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -13904,6 +13941,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "node_modules/node-libs-browser/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, "node_modules/node-libs-browser/node_modules/path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", @@ -13988,9 +14030,9 @@ } }, "node_modules/node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.0.tgz", + "integrity": "sha512-aA87l0flFYMzCHpTM3DERFSYxc6lv/BltdbRTOMZuxZ0cwZCD3mejE5n9vLhSJCN++/eOqr77G1IO5uXxlQYWA==" }, "node_modules/noop-logger": { "version": "0.1.1", @@ -14126,34 +14168,6 @@ "node": ">=4" } }, - "node_modules/npm-run-all/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/npm-run-all/node_modules/path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", @@ -14163,41 +14177,6 @@ "node": ">=4" } }, - "node_modules/npm-run-all/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/npm-run-all/node_modules/semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -14363,12 +14342,6 @@ "node": ">=0.10.0" } }, - "node_modules/nyc/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "node_modules/nyc/node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -14382,15 +14355,6 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/nyc/node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -14469,35 +14433,6 @@ "node": ">=8" } }, - "node_modules/nyc/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/nyc/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/nyc/node_modules/wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -14627,29 +14562,28 @@ } }, "node_modules/object.entries": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", - "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -14659,14 +14593,14 @@ } }, "node_modules/object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.8" @@ -14675,15 +14609,28 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object.hasown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", + "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -14747,6 +14694,359 @@ "node": ">=6" } }, + "node_modules/openapi-typescript": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-4.3.0.tgz", + "integrity": "sha512-mAvW7lCS8V2s2KLp81uAH8DynJgMHFOyD4k5IWi15JbmTacvKQCKglXf8mhEkxhWUTKaNfis23cPNJy+IL/16w==", + "dev": true, + "dependencies": { + "hosted-git-info": "^3.0.8", + "js-yaml": "^4.1.0", + "kleur": "^4.1.4", + "meow": "^9.0.0", + "mime": "^2.5.2", + "node-fetch": "^2.6.5", + "prettier": "^2.4.1", + "slash": "^3.0.0", + "tiny-glob": "^0.2.9" + }, + "bin": { + "openapi-typescript": "bin/cli.js" + }, + "engines": { + "node": ">= 12.0.0", + "npm": ">= 7.0.0" + } + }, + "node_modules/openapi-typescript/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/openapi-typescript/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/openapi-typescript/node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-typescript/node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/openapi-typescript/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript/node_modules/hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/openapi-typescript/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/openapi-typescript/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript/node_modules/meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-typescript/node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-typescript/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/openapi-typescript/node_modules/normalize-package-data/node_modules/hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/openapi-typescript/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-typescript/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript/node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/openapi-typescript/node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-typescript/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript/node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript/node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript/node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openapi-typescript/node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/openapi-typescript/node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/openapi-typescript/node_modules/read-pkg/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/openapi-typescript/node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript/node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript/node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/openapi-typescript/node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -14796,29 +15096,6 @@ "readable-stream": "^3.4.0" } }, - "node_modules/ora/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/ora/node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -14938,9 +15215,9 @@ } }, "node_modules/p-timeout": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.0.0.tgz", - "integrity": "sha512-z+bU/N7L1SABsqKnQzvAnINgPX7NHdzwUV+gHyJE7VGNDZSr03rhcPODCZSWiiT9k+gf74QPmzcZzqJRvxYZow==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.0.1.tgz", + "integrity": "sha512-iIxgiUu9dGmC9y234OT0scvFEoH/RZdslZrNJP/50wIg4ufqQlFv5DddQQ62kZ9ZAxS0cfwMu3Ewf98Oe6QlGg==", "dev": true, "engines": { "node": ">=12" @@ -14988,6 +15265,12 @@ "node": ">=8" } }, + "node_modules/packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==", + "dev": true + }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -15017,9 +15300,9 @@ } }, "node_modules/parse-duration": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.0.tgz", - "integrity": "sha512-X4kUkCTHU1N/kEbwK9FpUJ0UZQa90VzeczfS704frR30gljxDG0pSziws06XlK+CGRSo/1wtG1mFIdBFQTMQNw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.1.tgz", + "integrity": "sha512-vv3rNpBYqRo8m357JeFBYFud+yX6HyxT2oBCI5gi0d/zW7g2C+meWucThqzp47Mdp+90nOjDbXfrqxdvkEIMxA==" }, "node_modules/parse-entities": { "version": "1.2.2", @@ -15035,15 +15318,16 @@ } }, "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "dependencies": { - "error-ex": "^1.2.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/parse-link-header": { @@ -15111,12 +15395,12 @@ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, "node_modules/path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "dependencies": { - "pify": "^2.0.0" + "pify": "^3.0.0" }, "engines": { "node": ">=4" @@ -15149,6 +15433,92 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "peer": true }, + "node_modules/pg": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.7.1.tgz", + "integrity": "sha512-7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==", + "dev": true, + "dependencies": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.5.0", + "pg-pool": "^3.4.1", + "pg-protocol": "^1.5.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "pg-native": ">=2.0.0" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==", + "dev": true + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.4.1.tgz", + "integrity": "sha512-TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==", + "dev": true, + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", + "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==", + "dev": true + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "dev": true, + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz", + "integrity": "sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==", + "dev": true, + "dependencies": { + "split2": "^3.1.1" + } + }, + "node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "node_modules/picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -15173,12 +15543,12 @@ } }, "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/piggybacker": { @@ -15297,19 +15667,6 @@ "node": ">=6" } }, - "node_modules/pkg-conf/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/pkg-conf/node_modules/pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -15341,70 +15698,15 @@ } }, "node_modules/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-up/node_modules/find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-up/node_modules/p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, "dependencies": { - "p-limit": "^2.0.0" + "find-up": "^2.1.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-up/node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "engines": { - "node": ">=6" + "node": ">=4" } }, "node_modules/platform": { @@ -15450,21 +15752,6 @@ "node": ">= 6" } }, - "node_modules/playwright-core/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/playwright-test": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/playwright-test/-/playwright-test-7.1.0.tgz", @@ -15530,6 +15817,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/playwright-test/node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node_modules/playwright-test/node_modules/chokidar": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", @@ -15753,12 +16064,12 @@ } }, "node_modules/postcss": { - "version": "8.3.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.7.tgz", - "integrity": "sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ==", + "version": "8.3.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.9.tgz", + "integrity": "sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw==", "dependencies": { - "nanocolors": "^0.1.5", - "nanoid": "^3.1.25", + "nanoid": "^3.1.28", + "picocolors": "^0.2.1", "source-map-js": "^0.6.2" }, "engines": { @@ -15845,6 +16156,45 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "dev": true, + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/prebuild-install": { "version": "5.3.6", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz", @@ -15895,6 +16245,18 @@ "node": ">=6" } }, + "node_modules/prettier": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", @@ -16451,14 +16813,14 @@ } }, "node_modules/react-if": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/react-if/-/react-if-4.0.1.tgz", - "integrity": "sha512-TyfDGdBrIAHntLM5YkRbszeqcyzucB3m2ddF46XH10wTZ8SE2ZjNPD8qNphTJ+7j36SZ4qMvqmlMntcsczLAXQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/react-if/-/react-if-4.1.1.tgz", + "integrity": "sha512-frzHswesRqVVJ2XcGRoLyTvlB2yneib4R/FCqTG8AqBQnFdLNhqNODfzEA84EQZ0XwBAVe82Oe567kxaVmwj5w==", "engines": { - "node": ">=10" + "node": ">=12" }, "peerDependencies": { - "react": ">=16" + "react": "^16.x || ^17.x" } }, "node_modules/react-is": { @@ -16508,9 +16870,9 @@ } }, "node_modules/react-query": { - "version": "3.24.4", - "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.24.4.tgz", - "integrity": "sha512-p/t18+FN5P//bk/xR39r4JRWEigYzia2+J3lmKWSZHYbcivQlygJixY+81NiTNxT1P+/P6cl173b1lEbh1R8yQ==", + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.26.0.tgz", + "integrity": "sha512-wFPnL9Y+9xf6gJHAQ8ue+vBurciJ4cfQL4dhsI0x3YyRaEXlyklUQpJzbR63CfFULVekP3iWoyFxhaNVS9RFDw==", "dependencies": { "@babel/runtime": "^7.5.5", "broadcast-channel": "^3.4.1", @@ -16556,27 +16918,27 @@ } }, "node_modules/read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "dependencies": { - "load-json-file": "^2.0.0", + "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "path-type": "^3.0.0" }, "engines": { "node": ">=4" } }, "node_modules/read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "dependencies": { "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "read-pkg": "^3.0.0" }, "engines": { "node": ">=4" @@ -17068,14 +17430,17 @@ "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" }, "node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dependencies": { "glob": "^7.1.3" }, "bin": { "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/ripemd160": { @@ -17088,16 +17453,21 @@ } }, "node_modules/rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "dependencies": { - "bn.js": "^4.11.1" + "bn.js": "^5.2.0" }, "bin": { "rlp": "bin/rlp" } }, + "node_modules/rlp/node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + }, "node_modules/rollup": { "version": "2.50.1", "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.50.1.tgz", @@ -17468,9 +17838,9 @@ } }, "node_modules/signal-exit": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz", - "integrity": "sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" }, "node_modules/simple-concat": { "version": "1.0.1", @@ -17531,9 +17901,9 @@ } }, "node_modules/sirv/node_modules/@polka/url": { - "version": "1.0.0-next.20", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.20.tgz", - "integrity": "sha512-88p7+M0QGxKpmnkfXjS4V26AnoC/eiqZutE8GLdaI5X12NY75bXSdTY9NkmYb2Xyk1O+MmkuO6Frmsj84V6I8Q==", + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", "dev": true }, "node_modules/slash": { @@ -17546,46 +17916,22 @@ } }, "node_modules/slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" + "node": ">=10" }, - "engines": { - "node": ">=4" - } - }, - "node_modules/slice-ansi/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "node_modules/slice-ansi/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, "node_modules/smoke": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/smoke/-/smoke-3.1.1.tgz", @@ -17760,21 +18106,6 @@ "node": ">=8" } }, - "node_modules/spawn-wrap/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/spdx-correct": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", @@ -17807,7 +18138,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "peer": true, "dependencies": { "readable-stream": "^3.0.0" } @@ -17946,9 +18276,9 @@ } }, "node_modules/standard": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.3.tgz", - "integrity": "sha512-70F7NH0hSkNXosXRltjSv6KpTAOkUkSfyu3ynyM5dtRUiLtR+yX9EGZ7RKwuGUqCJiX/cnkceVM6HTZ4JpaqDg==", + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.4.tgz", + "integrity": "sha512-2AGI874RNClW4xUdM+bg1LRXVlYLzTNEkHmTG5mhyn45OhbgwA+6znowkOGYy+WMb5HRyELvtNy39kcdMQMcYQ==", "dev": true, "funding": [ { @@ -17965,20 +18295,20 @@ } ], "dependencies": { - "eslint": "~7.13.0", - "eslint-config-standard": "16.0.2", + "eslint": "~7.18.0", + "eslint-config-standard": "16.0.3", "eslint-config-standard-jsx": "10.0.0", - "eslint-plugin-import": "~2.22.1", + "eslint-plugin-import": "~2.24.2", "eslint-plugin-node": "~11.1.0", - "eslint-plugin-promise": "~4.2.1", - "eslint-plugin-react": "~7.21.5", + "eslint-plugin-promise": "~5.1.0", + "eslint-plugin-react": "~7.25.1", "standard-engine": "^14.0.1" }, "bin": { "standard": "bin/cmd.js" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=10.12.0" } }, "node_modules/standard-engine": { @@ -18116,49 +18446,28 @@ "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=" }, "node_modules/string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "dependencies": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/string-width/node_modules/ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "dependencies": { - "ansi-regex": "^4.1.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6" + "node": ">=8" } }, "node_modules/string.prototype.matchall": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", - "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", + "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", @@ -18170,14 +18479,14 @@ } }, "node_modules/string.prototype.padend": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", - "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz", + "integrity": "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -18187,14 +18496,14 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz", - "integrity": "sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz", + "integrity": "sha512-Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg==", "dev": true, "dependencies": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" }, "engines": { "node": ">= 0.4" @@ -18425,6 +18734,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "deprecated": "This SVGO version is no longer supported. Upgrade to v2.x.x.", "dev": true, "dependencies": { "chalk": "^2.4.1", @@ -18511,24 +18821,48 @@ } }, "node_modules/table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", "dev": true, "dependencies": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, "node_modules/tailwindcss": { - "version": "2.2.15", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.15.tgz", - "integrity": "sha512-WgV41xTMbnSoTNMNnJvShQZ+8GmY86DmXTrCgnsveNZJdlybfwCItV8kAqjYmU49YiFr+ofzmT1JlAKajBZboQ==", + "version": "2.2.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.17.tgz", + "integrity": "sha512-WgRpn+Pxn7eWqlruxnxEbL9ByVRWi3iC10z4b6dW0zSdnkPVC4hPMSWLQkkW8GCyBIv/vbJ0bxIi9dVrl4CfoA==", "dependencies": { "arg": "^5.0.1", "bytes": "^3.0.0", @@ -18620,11 +18954,11 @@ } }, "node_modules/tailwindcss/node_modules/glob-parent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", - "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dependencies": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" }, "engines": { "node": ">=10.13.0" @@ -18774,30 +19108,6 @@ "readable-stream": "^3.4.0" } }, - "node_modules/tar-stream/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "node_modules/tar/node_modules/mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -18851,9 +19161,9 @@ } }, "node_modules/tempy/node_modules/type-fest": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.3.4.tgz", - "integrity": "sha512-2UdQc7cx8F4Ky81Xj7NYQKPhZVtDFbtorrkairIW66rW7xQj5msAhioXa04HqEdP4MD4K2G6QAF7Zyiw/Hju1Q==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.5.0.tgz", + "integrity": "sha512-wB5vE+XXZ2g2mDRo18yZMae1joUhquomLTm+BkxeuRHnwmrNWzVPNrFah9z7pjsKNiVAaJL33+uQbgbPSARyqw==", "dev": true, "engines": { "node": ">=12.20" @@ -18915,9 +19225,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/jest-worker": { - "version": "27.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz", - "integrity": "sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.5.tgz", + "integrity": "sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw==", "devOptional": true, "dependencies": { "@types/node": "*", @@ -19037,6 +19347,16 @@ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", "optional": true }, + "node_modules/tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "dependencies": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, "node_modules/tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -19048,20 +19368,6 @@ "node": ">=8.17.0" } }, - "node_modules/tmp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", @@ -19221,27 +19527,6 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, - "node_modules/trash/node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/trash/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/trash/node_modules/slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -19396,9 +19681,9 @@ } }, "node_modules/typescript": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", - "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -19631,6 +19916,12 @@ "setimmediate": "~1.0.4" } }, + "node_modules/unzipper/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, "node_modules/unzipper/node_modules/process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", @@ -19802,9 +20093,9 @@ "dev": true }, "node_modules/v8-to-istanbul": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz", - "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz", + "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==", "dev": true, "dependencies": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -19942,9 +20233,9 @@ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "node_modules/webpack": { - "version": "5.53.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.53.0.tgz", - "integrity": "sha512-RZ1Z3z3ni44snoWjfWeHFyzvd9HMVYDYC5VXmlYUT6NWgEOWdCNpad5Fve2CzzHoRED7WtsKe+FCyP5Vk4pWiQ==", + "version": "5.58.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.58.2.tgz", + "integrity": "sha512-3S6e9Vo1W2ijk4F4PPWRIu6D/uGgqaPmqw+av3W3jLDujuNkdxX5h5c+RQ6GkjVR+WwIPOfgY8av+j5j4tMqJw==", "devOptional": true, "dependencies": { "@types/eslint-scope": "^3.7.0", @@ -19956,8 +20247,8 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -19989,16 +20280,16 @@ } }, "node_modules/webpack-cli": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.8.0.tgz", - "integrity": "sha512-+iBSWsX16uVna5aAYN6/wjhJy1q/GKk4KjKvfg90/6hykCTSgozbfz5iRgDTSJt/LgSbYxdBX3KBHeobIs+ZEw==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.0.tgz", + "integrity": "sha512-n/jZZBMzVEl4PYIBs+auy2WI0WTQ74EnJDiyD98O2JZY6IVIHJNitkYp/uTXOviIOMfgzrNvC9foKv/8o8KSZw==", "dev": true, "dependencies": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.4", - "@webpack-cli/info": "^1.3.0", - "@webpack-cli/serve": "^1.5.2", - "colorette": "^1.2.1", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", + "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", "fastest-levenshtein": "^1.0.12", @@ -20082,9 +20373,9 @@ } }, "node_modules/webpack/node_modules/acorn-import-assertions": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", - "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "devOptional": true, "peerDependencies": { "acorn": "^8" @@ -20129,6 +20420,12 @@ "stream-shift": "^1.0.0" } }, + "node_modules/websocket-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, "node_modules/websocket-stream/node_modules/readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -20273,6 +20570,15 @@ "node": ">=4" } }, + "node_modules/wide-align/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/wide-align/node_modules/string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -20310,35 +20616,6 @@ "node": ">=8" } }, - "node_modules/widest-line/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/widest-line/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/widest-line/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wildcard": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", @@ -20389,52 +20666,11 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "node_modules/write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "dependencies": { - "mkdirp": "^0.5.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", @@ -20665,7 +20901,7 @@ }, "packages/api": { "name": "@web3-storage/api", - "version": "3.5.1", + "version": "3.5.2", "license": "(Apache-2.0 AND MIT)", "dependencies": { "@aws-sdk/client-s3": "^3.28.0", @@ -20704,6 +20940,29 @@ "webpack-cli": "^4.7.2" } }, + "packages/api/node_modules/buffer": { + "version": "6.0.3", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "packages/client": { "name": "web3.storage", "version": "3.3.2", @@ -20821,12 +21080,21 @@ "version": "2.3.1", "license": "(Apache-2.0 AND MIT)", "dependencies": { + "@supabase/postgrest-js": "^0.34.0", "graphql-request": "^3.4.0" }, "devDependencies": { "@web-std/fetch": "^2.0.1", + "assert": "^2.0.0", + "delay": "^5.0.0", "dotenv": "^10.0.0", + "execa": "^5.1.1", "faunadb": "^4.3.0", + "openapi-typescript": "^4.0.2", + "p-retry": "^4.6.1", + "pg": "^8.7.1", + "playwright-test": "^7.0.1", + "sade": "^1.7.4", "standard": "^16.0.3" } }, @@ -20966,6 +21234,10 @@ "crypto-js": "^3.3.0" } }, + "packages/website/node_modules/@magic-sdk/types": { + "version": "1.6.0", + "license": "MIT" + }, "packages/website/node_modules/astral-regex": { "version": "2.0.0", "dev": true, @@ -21061,6 +21333,14 @@ } } }, + "packages/website/node_modules/eslint-plugin-promise": { + "version": "4.3.1", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=6" + } + }, "packages/website/node_modules/eslint-plugin-react": { "version": "7.24.0", "dev": true, @@ -21263,11 +21543,11 @@ "integrity": "sha512-HazVq9zwTVwGmqdwYzu7WyQ6FQVZ7SwET0KKQuKm55jD0IfUpZgN0OPIiZG3zV1iSrVYcN0bdwLRXI/VNCYsUA==" }, "@aws-crypto/crc32": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.2.1.tgz", - "integrity": "sha512-Ydso55lIn3Vudui5jXNKcxmyVr9BNWeIkAhleGuG9zpb0Pu5yXf2Jth2A07fUyLSXX2gwfv0d84zwvKK2FMbuA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-1.2.2.tgz", + "integrity": "sha512-8K0b1672qbv05chSoKpwGZ3fhvVp28Fg3AVHVkEHFl2lTLChO7wD/hTyyo8ING7uc31uZRt7bNra/hA74Td7Tw==", "requires": { - "@aws-crypto/util": "^1.2.1", + "@aws-crypto/util": "^1.2.2", "@aws-sdk/types": "^3.1.0", "tslib": "^1.11.1" }, @@ -21295,14 +21575,14 @@ } }, "@aws-crypto/sha256-browser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.1.tgz", - "integrity": "sha512-WX/Wp6sXPhcBWx/w1aSJv3bDJL0ut5Ik6hl7yfqA1pn3cfsahl4rgHzRRXqYfJ+hnhnCqdgadS17wyBbVPsK+w==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-1.2.2.tgz", + "integrity": "sha512-0tNR4kBtJp+9S0kis4+JLab3eg6QWuIeuPhzaYoYwNUXGBgsWIkktA2mnilet+EGWzf3n1zknJXC4X4DVyyXbg==", "requires": { "@aws-crypto/ie11-detection": "^1.0.0", - "@aws-crypto/sha256-js": "^1.2.1", + "@aws-crypto/sha256-js": "^1.2.2", "@aws-crypto/supports-web-crypto": "^1.0.0", - "@aws-crypto/util": "^1.2.1", + "@aws-crypto/util": "^1.2.2", "@aws-sdk/types": "^3.1.0", "@aws-sdk/util-locate-window": "^3.0.0", "tslib": "^1.11.1" @@ -21316,11 +21596,11 @@ } }, "@aws-crypto/sha256-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.1.tgz", - "integrity": "sha512-KtZ4qFDWZy6pKcky6RvwSytR/I8vPX9Z47pXh9sOuTcxjjtcegzS2uupg9vo0vbFcAWkSHVOEmNPh6ygiC3VFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-1.2.2.tgz", + "integrity": "sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==", "requires": { - "@aws-crypto/util": "^1.2.1", + "@aws-crypto/util": "^1.2.2", "@aws-sdk/types": "^3.1.0", "tslib": "^1.11.1" }, @@ -21348,9 +21628,9 @@ } }, "@aws-crypto/util": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.1.tgz", - "integrity": "sha512-H6Qrl28lzGGXZgLkdP7DQpJ3D3jJagQJugziThcqZCJVUT0HABHJt9EQMiiuf93KcUV/MMoisl56UfCxCFfmWQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-1.2.2.tgz", + "integrity": "sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==", "requires": { "@aws-sdk/types": "^3.1.0", "@aws-sdk/util-utf8-browser": "^3.0.0", @@ -21365,816 +21645,816 @@ } }, "@aws-sdk/abort-controller": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.32.0.tgz", - "integrity": "sha512-fGGlLbGzbfT8lWMt26Cr4lXpYN8rofraIK3mW9cUnV4dwFO/4UJw9m35GU/YNsC1MLzTI9Q1e08kZP+1yubvaw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.36.0.tgz", + "integrity": "sha512-IzOL+3x6odlo6mChPChSJepvtHncMKuCQSO0HCDp7AHdhfbZxDCrOL4byH6E3L/LXhUQX8hI0vYE1IDB1nqjhA==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/chunked-blob-reader": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.32.0.tgz", - "integrity": "sha512-KRr8ioMWzZWKNw2uBJTEsmr0B7clHNTRMyMzzcGscat2l9GCo3gDfhW7VUtX1MZkKhe2UYW50/6NoOpxLnPJSA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.36.0.tgz", + "integrity": "sha512-8MwykUnBjFUpvUYzuSmq7QvNtslmz9HNYO5YcOawUg7J0XtY01EquOp/dc0LPXCQhTLCaG0YLxZrhMGP9DrB8g==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/chunked-blob-reader-native": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.32.0.tgz", - "integrity": "sha512-+xIQTxqGH6i56ORspNTbFMoQCYKS20f1kbfokGDxcBCu5OSU44jkY/qLS7S/xSnUtExC+22uijtUSHolJYuCJg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.36.0.tgz", + "integrity": "sha512-060kKMFiCvzCI4OZRv4pTf5fNiCBT99fRVm39kKs6k3R0AKXn+4lPDN8Is740ZvGnoCCfnWC+EUUf7mwWX+jWw==", "requires": { - "@aws-sdk/util-base64-browser": "3.32.0", + "@aws-sdk/util-base64-browser": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/client-s3": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.33.0.tgz", - "integrity": "sha512-HTSb0fSRk44ZmYk5cr4vwnjdgpuuWD4EhHzuzVFrB3P8HjN5jPMSAIPhiqbOwfbODMzmk2lIRQh9aXxbSPn/xw==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.36.1.tgz", + "integrity": "sha512-7J2OlN4x/+f66S5Ux2qJ68Zd/l5iBLpKmpSfbnuRcpjtatHi9qFDFUAFhrezDqRcETt6Dsqf6cflhF9cO7R2FQ==", "requires": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/client-sts": "3.33.0", - "@aws-sdk/config-resolver": "3.33.0", - "@aws-sdk/credential-provider-node": "3.33.0", - "@aws-sdk/eventstream-serde-browser": "3.32.0", - "@aws-sdk/eventstream-serde-config-resolver": "3.32.0", - "@aws-sdk/eventstream-serde-node": "3.32.0", - "@aws-sdk/fetch-http-handler": "3.32.0", - "@aws-sdk/hash-blob-browser": "3.32.0", - "@aws-sdk/hash-node": "3.32.0", - "@aws-sdk/hash-stream-node": "3.32.0", - "@aws-sdk/invalid-dependency": "3.32.0", - "@aws-sdk/md5-js": "3.32.0", - "@aws-sdk/middleware-apply-body-checksum": "3.32.0", - "@aws-sdk/middleware-bucket-endpoint": "3.33.0", - "@aws-sdk/middleware-content-length": "3.32.0", - "@aws-sdk/middleware-expect-continue": "3.32.0", - "@aws-sdk/middleware-host-header": "3.32.0", - "@aws-sdk/middleware-location-constraint": "3.32.0", - "@aws-sdk/middleware-logger": "3.32.0", - "@aws-sdk/middleware-retry": "3.32.0", - "@aws-sdk/middleware-sdk-s3": "3.33.0", - "@aws-sdk/middleware-serde": "3.32.0", - "@aws-sdk/middleware-signing": "3.33.0", - "@aws-sdk/middleware-ssec": "3.32.0", - "@aws-sdk/middleware-stack": "3.32.0", - "@aws-sdk/middleware-user-agent": "3.32.0", - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/node-http-handler": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/smithy-client": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/url-parser": "3.32.0", - "@aws-sdk/util-base64-browser": "3.32.0", - "@aws-sdk/util-base64-node": "3.32.0", - "@aws-sdk/util-body-length-browser": "3.32.0", - "@aws-sdk/util-body-length-node": "3.32.0", - "@aws-sdk/util-user-agent-browser": "3.32.0", - "@aws-sdk/util-user-agent-node": "3.33.0", - "@aws-sdk/util-utf8-browser": "3.32.0", - "@aws-sdk/util-utf8-node": "3.32.0", - "@aws-sdk/util-waiter": "3.32.0", - "@aws-sdk/xml-builder": "3.32.0", + "@aws-sdk/client-sts": "3.36.1", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/credential-provider-node": "3.36.1", + "@aws-sdk/eventstream-serde-browser": "3.36.0", + "@aws-sdk/eventstream-serde-config-resolver": "3.36.0", + "@aws-sdk/eventstream-serde-node": "3.36.0", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-blob-browser": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/hash-stream-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/md5-js": "3.36.0", + "@aws-sdk/middleware-apply-body-checksum": "3.36.0", + "@aws-sdk/middleware-bucket-endpoint": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-expect-continue": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-location-constraint": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-sdk-s3": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/middleware-ssec": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", + "@aws-sdk/util-waiter": "3.36.0", + "@aws-sdk/xml-builder": "3.36.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.0" } }, "@aws-sdk/client-sso": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.33.0.tgz", - "integrity": "sha512-NADcWgmcBFwfe2Fl26MJ8vpO34aGspgASh7WhVpbjN8R8hjxQJTJihpETieZ8foKZTp576LgedOxAHRYgMOiew==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.36.1.tgz", + "integrity": "sha512-ZYhsmzv5aCoIvP+NqWr50jY8suA/lZkV5jRmwW6jbgEdxO2G32eV0I3jeNplZYhLx3PdfOWpTdnSsYEaiFD2iA==", "requires": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.33.0", - "@aws-sdk/fetch-http-handler": "3.32.0", - "@aws-sdk/hash-node": "3.32.0", - "@aws-sdk/invalid-dependency": "3.32.0", - "@aws-sdk/middleware-content-length": "3.32.0", - "@aws-sdk/middleware-host-header": "3.32.0", - "@aws-sdk/middleware-logger": "3.32.0", - "@aws-sdk/middleware-retry": "3.32.0", - "@aws-sdk/middleware-serde": "3.32.0", - "@aws-sdk/middleware-stack": "3.32.0", - "@aws-sdk/middleware-user-agent": "3.32.0", - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/node-http-handler": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/smithy-client": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/url-parser": "3.32.0", - "@aws-sdk/util-base64-browser": "3.32.0", - "@aws-sdk/util-base64-node": "3.32.0", - "@aws-sdk/util-body-length-browser": "3.32.0", - "@aws-sdk/util-body-length-node": "3.32.0", - "@aws-sdk/util-user-agent-browser": "3.32.0", - "@aws-sdk/util-user-agent-node": "3.33.0", - "@aws-sdk/util-utf8-browser": "3.32.0", - "@aws-sdk/util-utf8-node": "3.32.0", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/client-sts": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.33.0.tgz", - "integrity": "sha512-5UnPi69MUHO6rhuzBYmxDrZ9wYdUvCiP2S8kp3xPwLEAyMNIrFbMBkuC+BhSAsIlaToxGz1ScouVQH6GFcf46Q==", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.36.1.tgz", + "integrity": "sha512-Bvpr1dquJs6lRd2hu/BjfUz2nfP/ESXsxh0YR0H7HMq+RtW2Mr+IDIV6n+EK5te21VUmc47LVpPfdiYDWyRxLQ==", "requires": { "@aws-crypto/sha256-browser": "^1.0.0", "@aws-crypto/sha256-js": "^1.0.0", - "@aws-sdk/config-resolver": "3.33.0", - "@aws-sdk/credential-provider-node": "3.33.0", - "@aws-sdk/fetch-http-handler": "3.32.0", - "@aws-sdk/hash-node": "3.32.0", - "@aws-sdk/invalid-dependency": "3.32.0", - "@aws-sdk/middleware-content-length": "3.32.0", - "@aws-sdk/middleware-host-header": "3.32.0", - "@aws-sdk/middleware-logger": "3.32.0", - "@aws-sdk/middleware-retry": "3.32.0", - "@aws-sdk/middleware-sdk-sts": "3.33.0", - "@aws-sdk/middleware-serde": "3.32.0", - "@aws-sdk/middleware-signing": "3.33.0", - "@aws-sdk/middleware-stack": "3.32.0", - "@aws-sdk/middleware-user-agent": "3.32.0", - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/node-http-handler": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/smithy-client": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/url-parser": "3.32.0", - "@aws-sdk/util-base64-browser": "3.32.0", - "@aws-sdk/util-base64-node": "3.32.0", - "@aws-sdk/util-body-length-browser": "3.32.0", - "@aws-sdk/util-body-length-node": "3.32.0", - "@aws-sdk/util-user-agent-browser": "3.32.0", - "@aws-sdk/util-user-agent-node": "3.33.0", - "@aws-sdk/util-utf8-browser": "3.32.0", - "@aws-sdk/util-utf8-node": "3.32.0", + "@aws-sdk/config-resolver": "3.36.0", + "@aws-sdk/credential-provider-node": "3.36.1", + "@aws-sdk/fetch-http-handler": "3.36.0", + "@aws-sdk/hash-node": "3.36.0", + "@aws-sdk/invalid-dependency": "3.36.0", + "@aws-sdk/middleware-content-length": "3.36.0", + "@aws-sdk/middleware-host-header": "3.36.0", + "@aws-sdk/middleware-logger": "3.36.0", + "@aws-sdk/middleware-retry": "3.36.0", + "@aws-sdk/middleware-sdk-sts": "3.36.0", + "@aws-sdk/middleware-serde": "3.36.0", + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/middleware-user-agent": "3.36.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/node-http-handler": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/smithy-client": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", + "@aws-sdk/util-base64-node": "3.36.0", + "@aws-sdk/util-body-length-browser": "3.36.0", + "@aws-sdk/util-body-length-node": "3.36.0", + "@aws-sdk/util-user-agent-browser": "3.36.0", + "@aws-sdk/util-user-agent-node": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", "entities": "2.2.0", "fast-xml-parser": "3.19.0", "tslib": "^2.3.0" } }, "@aws-sdk/config-resolver": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.33.0.tgz", - "integrity": "sha512-+2uySfe1B8bxEI8zhqRYTWAajIchjFeamNGaOX5jM6XPLBfBfZYSFgrtqe3d6ra+jsqHXwm/Z1OYUdVkEXKapA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.36.0.tgz", + "integrity": "sha512-4UxdPrlSo1RToelV72fMustttTSWKHJm3L054jJQUCiXDIIrUTAFhI5Z6El4wqYjg15QIZkIdcN0T9Vzd/z5Lw==", "requires": { - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/credential-provider-env": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.32.0.tgz", - "integrity": "sha512-L/YL20wmgXY3R+6lZ94aIomPVIwxj4obfZkjSEncFZwBeB1A7UPSOsqrXFwrag5rPwgfyzy6Dgz1sIUYcdH1XQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.36.0.tgz", + "integrity": "sha512-APQAgVmVx850lL8v2Sz/L4kA7a7ectqNZNxTBm6+H534uGsGYwNSmRcTQiXA77qCRts5ZaFQP3CHdxR8/Ixr6w==", "requires": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/credential-provider-imds": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.32.0.tgz", - "integrity": "sha512-jRXqE0nQta91KVNKtVl3Pqc/vveGEaLfWvqhkJEbhVX+myI5pzTLxINNyTR111oBvoq1sFIeqJQY0KT3qn5BMA==", - "requires": { - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/url-parser": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.36.0.tgz", + "integrity": "sha512-4hDzNZ60hgAenhAm1Sys25H2LispgtvSx+K6U/5kTJCvfqRwS13ZH9LTjlA4FoJC+zv4INSYN01oYZfhQpczUw==", + "requires": { + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/url-parser": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/credential-provider-ini": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.33.0.tgz", - "integrity": "sha512-a8UvxsB1+8BSlotqNLleqJzNLUGDInyG9zCAmHRNujkNkkY+1DpJ30e2ZwtBzcz25cx0ULT4OgHHlqETGEXPwg==", - "requires": { - "@aws-sdk/credential-provider-env": "3.32.0", - "@aws-sdk/credential-provider-imds": "3.32.0", - "@aws-sdk/credential-provider-sso": "3.33.0", - "@aws-sdk/credential-provider-web-identity": "3.32.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-credentials": "3.32.0", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.36.1.tgz", + "integrity": "sha512-DqApaEr6khLcPOiZBjQeZqQ8A4eI9DJrlmlP5Ov2p0ne5miXEddwXaqGAFryF+ylMdPOvfjJvza1TkRD7MxhwA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.36.0", + "@aws-sdk/credential-provider-imds": "3.36.0", + "@aws-sdk/credential-provider-sso": "3.36.1", + "@aws-sdk/credential-provider-web-identity": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/credential-provider-node": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.33.0.tgz", - "integrity": "sha512-aZNYt7BOTkBMdpcdXF5livfGcP5sZRYAnO0i2o6dkjnOJ5nl2p014FS+xJNSk5/rtV3p7n740bQ5mMdz/kngHQ==", - "requires": { - "@aws-sdk/credential-provider-env": "3.32.0", - "@aws-sdk/credential-provider-imds": "3.32.0", - "@aws-sdk/credential-provider-ini": "3.33.0", - "@aws-sdk/credential-provider-process": "3.32.0", - "@aws-sdk/credential-provider-sso": "3.33.0", - "@aws-sdk/credential-provider-web-identity": "3.32.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-credentials": "3.32.0", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.36.1.tgz", + "integrity": "sha512-SHBZOq+jOO/9Yqdrig5ATSLifjdNeVdi5/trCQj2ynwO6N9bAde0V1ni9TdBU/4kejYdtL+vIeEg8R29n1fMoA==", + "requires": { + "@aws-sdk/credential-provider-env": "3.36.0", + "@aws-sdk/credential-provider-imds": "3.36.0", + "@aws-sdk/credential-provider-ini": "3.36.1", + "@aws-sdk/credential-provider-process": "3.36.0", + "@aws-sdk/credential-provider-sso": "3.36.1", + "@aws-sdk/credential-provider-web-identity": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/credential-provider-process": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.32.0.tgz", - "integrity": "sha512-9DbcunIMW6Xmpq9mDlNlZ59q23X37uEfi9aESX1fBtu6r2cfbNKPZyY1984GsDLA3jEnXj+LhNympeAD2psAew==", - "requires": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-credentials": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.36.0.tgz", + "integrity": "sha512-2ITkLv5mwbPzDCnPpZ7GpibQD78yiF2voU3knR5XWbnSdHosV+taTwnU+HMcJhWQPR9lTKHDf4/rEtUPw/imrQ==", + "requires": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/credential-provider-sso": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.33.0.tgz", - "integrity": "sha512-3KyvrpiOeCx93DfelQZz5IRLN49Il4sNpIySVgJSG9WwMVJC/vBHukBwB89hkEUifPtw5lMcKb6MJlEq7+sgxQ==", - "requires": { - "@aws-sdk/client-sso": "3.33.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-credentials": "3.32.0", + "version": "3.36.1", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.36.1.tgz", + "integrity": "sha512-uS6ZIwq0HbBGD7lhuUr/g2RIpQzEb2gT3e86r5Fesv5eLWTqzkhmXJ5jc7cHPuQK3Ojcu2S8atVcdeUGfdamgw==", + "requires": { + "@aws-sdk/client-sso": "3.36.1", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-credentials": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/credential-provider-web-identity": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.32.0.tgz", - "integrity": "sha512-0aqG2ioVoekXgTdlYhcbOM3HDsgq7J1SRwib/jpRy/gKa+EeYwk79NI6SnMpSQH8ThHwSK5LCe0SCBj8G5mCCg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.36.0.tgz", + "integrity": "sha512-cC0WZmQhxmEw5VJud15tNDQggGFTxtz6FP5Yj46UtmNa+cTadtrruoe4PZBC1QqWgrfBpkI7W1quD3BZthiV/w==", "requires": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/eventstream-marshaller": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.32.0.tgz", - "integrity": "sha512-jKJs8ZR1yHw8Tpp9hAWOqgchQclMJjYINbakZpBGkfiSYCNRn6Y7uYvxrDCWVa90xI4O9XURMGEo8DjF1clJgg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.36.0.tgz", + "integrity": "sha512-6/WKo0LZkNG6YiJ8HoElWj0SndXCxib482cz16GmrBY1WsXsqqx/qxAfxhMMkBayyOWzVD0r/TOjHqdiwOT+/w==", "requires": { "@aws-crypto/crc32": "^1.0.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-hex-encoding": "3.32.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/eventstream-serde-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.32.0.tgz", - "integrity": "sha512-dA1Nh19+ZWrIbZS+3TkBqDHrikcTdH6egcZn7m4XnF2AR6ymJRKioVLeETDfAV9b1pAzxfQLtys+3qYuPDwMsw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.36.0.tgz", + "integrity": "sha512-W1DCmEcWkQa3kC23sg5Bb6rozafy83CwtXBiJ26CZFvtSnEsntrXz2+xHc4fITTu1D4rAD+J9w4hYZ72gfE5Tg==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.32.0", - "@aws-sdk/eventstream-serde-universal": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/eventstream-marshaller": "3.36.0", + "@aws-sdk/eventstream-serde-universal": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/eventstream-serde-config-resolver": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.32.0.tgz", - "integrity": "sha512-YI7OXM422QbyQX/bataMyfspiAg5xyqddCU8+j3Bfdsas8dmAV8mLGYX5N4laKlyGUQZxycNlBRzotnRgCa9EA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.36.0.tgz", + "integrity": "sha512-+s9hj1NhGFSYotCACSf5h1hebbBZyeCZKlxm9My3zE3Is1hG3I1v2PBw8al39kxHR0nDMGPlMjMzWL7F7byjdA==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/eventstream-serde-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.32.0.tgz", - "integrity": "sha512-0+w+wDWz4AlFi98/8ffePRKCB6XK55GH4j2Yb+AGzUKZyJVT1SPk7D1fqGmTc/rm0kDSyT7qXlgp0QWeysR+ug==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.36.0.tgz", + "integrity": "sha512-x5VaVk6XEheDNSAp/VRqJOq/z/SWa0PKiMCSrFuUM9IznicQcG90AgUUDGA0gEp2GMBwR+LhVCz4soTZtAoADA==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.32.0", - "@aws-sdk/eventstream-serde-universal": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/eventstream-marshaller": "3.36.0", + "@aws-sdk/eventstream-serde-universal": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/eventstream-serde-universal": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.32.0.tgz", - "integrity": "sha512-CT/HEOvRewVpOMkRaobmEU+C4FMkMwXgbC1h1pFKpHvcE0N2OBMU2Sp+7Dl4ZYEAd6paHTGrUjWl30N2E8SHJQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.36.0.tgz", + "integrity": "sha512-suMcZFKH/Q2y3QCRpr0rSMYxvCoCKmv4JanuDqqjR5FuFQ1W+JfGCYPkJmMfwXzPzF9p+P/3NXFh3sflNtSYXQ==", "requires": { - "@aws-sdk/eventstream-marshaller": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/eventstream-marshaller": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/fetch-http-handler": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.32.0.tgz", - "integrity": "sha512-gPozFdAjIyj7XiUemJHuwKIFpd3bpA+P5GjYhnWRW/iV2vlmR+q4M8EcgxWyf55ME8ZTj9CpEMGED8u8Hpkrzg==", - "requires": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/querystring-builder": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-base64-browser": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.36.0.tgz", + "integrity": "sha512-Xhd55V12+m8GTHdJRQVlxsdzq3k5rNUMK/5t4ehJwLoYdo3yc2tjOytgUoD9qDyGPkAV8nnP/uM03QEuovEk9w==", + "requires": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/querystring-builder": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-base64-browser": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/hash-blob-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.32.0.tgz", - "integrity": "sha512-P+ok1zZXZOeqwpmk0PL5xq/btdMkjMUiGLEbfs20r3Aoyjvtr8xoGGWML+p7LP0CjddUav5tVYRq6+v+gtkObw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.36.0.tgz", + "integrity": "sha512-A+SmEvHPEf1+grMDfs8jtk9GVtG/Qs58VtPmsUq5yeUSme8Vor+MsOMfNjZ6QXD267HourMMSNNLBWzLNzTqjw==", "requires": { - "@aws-sdk/chunked-blob-reader": "3.32.0", - "@aws-sdk/chunked-blob-reader-native": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/chunked-blob-reader": "3.36.0", + "@aws-sdk/chunked-blob-reader-native": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/hash-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.32.0.tgz", - "integrity": "sha512-SQf10cM67WuZ1rFKqvxzgKS/rD6B0jM/1CUGHR2p6HfxlWQyGn4ea4fpyqDzZ53D0msmYPx06LmIQtmcc0kMgQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.36.0.tgz", + "integrity": "sha512-+SbX7eE+DRGeK6VfxKa4SanlT3syEn512XkwGvPe51r/ojeTgAZf/PzlKh+ketGMsbwDwoF2uQaQo/dos8PGjA==", "requires": { - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-buffer-from": "3.32.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-buffer-from": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/hash-stream-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.32.0.tgz", - "integrity": "sha512-mdR9PKNr4oZfmO1wP+9y1ZUNocCYXSN3GxX+ZRfTVIe21INXnzlOa8iZ8yPUiZXB2bQndIeJn9fHJShkc6tU7g==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.36.0.tgz", + "integrity": "sha512-oNWxMyAxfQZ/pEGWA9AWNswdfnb3B7fE03kBOL6h4cO4G4OAFL6l3r3e9BH1m2CYc4zgn1ezXK3m4tP+K28PxQ==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/invalid-dependency": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.32.0.tgz", - "integrity": "sha512-ISX2d4sXeZSOYk5Bger9VAVigEE0Jgb2xucjqplcg9+Q0/Tm4PwPJTXgYXpc/fGxkVIy535fl/lrHnZZT/tTHA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.36.0.tgz", + "integrity": "sha512-ArRPRY/5QmxmmAoMX1ukNPyOFic7CskZwDwFxnlFOzrsSaVuLkkqTW4SLV+xjVMHX8oINggj9Ufzgh3gj2oUaA==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/is-array-buffer": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.32.0.tgz", - "integrity": "sha512-ywBtlNwQzA3971o+cG2WptNhARFQBSM7PX+l/LJA/XwczE0ZPcTVACbSDu+Aqphz0XjFZ8FDoYMTdbZZeVR4wQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.36.0.tgz", + "integrity": "sha512-sglBYWZYeYmCxkVdol+W2HGazAwF6z3HvLETkDIKTzM80+xepCoEBGrJi1tWO+OMZxSJq1KV/u89fQuGouBeKQ==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/md5-js": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.32.0.tgz", - "integrity": "sha512-0Cc4HtGtkX9k7SeJC55WcMcFRI/WqA4RQOTyIsEc86JBfaMcweJ8fDBwYWl6cTDyrMa2R5HUjK9ynQm/W91EiQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.36.0.tgz", + "integrity": "sha512-C4xOIcqIa/rkzxaV6HwXxjchTHXcS8IfkpBcuEYB1DzDfuJEXo3ZfPJI6srGaU+7CzqYgd1eQ0bWk9A3jF0x+Q==", "requires": { - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-utf8-browser": "3.32.0", - "@aws-sdk/util-utf8-node": "3.32.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-utf8-browser": "3.36.0", + "@aws-sdk/util-utf8-node": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-apply-body-checksum": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.32.0.tgz", - "integrity": "sha512-K2XVHVrByMFkv4bkErLnARvuDqtJwtQnpJsGJf1FXnUgkdyofcpwmXjbzkI7RV0UTQZMy41QvQHE38PtATt1tQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.36.0.tgz", + "integrity": "sha512-dqiUCM9QJu+CfTnFL8v+E0+/f+eheVfifWntdd/JyQC0TGOmikqDqkbUDtguag6EgLTr9i37nKLAWH/PewXIhA==", "requires": { - "@aws-sdk/is-array-buffer": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/is-array-buffer": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-bucket-endpoint": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.33.0.tgz", - "integrity": "sha512-J/aX8GZ+aDzCO0PpiEZVvzb0oWTlpt9J9lfASCg8ui8+uh1Jva7iQ4faqzzwLiuQ+3LrJsWXhqIeu77JzRZ6VA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.36.0.tgz", + "integrity": "sha512-WgiZzlZMDp2HEvBe8xLsj2cG6OhtPuXb1L4tlU9XIUlM64Y3Phrxjo/aHI+wynmvF2/lqlcG4J+5NUpiH9AjYg==", "requires": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-arn-parser": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-arn-parser": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-content-length": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.32.0.tgz", - "integrity": "sha512-6paddPqlx86OyGCtf2IFVQd4eJWRotpYLCfEcaxno/ihoybhOgSSL3kvRMy77Y168jYjB88kilACzEVrOg8gYA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.36.0.tgz", + "integrity": "sha512-3+3QYgXnIukhdeP8UHXb7E8vv9d61sUAN4hbEi4/Tg6ZZOUoeVfWZrQCQNTNBV07qoATdeGE+EaPgTJEOmiDig==", "requires": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-expect-continue": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.32.0.tgz", - "integrity": "sha512-NkNxb/qJYAN63CQN1x1QK6kgKr8/KvfPGaCwnbsgZdPxmUFdT32aDhemsLjEvPUC5hIXcDJ+cTCfI43FjP1SEw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.36.0.tgz", + "integrity": "sha512-WOsWLqpJVe4InSZnh0SJmNuyFOb3tt+bGO9CywMzhydhE1EC504kn2EVHW4ukQUeSVyLZgh7O4Vxl+hQu8rw3w==", "requires": { - "@aws-sdk/middleware-header-default": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/middleware-header-default": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-header-default": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.32.0.tgz", - "integrity": "sha512-OZPdAMQz9UZifIhTZz1EWM8rg79wF2j1zZMh5pCdlayDX7xcTTKGxYVKL+Ao3bEe1Qtn1MKXcMqUgvgQnY1VWA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.36.0.tgz", + "integrity": "sha512-KzhxyHAn+byf09G49PwiqrwCTI+DA2peF8uxRA7EAPMyLZUcjL/qSYwxhIf3on5ul4IkysvECF8RGGB+paQwNg==", "requires": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-host-header": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.32.0.tgz", - "integrity": "sha512-zL2zj+HU/t4hU/btzyuKU7+Ct3GuyGUCaex1wE1wilLgiMQWlHx6tAVyA6lT3Zie4helHiIEnf1wYShm+Kmv4w==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.36.0.tgz", + "integrity": "sha512-hN9HSMAE6um17TygJaQjAlM5fFJRneXB794OK/hMngibotQ90FogvbEWOPBRBW+LaWWemr39xdcb51PHsUSlbg==", "requires": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-location-constraint": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.32.0.tgz", - "integrity": "sha512-g3Un+1cuCnmkQlXx3xuX/sC8HnzyWlNL4L8MngBrAXr5j0jwv9L08XV4boLvcfwCNjaapeivryvnqVXdWrk6IA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.36.0.tgz", + "integrity": "sha512-lcKNfFLzDKLmsHOPv3fr0GqP02qimn7m69yDNTyDXKgzwkYPG36aIjCxX1Znaw1jZbAvtW6ErwEB+6BlN7Is1g==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-logger": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.32.0.tgz", - "integrity": "sha512-d6HH0SMI0m4U9lHk35zAbovop3ivHreZvcH5jw0A64izZQt5eqRbre+R0sfK+UjC1bARo1Wb+SaHcSDmxrqrJg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.36.0.tgz", + "integrity": "sha512-Cl5yx5xNbm8nL6iI0iRjEmtT/ImoxZzU3eWpACglweyxgeF5nRDUMp5v9WthuCPCOjxrw2I95JOj5JOP+/QIXA==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-retry": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.32.0.tgz", - "integrity": "sha512-i5Uz/Z67kq/whrW+ZROgqz2NKNVZIGIk1V6tFte48jw1L2PMu+AQkgwKufY30p7oxOn0/v1qu2VMz0BBFYVeoQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.36.0.tgz", + "integrity": "sha512-qFHFQ7KmwpD8eRCsbN4vaisidlRi/rzegns5/3PZU0wygQ2obTi2NnKJJr0dWSG6XqPhBmUv0YleIh9LQZimuQ==", "requires": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/service-error-classification": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/service-error-classification": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0", "uuid": "^8.3.2" } }, "@aws-sdk/middleware-sdk-s3": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.33.0.tgz", - "integrity": "sha512-f6F72pjppKGLhSveVx+y9V8q+9TvtN8MKyPcNwlOHeaNMgtjTe3e6qf1W3Ih55XdUkMemfbZBNl+WrZhMFqnNg==", - "requires": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-arn-parser": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.36.0.tgz", + "integrity": "sha512-40477uh2rEBEU2L/Hhvih+/a9mFvCPRvz9kLOjYYmHaLkAVRBHWsMatNgNIs/8qsaWQXq7a1PBejDPDyXkLivw==", + "requires": { + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-arn-parser": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-sdk-sts": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.33.0.tgz", - "integrity": "sha512-svCAHOAg3KXgxlVtrjtmwey8/tc4tkGGpq+8EFajrf0/UMkGSnd7Lg1lelpTsJa02DdSwuww8z7TIysTEe5Z5w==", - "requires": { - "@aws-sdk/middleware-signing": "3.33.0", - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/types": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.36.0.tgz", + "integrity": "sha512-W4b09/mfNqFNoxJxI0L2FjKEadhtYIBNkL8kh4fL40ax7zBL1Q7El9ZKueBezyN1EbYRui+tym39x9eEYZwTWw==", + "requires": { + "@aws-sdk/middleware-signing": "3.36.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-serde": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.32.0.tgz", - "integrity": "sha512-y3bFjq8Fm9jd0EKbDyohrHtpZLMO2GLabvpNTcQpt/2YOv8wAMPWpCllJXdFAGRav5xkzMJItYFNDuLB5foHyQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.36.0.tgz", + "integrity": "sha512-KuQIt3Cq+FC2UlQ/PMYQACnSK4v/fkV0dHqTjICuCi0Tft17HtkXU6rFLbIAbkM1wCp1OhyHFjHHDESvvjdmGA==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-signing": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.33.0.tgz", - "integrity": "sha512-GBqTM2gAFo/UTRWkTUipbHHyGkGXDOjimQDNscoUyTXeA8q0J7+k1z5ZSJLVtAUge7LOJmE3VSkOEc7C3SDx1w==", - "requires": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/types": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.36.0.tgz", + "integrity": "sha512-nx+IJE2YFxHF+ap4mOUSVP7WmXMgtHgC/QM97pcd03RtUhsNsu0rmv5HOmyl5MduP/NjGdRdF3Ng+MP2q2aTpg==", + "requires": { + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-ssec": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.32.0.tgz", - "integrity": "sha512-5jAWG31255DFc3MfE4Wgq4VNXSzYYQLl5dp0IcTfQg13+9446xVx6L3ik1dKqP7wSmDMbpSO7yuuBUD4TH2bjQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.36.0.tgz", + "integrity": "sha512-73P+q51tZRpW2Q+f0rbv3aWLulkvDsYixNnNjY9k10pKN30Nld1kIF0EYecJZCrR769GGeUGROXU4pvwu19EXQ==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/middleware-stack": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.32.0.tgz", - "integrity": "sha512-tklpaAeAKGQmdbj98unhr/cSh5nJCkPJFuK2R1+LOY57IiQSzKRg+CEF3wDU9DH/ILv6r/z5wxVlXxO8T0b+3Q==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.36.0.tgz", + "integrity": "sha512-9BWJ25nGQET23CiukmdGw0njDhl+uTUZ8CwO4VQwklmK9x8Y+NFE7k2RCp5m3GxEvn07oJ3FlWK5WE4LLmu4Pw==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/middleware-user-agent": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.32.0.tgz", - "integrity": "sha512-lg4Y8Z6EwiNpHEPoOfQtchJEm41xiVyr3wFoVWNShhRncn39FMTVJGx3uqAgh/HLSoDZ4W8MNfm3jUnvUb1rEw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.36.0.tgz", + "integrity": "sha512-n2Poao1alyrKu8a5vcOW9hFIRHrnAlKtUvlItQWSVxgVHQhrYkBJycRW/qh1BKLxt1S+EUPTMTVS4i0XGYOqSw==", "requires": { - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/node-config-provider": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.32.0.tgz", - "integrity": "sha512-7Ro3loMlm5DA6IGFbSmBqoopgYojm5lQhuZksSI2xPXCBHyu3ym6a39ikjVsEmSQrJdXRiB77XM94fM+jGxjCg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.36.0.tgz", + "integrity": "sha512-tn1ToARM3iPXh1BZxzv5OgqBvXIAZaWV+sZ/Ns1GY7r5oy9JA2Z3Q/VG49POrY2gL5q1QaGAs/5WiBc6TEEE6Q==", "requires": { - "@aws-sdk/property-provider": "3.32.0", - "@aws-sdk/shared-ini-file-loader": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/property-provider": "3.36.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/node-http-handler": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.32.0.tgz", - "integrity": "sha512-LHO+ikctC+FdPINoh84T5ooioEPjrzYrXpRXa1tufTfVN6DmtaFxukBa0XAGv/PGyL5obfHmi1ErPFSLwBfr9A==", - "requires": { - "@aws-sdk/abort-controller": "3.32.0", - "@aws-sdk/protocol-http": "3.32.0", - "@aws-sdk/querystring-builder": "3.32.0", - "@aws-sdk/types": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.36.0.tgz", + "integrity": "sha512-hfmiEw498YNS/maPVLqQaXvfE6zygGgCsQcD/r8AHdI3vuoNk0fMr6Ys9EhTr9cjBATRDej3Yq7PMKMylsnaiw==", + "requires": { + "@aws-sdk/abort-controller": "3.36.0", + "@aws-sdk/protocol-http": "3.36.0", + "@aws-sdk/querystring-builder": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/property-provider": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.32.0.tgz", - "integrity": "sha512-RucvDIm2UX45xz0UvypO/KRKR0FmmLgYg3I++Twjl2aA2TGh/xR8AImbhmL6P1u98e9agkSnZVJHBMfMPbqALg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.36.0.tgz", + "integrity": "sha512-/+XvcAClcpaV0ufcC7r7mYq7MWRk9gsSWWw2nlb8O4Yj1r7bQyg3WsR4gCd9bxL8uUJn4xCD5nvVp3pLzgOsRg==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/protocol-http": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.32.0.tgz", - "integrity": "sha512-5ORPDE+LGjSoeeaR/LIVVwJN51AvaHo+lQe9gH1jpS6/0nGXlcHOgAPRSz8+gr5rVFvwUx8GnjNSqxChRnfbAQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.36.0.tgz", + "integrity": "sha512-8uSVHoboZh9oNG4oCf0sVmZDB5HDY0CiWcX22ELqvYpia96gIp/n1AHru7aEbD++uHB3w+VPbHABOXDD6dxqmg==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/querystring-builder": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.32.0.tgz", - "integrity": "sha512-L+C7Nqg/h3gN9TksUrbT1h75+Cdj2tb4OOWcjv4z8Ud88Rc9ZXLEL2cAjKuAKJqWkVHEunm3X2Nm92x3bUNKoQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.36.0.tgz", + "integrity": "sha512-l+ngIoBDKoarU8Pdi2InIKGhzl7/pnAMmAE8HMC9EIFDPwpdyOVd8HQFT8+Ot3nlvHiZC8OzpRTTwS0sXIhLEQ==", "requires": { - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-uri-escape": "3.32.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/querystring-parser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.32.0.tgz", - "integrity": "sha512-iuoVZ469fn0iU4MELLuUDoS9FJeW5UG2rejk6k395QAPSjHQa/6NbBGt0cKUOWloMxli3c8VEprZbnl/QVpujA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.36.0.tgz", + "integrity": "sha512-ZRqJaWnuZLx7c0iTrUr1Se4rEuAlrS3+gzNaraheJasUCVTSXGqHYSGuV8y83/hKnwMra4r9ITd8SzTHuHPTzA==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/service-error-classification": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.32.0.tgz", - "integrity": "sha512-hzshKuW6x9Qe43wF0dtAS1W/NzeZUUXb/FlV+733Jw+MZlZxVaCiYSTGi8azK1coLNZ5JhesmrRbT5JitoOe/w==" + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.36.0.tgz", + "integrity": "sha512-y3m/Gc1kSZBX1Dvg3lnu3TxteW2WqjFGc5Y1XBqjOdmQ5JmE1GZz+s9inGfP6N/5v56qQfhTeVCABh1Anq+jEw==" }, "@aws-sdk/shared-ini-file-loader": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.32.0.tgz", - "integrity": "sha512-d5Djy/mudtIiwk3nRoPm/+7OEwYWgxprLlJN7PB2ehwaolQHOZVEkJtoJ/e5hFEWZ96T7QwsHbEvCrSMNjDRkQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.36.0.tgz", + "integrity": "sha512-4Xb40+nmfT+qjmHfC17bC96bTME01k+axhSX1GkPH6PlrZrR3ICuq59JLn7SJprw8x7/HHa1HmYpCR1tbkXjNw==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/signature-v4": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.33.0.tgz", - "integrity": "sha512-HuB9dvXV+SYwry6DlV8EHHuh7SlK5jSxLThQ4LOtqkNKC14W+8gQxhu7il/0aDJyCELblEQ+DBmrsB74LOmhGA==", - "requires": { - "@aws-sdk/is-array-buffer": "3.32.0", - "@aws-sdk/types": "3.32.0", - "@aws-sdk/util-hex-encoding": "3.32.0", - "@aws-sdk/util-uri-escape": "3.32.0", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.36.0.tgz", + "integrity": "sha512-R17pRSxUYai0rBDAQPMXp/9kC1BewciJlkfP2Lztvp09KqEOqkHTzS3/vHm5W2lStQi+LThAjtG7vADSJIJ9Vg==", + "requires": { + "@aws-sdk/is-array-buffer": "3.36.0", + "@aws-sdk/types": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/signature-v4-crt": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.33.0.tgz", - "integrity": "sha512-lmXMgZsYXDZUHEfoHusl18osvqaheyMFZueMTSdk1CrKEkTBJ/qXJqVFpSDDcEO64nq7X2uYantJX3YdnEgVAg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.36.0.tgz", + "integrity": "sha512-pAM7Sw1VM45yY81F6pvLouK87eczP30dqNTc4aP+hWcR6xlCrYuUsQFODY3dyWBrFTxz04pPAPqt9c/CDaWg9w==", "peer": true, "requires": { - "@aws-sdk/is-array-buffer": "3.32.0", - "@aws-sdk/querystring-parser": "3.32.0", - "@aws-sdk/signature-v4": "3.33.0", - "@aws-sdk/util-hex-encoding": "3.32.0", - "@aws-sdk/util-uri-escape": "3.32.0", + "@aws-sdk/is-array-buffer": "3.36.0", + "@aws-sdk/querystring-parser": "3.36.0", + "@aws-sdk/signature-v4": "3.36.0", + "@aws-sdk/util-hex-encoding": "3.36.0", + "@aws-sdk/util-uri-escape": "3.36.0", "aws-crt": "^1.9.7", "tslib": "^2.3.0" } }, "@aws-sdk/smithy-client": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.32.0.tgz", - "integrity": "sha512-FjGujKpctsI18vJGVvZ9FmqAWffvdmT0o6nL3vD8hWoi4O2x05FGpx5rrAPo+wwhOga6ejuKtj3T9lhjU9c2vw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.36.0.tgz", + "integrity": "sha512-uYX4M7pNj+Vf4JuVOL0p+tAIKNHg2i7GgNyVlcELdaLFMIFfViJ2cMF72KqHA5xssnc9BHX/pR/0LS5PhBCYRg==", "requires": { - "@aws-sdk/middleware-stack": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/middleware-stack": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/types": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.32.0.tgz", - "integrity": "sha512-ZkB+jFk6FZ9wA9wvQTqv6ao2sPSVeMlUF349NecPGLtpy2c/+RPxO10NmJ8yG9jFfmB0OXLnEPrDR7VinxTHNw==" + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.36.0.tgz", + "integrity": "sha512-OeaTDZqo4OfGahgsZF2viOWxSSNColEUf8RbKAWNlke3nkMu3JW8kkft1Qte6jvoQxZ3jOQWi33Z4LUxix/V7A==" }, "@aws-sdk/url-parser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.32.0.tgz", - "integrity": "sha512-K7hvWjFTAqfBhg9nP7zdfGqGY4ioOAqfDXCt+LYtoAkVcdyic+LcUgAB9pwxujN0SZ2hJYaBj93ERA/qJu/FVw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.36.0.tgz", + "integrity": "sha512-3l0iY9lx7dqEEyeKEB5IV92nFSYFAqwnD9cvJ6qmv5bheAgoizykugRMiT5U5DFGh5WYOHAh0Zkedqq87vJZOA==", "requires": { - "@aws-sdk/querystring-parser": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/querystring-parser": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/util-arn-parser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.32.0.tgz", - "integrity": "sha512-w3SbNrxyckvue7PWSG4kIGRhY4c7VQTVS8kfpdSq5uvTAmVA8MOM8O7HQ2gi4h81R+W6uLbJMP5TPjOAR6ejuw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.36.0.tgz", + "integrity": "sha512-C1H1uiJEkXiE7636kjdiK/vBZc1IgRf3dmwqM7slS0JN9xb81tmFFmS0GPSCS5ghkZIbfg6G48bk9MYmymBn4g==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/util-base64-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.32.0.tgz", - "integrity": "sha512-fWheT9FmpKWbSqyk+IpiXFADUXOHhEIBf8ipDK4Rghy6NtlipJFYOeg6ACoafRG+1BV9M2zz3WqS3Xfnck3Muw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.36.0.tgz", + "integrity": "sha512-N8Ej1C5rea8QSoU8Aomh9hpcGA1p/lEw6jIQQJ6yAKOUPk3y/XIhmJLj7nkIbL1LoRmS5seNqlaFilEBDDUxQw==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/util-base64-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.32.0.tgz", - "integrity": "sha512-Fy3rGPUjWVtuiosUhcKtnuhsCLs7upDWWk1D35op2hRgyUXypYdSD1+mdJyQTUFOrw5P2MlbrvBAbQA3TYv0KA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.36.0.tgz", + "integrity": "sha512-Lum6NUvfJuzCikeWjwBBKZR8cveVzwpGM6kCYEtLzFrc41vCf1bdUFwG05v6J0cAyUz9ULjJ/5P/RV27ddqTfQ==", "requires": { - "@aws-sdk/util-buffer-from": "3.32.0", + "@aws-sdk/util-buffer-from": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/util-body-length-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.32.0.tgz", - "integrity": "sha512-9Poj9JXMiyEM3mQdM0SgZGl7hjb8KvPS+HO3+BPoC5aDD5d10KXmC3rIxxV4YHM7wMbZZco7qhoyF9fCnXOiaQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.36.0.tgz", + "integrity": "sha512-6iSpqACjRVaG0J//zfPCcGb4Dy+7a/SQIWPg+dvDt3kV36oUYUpjE5UurlniONL4tntXs28WsiGJkJ8SQ+wefA==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/util-body-length-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.32.0.tgz", - "integrity": "sha512-9o4ZhjkGsLBN2WIYHWEuHk4f/oFa17IIh8Errjhub/17MKd5uX5cPVw/Bs4tNIzdFh/mz+bcbOeEnBQirUpoPg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.36.0.tgz", + "integrity": "sha512-19Qnr3AyInJes3LSlcf21Gw+e872ZeXHz59it91UvHX0bDqteJ7hjKG9g3PwA4z68JDTh+cL0zsUGlXQbaCv8w==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/util-buffer-from": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.32.0.tgz", - "integrity": "sha512-Vt6JQ48jYwnvPMJxv51Eh/DAS2ox/nNETxQjnpMnlKKkXmyxeH1nSQB47rgXkfmw4luvaRdiWCpx5XnU4dMgbQ==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.36.0.tgz", + "integrity": "sha512-5HUsLHUQWOt87HeM6BO42BW1tCsD2UyJPdub7ME/r6NjpUNHsDHQP1j4MrqKFh7RbPUkdIF5s4/0VK5yoHQC4A==", "requires": { - "@aws-sdk/is-array-buffer": "3.32.0", + "@aws-sdk/is-array-buffer": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/util-credentials": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.32.0.tgz", - "integrity": "sha512-iHk7opjLLw8gjJdu2ut4GC+KptsTFVABRg5NNVHE0VDjd2h7kaRFKiAsEgBqD8lqEU+06n+8mOjxKN1reRfnAw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.36.0.tgz", + "integrity": "sha512-5+XZL8ARDZGGhVDoBZNzS2Y6EJLGtsMkJbihZSMrHybljrLcYV0aM+Szqeotic9Zces5G4u5ZrN53IkXlLiY5Q==", "requires": { - "@aws-sdk/shared-ini-file-loader": "3.32.0", + "@aws-sdk/shared-ini-file-loader": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/util-hex-encoding": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.32.0.tgz", - "integrity": "sha512-N8h5Ci74S+cahVJ0P4BWo4N1kSqsIYYzYylc5lNrrLH6oc34tg48yjJK4mKF3B0jkPZ01sb7yAufS89cPmOtgg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.36.0.tgz", + "integrity": "sha512-idqvxxGpitTt2UryXk+oy5dFHNVER1GOzexmNZG2JDtqJRfcJyx+gy+Q/HpQFxty1q3/5jxoYQW3KIpsqx7djw==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/util-locate-window": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.32.0.tgz", - "integrity": "sha512-P5sOlu7AhzxhyUtKj4aYK35MrXFrt64XivwgAUo7h+ZUx6iWUEflpurMqm2dExUYNVnpGaeTKkNX8qdvbnDGZw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.36.0.tgz", + "integrity": "sha512-w5k3siBOGy7bAfZG/p0WIHpedHNb4OQ0wUSDNvd6Kzn4dkqHPTWoA1NrCEuFk9Gwkrr1yNKxgVlo0SCtgznxPw==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/util-uri-escape": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.32.0.tgz", - "integrity": "sha512-iFNCobc5OCVtTcNTFTUGB1ib5p+EOLV2s6KYej66dRUxBdioi4a2X63Exx/jOP7jS6TRTc5pTF6B+Z0uKjMe9w==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.36.0.tgz", + "integrity": "sha512-2JW6lj5OUhoWxMCFpCS/ADXrzuEkjx/djjJuEJ3aFcHUH0uBUJGYtM7Kz5Vot5PcE/KBVe+fsi3wczoFpK+iag==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/util-user-agent-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.32.0.tgz", - "integrity": "sha512-CaDg+lQaZLUwYtMq20FVgK8xz51zNGtolGblpM4ng6pZceH7EKSOgC5/E1VUb7O53vhpVlyVVFM1GD50QFOzcw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.36.0.tgz", + "integrity": "sha512-pCHWQF85Aexrdtgd/hVGp5nHkqVt4+Ypse0J6Q2hs4pmu70HydnDDPRCimTquTsV3ni1M7mJGBMiTn7/qcjqyQ==", "requires": { - "@aws-sdk/types": "3.32.0", + "@aws-sdk/types": "3.36.0", "bowser": "^2.11.0", "tslib": "^2.3.0" } }, "@aws-sdk/util-user-agent-node": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.33.0.tgz", - "integrity": "sha512-2xfZHx3hzlqLdvAO/MFfs8ylAqtnFWwAeFVvBv6+CBWjDHvPJvdq2PWrPnr/j5gCmy6BrBPpbzt8mT3VJpAblA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.36.0.tgz", + "integrity": "sha512-4OXZf2IYNBDkNPvptAQVztjF2Ov9s8vx1kAoHQx9LuKXV8FrhygU9DcMFlFkAXOeUkGDtWvok0n6horQ5/KNJA==", "requires": { - "@aws-sdk/node-config-provider": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/node-config-provider": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/util-utf8-browser": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.32.0.tgz", - "integrity": "sha512-KjyGj1TFmR5siw5960hKaicdtyQJJDXgiXm0CM7PMXKLgrT8C2/PmVrpF2qYDGpGgfXVRgZNHNMv3XNMAw9vlw==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.36.0.tgz", + "integrity": "sha512-xVUtGIemnh2gD+1s6DZzdGNlgVxHXKlR/sT4G1afysifKrbyXMbh2Z3Ez+BgunWXQRbVXFmNQXHKHYuebMDe5w==", "requires": { "tslib": "^2.3.0" } }, "@aws-sdk/util-utf8-node": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.32.0.tgz", - "integrity": "sha512-a+CkvoVe4mCXWau+vyEn++Wjj9LhE3vrbqwt7R0knm/ep0SEnMnwEG0KFVogBK6Zfwf2tqAzT/0JFFZvd3DXTg==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.36.0.tgz", + "integrity": "sha512-Yu0I2QDAzLShC9WVHyzRgPDgbwkDHK2lthtIMpRJ3s5kedUzXxbNqFKekrUihfODJMJGnrgDQp/rUq7hWjGciA==", "requires": { - "@aws-sdk/util-buffer-from": "3.32.0", + "@aws-sdk/util-buffer-from": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/util-waiter": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.32.0.tgz", - "integrity": "sha512-kd8RI2A8JO/55FL2AIzDHEd7b5KThU7+l7798fTUt2/2iWjIGDm8srGFCvlQFoo1zcgqtJCHz21x1gRNF2XvzA==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.36.0.tgz", + "integrity": "sha512-lHBBg6n29yphB3J+UQkZb93FjOFxVSEs1jqtk77lCYp3Ugz0LwiSDHgQePMomwSP3HMR6Iqb3pAlkTivTW45sg==", "requires": { - "@aws-sdk/abort-controller": "3.32.0", - "@aws-sdk/types": "3.32.0", + "@aws-sdk/abort-controller": "3.36.0", + "@aws-sdk/types": "3.36.0", "tslib": "^2.3.0" } }, "@aws-sdk/xml-builder": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.32.0.tgz", - "integrity": "sha512-lZUjxRbtG0MwrSzYvffl4n6/z2nYv0ZGz1tprGvLSNuySGUWYFraLTeX4EO/4P360S5Jj+4NW8DPne5sKL0r6g==", + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.36.0.tgz", + "integrity": "sha512-3YYLKjR/ow7WQB1gJZRO7gWmNPi+fzPE8sPIYVwLCmqP03Z6UnaFIPv373ZW/HQUunRTo/AeSdnyrFAeK3XO7g==", "requires": { "tslib": "^2.3.0" } }, "@babel/code-frame": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.14.5.tgz", - "integrity": "sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.15.8.tgz", + "integrity": "sha512-2IAnmn8zbvC/jKYhq5Ki9I+DwjlrtMPUCH/CpHvqI4dNnlwHwsxoIhlc8WcYY5LSYknXQtAlFYuHfqAFCvQ4Wg==", "requires": { "@babel/highlight": "^7.14.5" } @@ -22185,19 +22465,19 @@ "integrity": "sha512-0NqAC1IJE0S0+lL1SWFMxMkz1pKCNCjI4tr2Zx4LJSXxCLAdr6KyArnY+sno5m3yH9g737ygOyPABDsnXkpxiA==" }, "@babel/core": { - "version": "7.15.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.5.tgz", - "integrity": "sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.15.8.tgz", + "integrity": "sha512-3UG9dsxvYBMYwRv+gS41WKHno4K60/9GPy1CJaH6xy3Elq8CTtvtjT5R5jmNhXfCYLX2mTw+7/aq5ak/gOE0og==", "requires": { - "@babel/code-frame": "^7.14.5", - "@babel/generator": "^7.15.4", + "@babel/code-frame": "^7.15.8", + "@babel/generator": "^7.15.8", "@babel/helper-compilation-targets": "^7.15.4", - "@babel/helper-module-transforms": "^7.15.4", + "@babel/helper-module-transforms": "^7.15.8", "@babel/helpers": "^7.15.4", - "@babel/parser": "^7.15.5", + "@babel/parser": "^7.15.8", "@babel/template": "^7.15.4", "@babel/traverse": "^7.15.4", - "@babel/types": "^7.15.4", + "@babel/types": "^7.15.6", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -22222,11 +22502,11 @@ } }, "@babel/generator": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.4.tgz", - "integrity": "sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.15.8.tgz", + "integrity": "sha512-ECmAKstXbp1cvpTTZciZCgfOt6iN64lR0d+euv3UZisU5awfRawOvg07Utn/qBGuH4bRIEZKrA/4LzZyXhZr8g==", "requires": { - "@babel/types": "^7.15.4", + "@babel/types": "^7.15.6", "jsesc": "^2.5.1", "source-map": "^0.5.0" } @@ -22368,9 +22648,9 @@ } }, "@babel/helper-module-transforms": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.7.tgz", - "integrity": "sha512-ZNqjjQG/AuFfekFTY+7nY4RgBSklgTu970c7Rj3m/JOhIu5KPBUuTA9AY6zaKcUvk4g6EbDXdBnhi35FAssdSw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.15.8.tgz", + "integrity": "sha512-DfAfA6PfpG8t4S6npwzLvTUpp0sS7JrcuaMiy1Y5645laRJIp/LiLGIBbQKaXSInK8tiGNI7FL7L8UvB8gdUZg==", "requires": { "@babel/helper-module-imports": "^7.15.4", "@babel/helper-replace-supers": "^7.15.4", @@ -22531,9 +22811,9 @@ } }, "@babel/parser": { - "version": "7.15.7", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.7.tgz", - "integrity": "sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g==" + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.15.8.tgz", + "integrity": "sha512-BRYa3wcQnjS/nqI8Ac94pYYpJfojHVvVXJ97+IDCImX4Jc8W8Xv1+47enbruk+q1etOpsQNwnfFcNGw+gtPGxA==" }, "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { "version": "7.15.4", @@ -22547,9 +22827,9 @@ } }, "@babel/plugin-proposal-async-generator-functions": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.4.tgz", - "integrity": "sha512-2zt2g5vTXpMC3OmK6uyjvdXptbhBXfA77XGrd3gh93zwG8lZYBLOBImiGBEG0RANu3JqKEACCz5CGk73OJROBw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.15.8.tgz", + "integrity": "sha512-2Z5F2R2ibINTc63mY7FLqGfEbmofrHU9FitJW1Q7aPaKFhiPvSq6QEt/BoWN5oME3GVyjcRuNNSRbb9LC0CSWA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", @@ -23153,13 +23433,13 @@ } }, "@babel/plugin-transform-spread": { - "version": "7.14.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.6.tgz", - "integrity": "sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.15.8.tgz", + "integrity": "sha512-/daZ8s2tNaRekl9YJa9X4bzjpeRZLt122cpgFnQPLGUe61PH8zMEBmYqKkW5xF5JUEh5buEGXJoQpqBmIbpmEQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers": "^7.15.4" } }, "@babel/plugin-transform-sticky-regex": { @@ -23209,9 +23489,9 @@ } }, "@babel/preset-env": { - "version": "7.15.6", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.6.tgz", - "integrity": "sha512-L+6jcGn7EWu7zqaO2uoTDjjMBW+88FXzV8KvrBl2z6MtRNxlsmUNRlZPaNNPUTgqhyC5DHNFk/2Jmra+ublZWw==", + "version": "7.15.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.15.8.tgz", + "integrity": "sha512-rCC0wH8husJgY4FPbHsiYyiLxSY8oMDJH7Rl6RQMknbN9oDDHhM9RDFvnGM2MgkbUJzSQB4gtuwygY5mCqGSsA==", "dev": true, "requires": { "@babel/compat-data": "^7.15.0", @@ -23219,7 +23499,7 @@ "@babel/helper-plugin-utils": "^7.14.5", "@babel/helper-validator-option": "^7.14.5", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.15.4", - "@babel/plugin-proposal-async-generator-functions": "^7.15.4", + "@babel/plugin-proposal-async-generator-functions": "^7.15.8", "@babel/plugin-proposal-class-properties": "^7.14.5", "@babel/plugin-proposal-class-static-block": "^7.15.4", "@babel/plugin-proposal-dynamic-import": "^7.14.5", @@ -23274,7 +23554,7 @@ "@babel/plugin-transform-regenerator": "^7.14.5", "@babel/plugin-transform-reserved-words": "^7.14.5", "@babel/plugin-transform-shorthand-properties": "^7.14.5", - "@babel/plugin-transform-spread": "^7.14.6", + "@babel/plugin-transform-spread": "^7.15.8", "@babel/plugin-transform-sticky-regex": "^7.14.5", "@babel/plugin-transform-template-literals": "^7.14.5", "@babel/plugin-transform-typeof-symbol": "^7.14.5", @@ -23283,7 +23563,7 @@ "@babel/preset-modules": "^0.1.4", "@babel/types": "^7.15.6", "babel-plugin-polyfill-corejs2": "^0.2.2", - "babel-plugin-polyfill-corejs3": "^0.2.2", + "babel-plugin-polyfill-corejs3": "^0.2.5", "babel-plugin-polyfill-regenerator": "^0.2.2", "core-js-compat": "^3.16.0", "semver": "^6.3.0" @@ -23387,9 +23667,9 @@ "dev": true }, "@eslint/eslintrc": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.2.2.tgz", - "integrity": "sha512-EfB5OHNYp1F4px/LI/FEnGylop7nOqkQ1LRzCM0KccA2U8tvV8w01KBv37LbO7nW4H+YhKyo2LcJhRwjjV17QQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", "dev": true, "requires": { "ajv": "^6.12.4", @@ -23399,7 +23679,7 @@ "ignore": "^4.0.6", "import-fresh": "^3.2.1", "js-yaml": "^3.13.1", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "strip-json-comments": "^3.1.1" } @@ -23422,14 +23702,14 @@ } }, "@hapi/hoek": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.0.tgz", - "integrity": "sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug==" + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", + "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" }, "@ipld/car": { - "version": "3.1.16", - "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.1.16.tgz", - "integrity": "sha512-LvIXl7BYmy8em1PFB1l2Iu3/bFHYHy3h3x7HcDi9veoGSYi70dAIthJsXgkoYoGfRSLONR1FDjaoFjbbXk87Qw==", + "version": "3.1.18", + "resolved": "https://registry.npmjs.org/@ipld/car/-/car-3.1.18.tgz", + "integrity": "sha512-THOv4aYVojfcFNnhMvS1acRTMGIshnBeoLqms1a+jjKx6Z+3CM/y8BhJeLq4jNBKijxHApus7+ikHkC5UbfEHA==", "requires": { "@ipld/dag-cbor": "^6.0.0", "@types/varint": "^6.0.0", @@ -23438,18 +23718,18 @@ } }, "@ipld/dag-cbor": { - "version": "6.0.10", - "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.10.tgz", - "integrity": "sha512-dGinQkyDKQ5vkgX8JxbXBX2fl2GB+cn6u6a6cm/pTub1WeB/PMoDJ9pU7VSBvHUtGO+ZoueeQ06TgEnO+t9esg==", + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-cbor/-/dag-cbor-6.0.11.tgz", + "integrity": "sha512-W9hpFAFS7+n0orqlq7w06ADeORealpTJ92jQZBZDywYMjOlcVfVKKKkVgCq/pUbwlSRqip+9kgzEvdfd5N3zcQ==", "requires": { "cborg": "^1.2.1", "multiformats": "^9.0.0" } }, "@ipld/dag-json": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.0.tgz", - "integrity": "sha512-LOzxRV+EaU5+KBeQuNrsITqYyOZQxYmlo7dIjuRYPFHt52nqhPdKpzf2WdQOgNK1LE3mo2F0Xa5nWMYcZcfypg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@ipld/dag-json/-/dag-json-8.0.1.tgz", + "integrity": "sha512-+vl+mCeHWOih269/+E2oQ3vWnDSt9K5PKvnwrmwzgFJw3u/UHwbi4RwdYpvLupvDIkKNnGGURQYdxh35DlHsSw==", "dev": true, "requires": { "cborg": "^1.4.0", @@ -23457,9 +23737,9 @@ } }, "@ipld/dag-pb": { - "version": "2.1.9", - "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.9.tgz", - "integrity": "sha512-6p8vgm3jMB7IKO4CAdZV/rbhBo/YvNLmiEot1vjtJalmASM+9DLbFIzHV0CAHkwlSsv3/UTsV7UzfDb6dGTHLQ==", + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/@ipld/dag-pb/-/dag-pb-2.1.11.tgz", + "integrity": "sha512-M4PMBlKErEffK/APnmQ/78M+YouQ7L5w2Llpl9U6MgDXtfPisD5zQHxxDE8yYW1Ume45+suB1tBPF0uSdNQQEg==", "requires": { "multiformats": "^9.0.0" } @@ -23556,9 +23836,9 @@ } }, "@magic-sdk/admin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@magic-sdk/admin/-/admin-1.3.0.tgz", - "integrity": "sha512-PcDP+8i82p7e+oSohqE5dPoRyymEsoOcXaAKxK7S13TypVf1lxf4MCpBBQI7Q+nFwNa4zTRcaE6QaDdvruBDKA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@magic-sdk/admin/-/admin-1.3.1.tgz", + "integrity": "sha512-g1B8MHSBpJoDfFL/y7gd1YtgrwYbS7m7iRijOgiXrkMnIoid0bHgUsRS9LQKy6mImH/JleJSZcaofm2mIvs6tQ==", "requires": { "eth-sig-util": "2.1.2", "ethereumjs-util": "^6.2.0", @@ -23593,9 +23873,9 @@ "integrity": "sha512-CvVUPTF9tSLNFA4JhcAFjheiqWyVp9r9ooy/AheK+0rWRZCxE5QCwc81d2FduDTqzEJZeUV9+9F9R0AplhnX7w==" }, "@multiformats/murmur3": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-1.0.3.tgz", - "integrity": "sha512-pd56A/Bxu4FnZ55kQ1izk3XQgBZXdn4tQq/kvNxR0vtEJNbW7NJTnYDhnRJSH94OxycsOMDoKh6flS2VkFVTYg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@multiformats/murmur3/-/murmur3-1.0.4.tgz", + "integrity": "sha512-skwYQeIVDxUhqJngCjzC9ZV3cSYkrHsyq2T4DDiMR2QAPkyv6JsKMCXj7FEhrgDqx5fB4Bkxv6+VLVNlDBbzJQ==", "requires": { "multiformats": "^9.4.1", "murmurhash3js-revisited": "^3.0.0" @@ -23867,9 +24147,9 @@ } }, "@sentry/cli": { - "version": "1.68.0", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.68.0.tgz", - "integrity": "sha512-zc7+cxKDqpHLREGJKRH6KwE8fZW8bnczg3OLibJ0czleXoWPdAuOK1Xm1BTMcOnaXfg3VKAh0rI7S1PTdj+SrQ==", + "version": "1.69.1", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-1.69.1.tgz", + "integrity": "sha512-HxO7vjqSvWfc9L5A/ib3UB1mXKFNiORY9BXwtYTo38jv4ROrKDFz36IzHsD6nPFuv8+6iDVyNlEujK/n9NvRyw==", "dev": true, "requires": { "https-proxy-agent": "^5.0.0", @@ -23964,9 +24244,9 @@ } }, "@sentry/webpack-plugin": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.17.1.tgz", - "integrity": "sha512-L47a0hxano4a+9jbvQSBzHCT1Ph8fYAvGGUvFg8qc69yXS9si5lXRNIH/pavN6mqJjhQjAcEsEp+vxgvT4xZDQ==", + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/@sentry/webpack-plugin/-/webpack-plugin-1.18.1.tgz", + "integrity": "sha512-maEnHC0nxRnVgAz0qvKvhTGy+SxneR8MFjpgNMvh9CyAB6GEM9VQI1hzxTcAd7Qk90qGW8W4eUmB+ZX8nMrM1w==", "dev": true, "requires": { "@sentry/cli": "^1.68.0" @@ -24024,6 +24304,14 @@ "integrity": "sha512-X1Iui3FUNZP18EUvysTHxt+Avu2nlVzyf90YM8OYgP6SGzTzzX/0JgObfO1AQQDzuZtNNz29bVh8h5R97JrjxA==", "dev": true }, + "@supabase/postgrest-js": { + "version": "0.34.0", + "resolved": "https://registry.npmjs.org/@supabase/postgrest-js/-/postgrest-js-0.34.0.tgz", + "integrity": "sha512-5n0fljeojwNvRrvwCoZPcSYDADr3fEJtvpLW7T3f+g+Mxgg8C8gHmuXfhYg0vzC7Jm/ldEWoZY98bN/ZAQs4cA==", + "requires": { + "cross-fetch": "^3.0.6" + } + }, "@svgr/babel-plugin-add-jsx-attribute": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-5.4.0.tgz", @@ -24173,9 +24461,9 @@ "dev": true }, "@types/eslint": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.0.tgz", - "integrity": "sha512-07XlgzX0YJUn4iG1ocY4IX9DzKSmMGUs6ESKlxWhZRaa0fatIWaHWUVapcuGa8r5HFnTqzj+4OCjd5f7EZ/i/A==", + "version": "7.28.1", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.1.tgz", + "integrity": "sha512-XhZKznR3i/W5dXqUhgU9fFdJekufbeBd5DALmkuXoeFcjbQcPk+2cL+WLHf6Q81HWAnM2vrslIHpGVyCAviRwg==", "devOptional": true, "requires": { "@types/estree": "*", @@ -24254,9 +24542,9 @@ "dev": true }, "@types/node": { - "version": "16.9.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.9.6.tgz", - "integrity": "sha512-YHUZhBOMTM3mjFkXVcK+WwAcYmyhe1wL4lfqNtzI0b3qAy7yuSetnM7QJazgE5PFmgVTNGiLOgRFfJMqW7XpSQ==" + "version": "16.10.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.10.9.tgz", + "integrity": "sha512-H9ReOt+yqIJPCutkTYjFjlyK6WEMQYT9hLZMlWtOjFQY2ItppsWZ6RJf8Aw+jz5qTYceuHvFgPIaKOHtLAEWBw==" }, "@types/normalize-package-data": { "version": "2.4.1", @@ -24294,9 +24582,9 @@ "dev": true }, "@types/react": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.24.tgz", - "integrity": "sha512-eIpyco99gTH+FTI3J7Oi/OH8MZoFMJuztNRimDOJwH4iGIsKV2qkGnk4M9VzlaVWeEEWLWSQRy0FEA0Kz218cg==", + "version": "17.0.29", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.29.tgz", + "integrity": "sha512-HSenIfBEBZ70BLrrVhtEtHpqaP79waauPtA8XKlczTxL3hXrW/ElGNLTpD1TmqkykgGlOAK55+D3SmUHEirpFw==", "requires": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -24458,7 +24746,7 @@ "assert": "^2.0.0", "buffer": "^6.0.3", "dotenv": "^10.0.0", - "git-revision-webpack-plugin": "*", + "git-revision-webpack-plugin": "^5.0.0", "ipfs-car": "^0.5.8", "ipfs-unixfs-importer": "^9.0.4", "itty-router": "^2.3.10", @@ -24470,11 +24758,21 @@ "remove-files-webpack-plugin": "^1.4.5", "smoke": "^3.1.1", "stream-browserify": "^3.0.0", - "terser-webpack-plugin": "*", + "terser-webpack-plugin": "^5.2.4", "toucan-js": "^2.4.1", "uint8arrays": "^3.0.0", "webpack": "^5.42.0", "webpack-cli": "^4.7.2" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + } } }, "@web3-storage/cron": { @@ -24501,10 +24799,19 @@ "@web3-storage/db": { "version": "file:packages/db", "requires": { + "@supabase/postgrest-js": "^0.34.0", "@web-std/fetch": "^2.0.1", + "assert": "^2.0.0", + "delay": "^5.0.0", "dotenv": "^10.0.0", + "execa": "^5.1.1", "faunadb": "^4.3.0", "graphql-request": "^3.4.0", + "openapi-typescript": "^4.0.2", + "p-retry": "^4.6.1", + "pg": "^8.7.1", + "playwright-test": "^7.0.1", + "sade": "^1.7.4", "standard": "^16.0.3" } }, @@ -24623,6 +24930,9 @@ "crypto-js": "^3.3.0" } }, + "@magic-sdk/types": { + "version": "1.6.0" + }, "astral-regex": { "version": "2.0.0", "dev": true @@ -24692,6 +25002,10 @@ "eslint-plugin-react-hooks": "^4.2.0" } }, + "eslint-plugin-promise": { + "version": "4.3.1", + "dev": true + }, "eslint-plugin-react": { "version": "7.24.0", "dev": true, @@ -24963,25 +25277,25 @@ } }, "@webpack-cli/configtest": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.0.4.tgz", - "integrity": "sha512-cs3XLy+UcxiP6bj0A6u7MLLuwdXJ1c3Dtc0RkKg+wiI1g/Ti1om8+/2hc2A2B60NbBNAbMgyBMHvyymWm/j4wQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", "dev": true, "requires": {} }, "@webpack-cli/info": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.3.0.tgz", - "integrity": "sha512-ASiVB3t9LOKHs5DyVUcxpraBXDOKubYu/ihHhU+t1UPpxsivg6Od2E2qU4gJCekfEddzRBzHhzA/Acyw/mlK/w==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", "dev": true, "requires": { "envinfo": "^7.7.3" } }, "@webpack-cli/serve": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.5.2.tgz", - "integrity": "sha512-vgJ5OLWadI8aKjDlOH3rb+dYyPd2GTZuQC/Tihjct6F9GpXGZINo3Y/IVuZVTM1eDQB+/AOsjPUWH/WySDaXvw==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", "dev": true, "requires": {} }, @@ -25122,12 +25436,12 @@ "peer": true }, "ansi-align": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.0.tgz", - "integrity": "sha512-ZpClVKqXN3RGBmKibdfWzqCY4lnjEuoNzU5T0oEFpfd/z5qJHVarukridD4juLO2FXMiwUQxr9WqQtaYa8XRYw==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", "dev": true, "requires": { - "string-width": "^3.0.0" + "string-width": "^4.1.0" } }, "ansi-colors": { @@ -25203,6 +25517,12 @@ "readable-stream": "^2.0.6" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -25254,16 +25574,16 @@ "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" }, "array-includes": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.3.tgz", - "integrity": "sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", - "is-string": "^1.0.5" + "is-string": "^1.0.7" } }, "array-union": { @@ -25279,26 +25599,25 @@ "dev": true }, "array.prototype.flat": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", - "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", "dev": true, "requires": { - "call-bind": "^1.0.0", + "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" + "es-abstract": "^1.19.0" } }, "array.prototype.flatmap": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz", - "integrity": "sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", + "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", "dev": true, "requires": { "call-bind": "^1.0.0", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1", - "function-bind": "^1.1.1" + "es-abstract": "^1.19.0" } }, "arrify": { @@ -25349,9 +25668,9 @@ "integrity": "sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA==" }, "astral-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true }, "async-limiter": { @@ -25382,15 +25701,15 @@ "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==" }, "autoprefixer": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.5.tgz", - "integrity": "sha512-2H5kQSsyoOMdIehTzIt/sC9ZDIgWqlkG/dbevm9B9xQZ1TDPBHpNUDW5ENqqQQzuaBWEo75JkV0LJe+o5Lnr5g==", + "version": "10.3.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.3.7.tgz", + "integrity": "sha512-EmGpu0nnQVmMhX8ROoJ7Mx8mKYPlcUHuxkwrRYEYMz85lu7H09v8w6R1P0JPdn/hKU32GjpLBFEOuIlDWCRWvg==", "requires": { - "browserslist": "^4.17.1", - "caniuse-lite": "^1.0.30001259", + "browserslist": "^4.17.3", + "caniuse-lite": "^1.0.30001264", "fraction.js": "^4.1.1", - "nanocolors": "^0.1.5", "normalize-range": "^0.1.2", + "picocolors": "^0.2.1", "postcss-value-parser": "^4.1.0" } }, @@ -25400,9 +25719,9 @@ "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==" }, "aws-crt": { - "version": "1.9.8", - "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.9.8.tgz", - "integrity": "sha512-eqWx2Fbi1APOporfjhjAyFTvhq+qttgrYuC0ZFx97eTlplVaoQhU7HWpnnVbl4hW4JMMZHyDhP00iEdq9NSs3g==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws-crt/-/aws-crt-1.10.1.tgz", + "integrity": "sha512-YD2yQbiAm7K/xHmjkgvML0o1NlCT5haW9oTcR6bZro4vriNm1BUVRmBIAU4pqQgYjkLZpM5JgSLDNTiVwu5fGQ==", "peer": true, "requires": { "axios": "^0.21.4", @@ -25547,9 +25866,9 @@ } }, "big-integer": { - "version": "1.6.49", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.49.tgz", - "integrity": "sha512-KJ7VhqH+f/BOt9a3yMwJNmcZjG53ijWMTjSAGMveQWyLwqIiwkjNP5PFgDob3Snnx86SjDj6I89fIbv0dkQeNw==" + "version": "1.6.50", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.50.tgz", + "integrity": "sha512-+O2uoQWFRo8ysZNo/rjtri2jIwjr3XfeAgRjAUADRqGG+ZITvyn8J1kvXLTaKVr3hhGXk+f23tKfdzmklVM9vQ==" }, "big.js": { "version": "5.2.2", @@ -25579,6 +25898,17 @@ "buffer": "^6.0.3", "inherits": "^2.0.4", "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + } } }, "blakejs": { @@ -25587,11 +25917,11 @@ "integrity": "sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg==" }, "blob-to-it": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.3.tgz", - "integrity": "sha512-3bCrqSWG2qWwoIeF6DUJeuW/1isjx7DUhqZn9GpWlK8SVeqcjP+zw4yujdV0bVaqtggk6CUgtu87jfwHi5g7Zg==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/blob-to-it/-/blob-to-it-1.0.4.tgz", + "integrity": "sha512-iCmk0W4NdbrWgRRuxOriU8aM5ijeVLI61Zulsmg/lUHNr7pYjoj+U77opLefNagevtrrbMt3JQ5Qip7ar178kA==", "requires": { - "browser-readablestream-to-it": "^1.0.2" + "browser-readablestream-to-it": "^1.0.3" } }, "bluebird": { @@ -25664,29 +25994,6 @@ "wrap-ansi": "^7.0.0" }, "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, "type-fest": { "version": "0.20.2", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", @@ -25725,16 +26032,6 @@ "oblivious-set": "1.0.0", "rimraf": "3.0.2", "unload": "2.2.0" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - } } }, "brorand": { @@ -25753,9 +26050,9 @@ } }, "browser-readablestream-to-it": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.2.tgz", - "integrity": "sha512-lv4M2Z6RKJpyJijJzBQL5MNssS7i8yedl+QkhnLCyPtgNGNSXv1KthzUnye9NlRAtBAI80X6S9i+vK09Rzjcvg==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/browser-readablestream-to-it/-/browser-readablestream-to-it-1.0.3.tgz", + "integrity": "sha512-+12sHB+Br8HIh6VAMVEG5r3UXCyESIgDW7kzk3BjIXa43DVqVwL7GC5TW3jeh+72dtcH99pPVpw0X8i0jt+/kw==" }, "browser-stdout": { "version": "1.3.1", @@ -25845,15 +26142,22 @@ } }, "browserslist": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.1.tgz", - "integrity": "sha512-aLD0ZMDSnF4lUt4ZDNgqi5BUn9BZ7YdQdI/cYlILrhdSSZJLU9aNZoD5/NBmM4SK34APB2e83MOsRt1EnkuyaQ==", + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.4.tgz", + "integrity": "sha512-Zg7RpbZpIJRW3am9Lyckue7PLytvVxxhJj1CaJVlCWENsGEAOlnlt8X0ZxGRPp7Bt9o8tIRM5SEXy4BCPMJjLQ==", "requires": { - "caniuse-lite": "^1.0.30001259", - "electron-to-chromium": "^1.3.846", + "caniuse-lite": "^1.0.30001265", + "electron-to-chromium": "^1.3.867", "escalade": "^3.1.1", - "nanocolors": "^0.1.5", - "node-releases": "^1.1.76" + "node-releases": "^2.0.0", + "picocolors": "^1.0.0" + }, + "dependencies": { + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + } } }, "bs58": { @@ -25881,12 +26185,12 @@ "dev": true }, "buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "requires": { "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "ieee754": "^1.1.13" } }, "buffer-crc32": { @@ -25912,6 +26216,12 @@ "integrity": "sha1-mXjOMXOIxkmth5MCjDR37wRKi1E=", "peer": true }, + "buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", + "dev": true + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -25974,16 +26284,6 @@ "resolve-from": "^3.0.0" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "resolve-from": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", @@ -26034,16 +26334,16 @@ "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" }, "c8": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/c8/-/c8-7.9.0.tgz", - "integrity": "sha512-aQ7dC8gASnKdBwHUuYuzsdKCEDrKnWr7ZuZUnf4CNAL81oyKloKrs7H7zYvcrmCtIrMToudBSUhq2q+LLBMvgg==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/c8/-/c8-7.10.0.tgz", + "integrity": "sha512-OAwfC5+emvA6R7pkYFVBTOtI5ruf9DahffGmIqUc9l6wEh0h7iAFP6dt/V9Ioqlr2zW5avX9U9/w1I4alTRHkA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", "@istanbuljs/schema": "^0.1.2", "find-up": "^5.0.0", "foreground-child": "^2.0.0", - "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-coverage": "^3.0.1", "istanbul-lib-report": "^3.0.0", "istanbul-reports": "^3.0.2", "rimraf": "^3.0.0", @@ -26064,12 +26364,6 @@ "wrap-ansi": "^7.0.0" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -26080,12 +26374,6 @@ "path-exists": "^4.0.0" } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, "locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -26119,26 +26407,6 @@ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, "y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", @@ -26226,9 +26494,9 @@ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==" }, "camelcase-keys": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.0.tgz", - "integrity": "sha512-qlQlECgDl5Ev+gkvONaiD4X4TF2gyZKuLBvzx0zLo2UwAxmz3hJP/841aaMHTeH1T7v5HRwoRq91daulXoYWvg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.1.tgz", + "integrity": "sha512-P331lEls98pW8JLyodNWfzuz91BEDVA4VpW2/SwXnyv2K495tq1N777xzDbFgnEigfA7UIY0xa6PwR/H9jijjA==", "dev": true, "requires": { "camelcase": "^6.2.0", @@ -26246,12 +26514,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001260", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001260.tgz", - "integrity": "sha512-Fhjc/k8725ItmrvW5QomzxLeojewxvqiYCKeFcfFEhut28IVLdpHU19dneOmltZQIE5HNbawj1HYD+1f2bM1Dg==", - "requires": { - "nanocolors": "^0.1.0" - } + "version": "1.0.30001267", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001267.tgz", + "integrity": "sha512-r1mjTzAuJ9W8cPBGbbus8E0SKcUP7gn03R14Wk8FlAlqhH9hroy9nLqmpuXlfKEw/oILW+FGz47ipXV2O7x8lg==" }, "carbites": { "version": "1.0.6", @@ -26271,9 +26536,9 @@ "peer": true }, "cborg": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.5.0.tgz", - "integrity": "sha512-3t1+s45x5LiACi39HDiSubPZiKXU2rCreu0oi5A1nccQNDHnprCh9ZQKN1Za3eookOmL03e9oKEZ+LJs0iTE8A==" + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/cborg/-/cborg-1.5.1.tgz", + "integrity": "sha512-GKCylZR7os3Q9X+U3DiARfeFKQUdcZMAP8EKFSE91YbhJsxV71Z6PMOT2osVWprb+iWf6viyqD7peEkK0QCAAw==" }, "chainsaw": { "version": "0.1.0", @@ -26376,9 +26641,9 @@ } }, "cli-spinners": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.0.tgz", - "integrity": "sha512-t+4/y50K/+4xcCRosKkA7W4gTr1MySvLV0q+PxmG7FJ5g+66ChKurYjxBCjHggHH3HA5Hh9cy+lcUGWDqVH+4Q==" + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" }, "cli-table": { "version": "0.3.6", @@ -26539,6 +26804,12 @@ "lodash.padstart": "^4.1.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, "minipass": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", @@ -26747,9 +27018,10 @@ } }, "colorette": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", - "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true }, "colors": { "version": "1.0.3", @@ -26834,10 +27106,56 @@ "uri-js": "^4.2.2" } }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, "json-schema-traverse": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + }, + "pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "requires": { + "find-up": "^3.0.0" + } } } }, @@ -26857,12 +27175,6 @@ "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" }, - "contains-path": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", - "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", - "dev": true - }, "content-disposition": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", @@ -26917,18 +27229,18 @@ } }, "core-js": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.0.tgz", - "integrity": "sha512-WJeQqq6jOYgVgg4NrXKL0KLQhi0CT4ZOCvFL+3CQ5o7I6J8HkT5wd53EadMfqTDp1so/MT1J+w2ujhWcCJtN7w==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.18.3.tgz", + "integrity": "sha512-tReEhtMReZaPFVw7dajMx0vlsz3oOb8ajgPoHVYGxr8ErnZ6PcYEvvmjGmXlfpnxpkYSdOQttjB+MvVbCGfvLw==", "dev": true }, "core-js-compat": { - "version": "3.18.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.0.tgz", - "integrity": "sha512-tRVjOJu4PxdXjRMEgbP7lqWy1TWJu9a01oBkn8d+dNrhgmBwdTkzhHZpVJnEmhISLdoJI1lX08rcBcHi3TZIWg==", + "version": "3.18.3", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.18.3.tgz", + "integrity": "sha512-4zP6/y0a2RTHN5bRGT7PTq9lVt3WzvffTNjqnTKsXhkAYNDTkdCLOIfAdOLcQ/7TDdyRj3c+NeHe1NmF1eDScw==", "dev": true, "requires": { - "browserslist": "^4.17.0", + "browserslist": "^4.17.3", "semver": "7.0.0" }, "dependencies": { @@ -27247,9 +27559,9 @@ } }, "decamelize": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.0.tgz", - "integrity": "sha512-U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", "dev": true }, "decamelize-keys": { @@ -27303,14 +27615,6 @@ "which-boxed-primitive": "^1.0.1", "which-collection": "^1.0.1", "which-typed-array": "^1.1.2" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } } }, "deep-extend": { @@ -27382,17 +27686,6 @@ "p-map": "^4.0.0", "rimraf": "^3.0.2", "slash": "^3.0.0" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } } }, "del-cli": { @@ -27405,6 +27698,12 @@ "meow": "^10.1.0" } }, + "delay": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/delay/-/delay-5.0.0.tgz", + "integrity": "sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==", + "dev": true + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -27646,6 +27945,12 @@ "readable-stream": "^2.0.2" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -27714,9 +28019,9 @@ } }, "electron-to-chromium": { - "version": "1.3.849", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.849.tgz", - "integrity": "sha512-RweyW60HPOqIcxoKTGr38Yvtf2aliSUqX8dB3e9geJ0Bno0YLjcOX5F7/DPVloBkJWaPZ7xOM1A0Yme2T1A34w==" + "version": "1.3.867", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.867.tgz", + "integrity": "sha512-WbTXOv7hsLhjJyl7jBfDkioaY++iVVZomZ4dU6TMe/SzucV6mUAs2VZn/AehBwuZMiNEQDaPuTGn22YK5o+aDw==" }, "elliptic": { "version": "6.5.4", @@ -27733,9 +28038,9 @@ } }, "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, "emojis-list": { @@ -27832,9 +28137,9 @@ } }, "es-abstract": { - "version": "1.18.6", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.6.tgz", - "integrity": "sha512-kAeIT4cku5eNLNuUKhlmtuk1/TRZvQoYccn6TO0cSVdf1kzB0T7+dYuVK9MWM7l+/53W2Q8M7N2c6MQvhXFcUQ==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", "requires": { "call-bind": "^1.0.2", "es-to-primitive": "^1.2.1", @@ -27847,7 +28152,9 @@ "is-callable": "^1.2.4", "is-negative-zero": "^2.0.1", "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", "is-string": "^1.0.7", + "is-weakref": "^1.0.1", "object-inspect": "^1.11.0", "object-keys": "^1.1.1", "object.assign": "^4.1.2", @@ -27870,20 +28177,12 @@ "is-set": "^2.0.2", "is-string": "^1.0.5", "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - } } }, "es-module-lexer": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.7.1.tgz", - "integrity": "sha512-MgtWFl5No+4S3TmhDmCz2ObFGm6lEpTnzbQi+Dd+pw4mlTIZTmM2iAs5gRlmx5zS9luzobCSBSI90JM/1/JgOw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", "devOptional": true }, "es-to-primitive": { @@ -27935,13 +28234,13 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "7.13.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.13.0.tgz", - "integrity": "sha512-uCORMuOO8tUzJmsdRtrvcGq5qposf7Rw0LwkTJkoDbOycVQtQjmnhZSuLQnozLE4TmAzlMVV45eCHmQ1OpDKUQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz", + "integrity": "sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ==", "dev": true, "requires": { "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.1", + "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -27951,10 +28250,10 @@ "eslint-scope": "^5.1.1", "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.0", + "espree": "^7.3.1", "esquery": "^1.2.0", "esutils": "^2.0.2", - "file-entry-cache": "^5.0.1", + "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", "glob-parent": "^5.0.0", "globals": "^12.1.0", @@ -27965,7 +28264,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -27974,7 +28273,7 @@ "semver": "^7.2.1", "strip-ansi": "^6.0.0", "strip-json-comments": "^3.1.0", - "table": "^5.2.3", + "table": "^6.0.4", "text-table": "^0.2.0", "v8-compile-cache": "^2.0.3" } @@ -27987,9 +28286,9 @@ "requires": {} }, "eslint-config-standard": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.2.tgz", - "integrity": "sha512-fx3f1rJDsl9bY7qzyX8SAtP8GBSk6MfXFaTfaGgk12aAYW4gJSyRm7dM790L6cbXv63fvjY4XeSzXnb4WM+SKw==", + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz", + "integrity": "sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg==", "dev": true, "requires": {} }, @@ -28022,12 +28321,13 @@ } }, "eslint-module-utils": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.2.tgz", - "integrity": "sha512-QG8pcgThYOuqxupd06oYTZoNOGaUdTY1PqK+oS6ElF6vs4pBdk/aYxFVQQXzcrAqp9m7cl7lb2ubazX+g16k2Q==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz", + "integrity": "sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ==", "dev": true, "requires": { "debug": "^3.2.7", + "find-up": "^2.1.0", "pkg-dir": "^2.0.0" }, "dependencies": { @@ -28053,24 +28353,26 @@ } }, "eslint-plugin-import": { - "version": "2.22.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", - "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "version": "2.24.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.24.2.tgz", + "integrity": "sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "array.prototype.flat": "^1.2.3", - "contains-path": "^0.1.0", + "array-includes": "^3.1.3", + "array.prototype.flat": "^1.2.4", "debug": "^2.6.9", - "doctrine": "1.5.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-module-utils": "^2.6.0", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.6.2", + "find-up": "^2.0.0", "has": "^1.0.3", + "is-core-module": "^2.6.0", "minimatch": "^3.0.4", - "object.values": "^1.1.1", - "read-pkg-up": "^2.0.0", - "resolve": "^1.17.0", - "tsconfig-paths": "^3.9.0" + "object.values": "^1.1.4", + "pkg-up": "^2.0.0", + "read-pkg-up": "^3.0.0", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.11.0" }, "dependencies": { "debug": { @@ -28083,13 +28385,12 @@ } }, "doctrine": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", - "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dev": true, "requires": { - "esutils": "^2.0.2", - "isarray": "^1.0.0" + "esutils": "^2.0.2" } }, "ms": { @@ -28129,28 +28430,31 @@ } }, "eslint-plugin-promise": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", - "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", - "dev": true + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-5.1.0.tgz", + "integrity": "sha512-NGmI6BH5L12pl7ScQHbg7tvtk4wPxxj8yPHH47NvSmMtFneC077PSeY3huFj06ZWZvtbfxSPt3RuOQD5XcR4ng==", + "dev": true, + "requires": {} }, "eslint-plugin-react": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.21.5.tgz", - "integrity": "sha512-8MaEggC2et0wSF6bUeywF7qQ46ER81irOdWS4QWxnnlAEsnzeBevk1sWh7fhpCghPpXb+8Ks7hvaft6L/xsR6g==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.25.3.tgz", + "integrity": "sha512-ZMbFvZ1WAYSZKY662MBVEWR45VaBT6KSJCiupjrNlcdakB90juaZeDCbJq19e73JZQubqFtgETohwgAt8u5P6w==", "dev": true, "requires": { - "array-includes": "^3.1.1", - "array.prototype.flatmap": "^1.2.3", + "array-includes": "^3.1.3", + "array.prototype.flatmap": "^1.2.4", "doctrine": "^2.1.0", - "has": "^1.0.3", + "estraverse": "^5.2.0", "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "object.entries": "^1.1.2", - "object.fromentries": "^2.0.2", - "object.values": "^1.1.1", + "minimatch": "^3.0.4", + "object.entries": "^1.1.4", + "object.fromentries": "^2.0.4", + "object.hasown": "^1.0.0", + "object.values": "^1.1.4", "prop-types": "^15.7.2", - "resolve": "^1.18.1", - "string.prototype.matchall": "^4.0.2" + "resolve": "^2.0.0-next.3", + "string.prototype.matchall": "^4.0.5" }, "dependencies": { "doctrine": { @@ -28161,6 +28465,16 @@ "requires": { "esutils": "^2.0.2" } + }, + "resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } } } }, @@ -28179,6 +28493,14 @@ "requires": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" + }, + "dependencies": { + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "devOptional": true + } } }, "eslint-utils": { @@ -28235,14 +28557,6 @@ "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } } }, "esrecurse": { @@ -28252,20 +28566,12 @@ "devOptional": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "devOptional": true - } } }, "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", "devOptional": true }, "estree-walker": { @@ -28298,15 +28604,6 @@ "tweetnacl-util": "^0.15.0" }, "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "ethereumjs-util": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz", @@ -28666,12 +28963,12 @@ } }, "file-entry-cache": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", - "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { - "flat-cache": "^2.0.1" + "flat-cache": "^3.0.4" } }, "file-selector": { @@ -28813,20 +29110,19 @@ "dev": true }, "flat-cache": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", - "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { - "flatted": "^2.0.0", - "rimraf": "2.6.3", - "write": "1.0.3" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" } }, "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.2.tgz", + "integrity": "sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==", "dev": true }, "fn-annotate": { @@ -28952,6 +29248,17 @@ "inherits": "~2.0.0", "mkdirp": ">=0.5 0", "rimraf": "2" + }, + "dependencies": { + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "peer": true, + "requires": { + "glob": "^7.1.3" + } + } } }, "function-bind": { @@ -29096,21 +29403,21 @@ "requires": {} }, "github-build": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.2.tgz", - "integrity": "sha512-xHVy8w+J09eD+uBqJ4CcRPr5HTa1BYaF6vPJ67yJekCWurPzimB/ExH1SGzW5iAFC2Uvw9TD1FpSIjh56hcB9Q==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/github-build/-/github-build-1.2.3.tgz", + "integrity": "sha512-57zUA9ZbaKQHxoUATq3dkr+gUeaOWGGC/3Vw/AJNIUkiUmd7DnYM9TMTmUknbkuvx6+SeSqWpLBunZZzCPLUMg==", "dev": true, "requires": { - "axios": "0.21.1" + "axios": "0.21.3" }, "dependencies": { "axios": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", - "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.3.tgz", + "integrity": "sha512-JtoZ3Ndke/+Iwt5n+BgSli/3idTvpt5OjKyoCmz4LX5+lPiY5l7C1colYezhlxThjNa/NhngCUWZSZFypIFuaA==", "dev": true, "requires": { - "follow-redirects": "^1.10.0" + "follow-redirects": "^1.14.0" } } } @@ -29161,6 +29468,12 @@ "type-fest": "^0.8.1" } }, + "globalyzer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", + "dev": true + }, "globby": { "version": "11.0.4", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", @@ -29183,6 +29496,12 @@ } } }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, "good-listener": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", @@ -29198,15 +29517,15 @@ "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==" }, "graphql": { - "version": "15.6.0", - "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.6.0.tgz", - "integrity": "sha512-WJR872Zlc9hckiEPhXgyUftXH48jp2EjO5tgBBOyNMRJZ9fviL2mJBD6CAysk6N5S0r9BTs09Qk39nnJBkvOXQ==", + "version": "15.6.1", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-15.6.1.tgz", + "integrity": "sha512-3i5lu0z6dRvJ48QP9kFxBkJ7h4Kso7PS8eahyTFz5Jm6CvQfLtNIE8LX9N6JLnXTuwR+sIYnXzaWp6anOg0QQw==", "peer": true }, "graphql-request": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.5.0.tgz", - "integrity": "sha512-Io89QpfU4rqiMbqM/KwMBzKaDLOppi8FU8sEccCE4JqCgz95W9Q8bvxQ4NfPALLSMvg9nafgg8AkYRmgKSlukA==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/graphql-request/-/graphql-request-3.6.0.tgz", + "integrity": "sha512-p5qIuD+gyjuOJ8z9sEcfcLVK7HUB+/88hf/xGEzX330U3L2OR1JtaupLPmd1D2V7YtqWiEnSA3tX9vqZ4eGMhA==", "requires": { "cross-fetch": "^3.0.6", "extract-files": "^9.0.0", @@ -29238,14 +29557,6 @@ "requires": { "duplexer": "^0.1.1", "pify": "^3.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } } }, "hamt-sharding": { @@ -29576,9 +29887,9 @@ } }, "import-local": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.2.tgz", - "integrity": "sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", "dev": true, "requires": { "pkg-dir": "^4.2.0", @@ -30075,6 +30386,15 @@ "stream-to-it": "^0.2.2" }, "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "node-fetch": { "version": "https://registry.npmjs.org/@achingbrain/node-fetch/-/node-fetch-2.6.7.tgz", "integrity": "sha512-iTASGs+HTFK5E4ZqcMsHmeJ4zodyq8L38lZV33jwqcBJYoUt3HjN4+ot+O9/0b+ke8ddE7UgOtVuZN/OkV19/g==" @@ -30158,9 +30478,9 @@ } }, "is-core-module": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.6.0.tgz", - "integrity": "sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ==", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.7.0.tgz", + "integrity": "sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==", "requires": { "has": "^1.0.3" } @@ -30200,9 +30520,9 @@ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-generator-function": { @@ -30214,9 +30534,9 @@ } }, "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "requires": { "is-extglob": "^2.1.1" } @@ -30344,6 +30664,11 @@ "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "dev": true }, + "is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==" + }, "is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -30394,6 +30719,14 @@ "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", "dev": true }, + "is-weakref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.1.tgz", + "integrity": "sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==", + "requires": { + "call-bind": "^1.0.0" + } + }, "is-weakset": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", @@ -30407,9 +30740,10 @@ "dev": true }, "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true }, "isexe": { "version": "2.0.0", @@ -30434,9 +30768,9 @@ "peer": true }, "istanbul-lib-coverage": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.1.tgz", - "integrity": "sha512-GvCYYTxaCPqwMjobtVcVKvSHtAGe48MNhGjpK8LtVF8K0ISX7hCKl85LgtuaSneWVyQmaGcW3iXVV3GaZSLpmQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.2.tgz", + "integrity": "sha512-o5+eTUYzCJ11/+JhW5/FUCdfsdoYVdQ/8I/OveE2XsjehYn5DdeSnNQAbjYaO8gQ6hvGTN6GM6ddQqpTVG5j8g==", "dev": true }, "istanbul-lib-hook": { @@ -30492,15 +30826,6 @@ "aggregate-error": "^3.0.0" } }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, "uuid": { "version": "3.4.0", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", @@ -30521,9 +30846,9 @@ } }, "istanbul-lib-source-maps": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz", - "integrity": "sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, "requires": { "debug": "^4.1.1", @@ -30540,9 +30865,9 @@ } }, "istanbul-reports": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", - "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.5.tgz", + "integrity": "sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ==", "dev": true, "requires": { "html-escaper": "^2.0.0", @@ -30550,29 +30875,29 @@ } }, "it-all": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.5.tgz", - "integrity": "sha512-ygD4kA4vp8fi+Y+NBgEKt6W06xSbv6Ub/0V8d1r3uCyJ9Izwa1UspkIOlqY9fOee0Z1w3WRo1+VWyAU4DgtufA==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-all/-/it-all-1.0.6.tgz", + "integrity": "sha512-3cmCc6Heqe3uWi3CVM/k51fa/XbMFpQVzFoDsV0IZNHSQDyAXl3c4MjHkFX5kF3922OGj7Myv1nSEUgRtcuM1A==" }, "it-batch": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-1.0.8.tgz", - "integrity": "sha512-RfEa1rxOPnicXvaXJ1qNThxPrq8/Lc+KwSVWHFEEOp2CrjpjhR5WfmBJozhkbzZ/r/Gl0HjzVVrt0NpG8qczDQ==" + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/it-batch/-/it-batch-1.0.9.tgz", + "integrity": "sha512-7Q7HXewMhNFltTsAMdSz6luNhyhkhEtGGbYek/8Xb/GiqYMtwUmopE1ocPSiJKKp3rM4Dt045sNFoUu+KZGNyA==" }, "it-drain": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.4.tgz", - "integrity": "sha512-coB7mcyZ4lWBQKoQGJuqM+P94pvpn2T3KY27vcVWPqeB1WmoysRC76VZnzAqrBWzpWcoEJMjZ+fsMBslxNaWfQ==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/it-drain/-/it-drain-1.0.5.tgz", + "integrity": "sha512-r/GjkiW1bZswC04TNmUnLxa6uovme7KKwPhc+cb1hHU65E3AByypHH6Pm91WHuvqfFsm+9ws0kPtDBV3/8vmIg==" }, "it-filter": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.2.tgz", - "integrity": "sha512-rxFUyPCrhk7WrNxD8msU10iEPhQmROoqwuyWmQUYY1PtopwUGBYyra9EYG2nRZADYeuT83cohKWmKCWPzpeyiw==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-filter/-/it-filter-1.0.3.tgz", + "integrity": "sha512-EI3HpzUrKjTH01miLHWmhNWy3Xpbx4OXMXltgrNprL5lDpF3giVpHIouFpr5l+evXw6aOfxhnt01BIB+4VQA+w==" }, "it-first": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.6.tgz", - "integrity": "sha512-wiI02c+G1BVuu0jz30Nsr1/et0cpSRulKUusN8HDZXxuX4MdUzfMp2P4JUk+a49Wr1kHitRLrnnh3+UzJ6neaQ==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/it-first/-/it-first-1.0.7.tgz", + "integrity": "sha512-nvJKZoBpZD/6Rtde6FXqwDqDZGF1sCADmr2Zoc0hZsIvnE449gRFnGctxDf09Bzc/FWnHXAdaHVIetY6lrE0/g==" }, "it-glob": { "version": "0.0.13", @@ -30584,27 +30909,27 @@ } }, "it-last": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.5.tgz", - "integrity": "sha512-PV/2S4zg5g6dkVuKfgrQfN2rUN4wdTI1FzyAvU+i8RV96syut40pa2s9Dut5X7SkjwA3P0tOhLABLdnOJ0Y/4Q==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-last/-/it-last-1.0.6.tgz", + "integrity": "sha512-aFGeibeiX/lM4bX3JY0OkVCFkAw8+n9lkukkLNivbJRvNz8lI3YXv5xcqhFUV2lDJiraEK3OXRDbGuevnnR67Q==" }, "it-map": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.5.tgz", - "integrity": "sha512-EElupuWhHVStUgUY+OfTJIS2MZed96lDrAXzJUuqiiqLnIKoBRqtX1ZG2oR0bGDsSppmz83MtzCeKLZ9TVAUxQ==" + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/it-map/-/it-map-1.0.6.tgz", + "integrity": "sha512-XT4/RM6UHIFG9IobGlQPFQUrlEKkU4eBUFG3qhWhfAdh1JfF2x11ShCrKCdmZ0OiZppPfoLuzcfA4cey6q3UAQ==" }, "it-parallel-batch": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-1.0.9.tgz", - "integrity": "sha512-lfCxXsHoEtgyWj5HLrEQXlZF0p3c0hfYeVJAbxQIHIzHLq4lkYplUIe3UGxYl4n1Sjpcs6YL/87352399aVeIA==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/it-parallel-batch/-/it-parallel-batch-1.0.10.tgz", + "integrity": "sha512-3+4gW15xdf/BOx9zij0QVnB1bDGSLOTABlaVm7ebHH1S9gDUgd5aLNb0WsFXPTfKe104iC6lxdzfbMGh1B07rg==", "requires": { - "it-batch": "^1.0.8" + "it-batch": "^1.0.9" } }, "it-peekable": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.2.tgz", - "integrity": "sha512-LRPLu94RLm+lxLZbChuc9iCXrKCOu1obWqxfaKhF00yIp30VGkl741b5P60U+rdBxuZD/Gt1bnmakernv7bVFg==" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/it-peekable/-/it-peekable-1.0.3.tgz", + "integrity": "sha512-5+8zemFS+wSfIkSZyf0Zh5kNN+iGyccN02914BY4w/Dj+uoFEoPSvj5vaWn8pNZJNSxzjW0zHRxC3LUb2KWJTQ==" }, "it-pipe": { "version": "1.1.0", @@ -30612,9 +30937,9 @@ "integrity": "sha512-lF0/3qTVeth13TOnHVs0BTFaziwQF7m5Gg+E6JV0BXcLKutC92YjSi7bASgkPOXaLEb+YvNZrPorGMBIJvZfxg==" }, "it-take": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.1.tgz", - "integrity": "sha512-6H6JAWYcyumKSpcIPLs6tHN4xnibphmyU79WQaYVCBtaBOzf4fn75wzvSH8fH8fcMlPBTWY1RlmOWleQxBt2Ug==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/it-take/-/it-take-1.0.2.tgz", + "integrity": "sha512-u7I6qhhxH7pSevcYNaMECtkvZW365ARqAIt9K+xjdK1B2WUDEjQSfETkOCT8bxFq/59LqrN3cMLUtTgmDBaygw==" }, "it-to-stream": { "version": "1.0.0", @@ -30627,12 +30952,23 @@ "p-defer": "^3.0.0", "p-fifo": "^1.0.0", "readable-stream": "^3.6.0" + }, + "dependencies": { + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + } } }, "itty-router": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/itty-router/-/itty-router-2.4.2.tgz", - "integrity": "sha512-VCJPoGKYrCoFSGQ9kko5prt66SHVppde498kj9XkMuZVrLCaG6xSIMIz/qaqW/mWk34BJPYGzhvWMf6l8g/CnA==" + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/itty-router/-/itty-router-2.4.4.tgz", + "integrity": "sha512-mp5i47ZotK94FHondKJTZn/0dBAFzFpZpiHWn+aCgr/sg9cIVzt1gvLCKsXMkcHgKejb9GdhqvOfh7VYJJlQoQ==" }, "jest-worker": { "version": "27.0.0-next.5", @@ -30851,14 +31187,14 @@ "peer": true }, "load-json-file": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", - "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", "dev": true, "requires": { "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", + "parse-json": "^4.0.0", + "pify": "^3.0.0", "strip-bom": "^3.0.0" } }, @@ -30946,6 +31282,12 @@ "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", "integrity": "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=" }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -31015,6 +31357,12 @@ "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=" }, + "lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -31476,16 +31824,16 @@ "dev": true }, "mime-db": { - "version": "1.49.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.49.0.tgz", - "integrity": "sha512-CIc8j9URtOVApSFCQIF+VBkX1RwXp/oMMOrqdyXSBXq5RWNEsRfyj1kiRnQgmNXmHxPoFIxOroKA3zcU9P+nAA==" + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==" }, "mime-types": { - "version": "2.1.32", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.32.tgz", - "integrity": "sha512-hJGaVS4G4c9TSMYh2n6SQAGrC4RnfU+daP8G7cSCmaqNjiOoUY0VHCMS42pxnQmVF1GWwFhbHWn3RIxCqTmZ9A==", + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", "requires": { - "mime-db": "1.49.0" + "mime-db": "1.50.0" } }, "mimic-fn": { @@ -31644,12 +31992,6 @@ } } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "escape-string-regexp": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", @@ -31680,12 +32022,6 @@ "path-is-absolute": "^1.0.0" } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, "js-yaml": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", @@ -31740,17 +32076,6 @@ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, "supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", @@ -31846,6 +32171,12 @@ "resolved": "https://registry.npmjs.org/@sindresorhus/df/-/df-1.0.1.tgz", "integrity": "sha1-xptm9S9vzdKHyAffIQMF2694UA0=", "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true } } }, @@ -31907,16 +32238,6 @@ "inherits": "^2.0.4", "readable-stream": "^3.4.0" } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "peer": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } } } }, @@ -31958,6 +32279,12 @@ "typedarray": "^0.0.6" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -32012,9 +32339,9 @@ } }, "multiformats": { - "version": "9.4.7", - "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.7.tgz", - "integrity": "sha512-fZbcdf7LnvokPAZYkv4TLXe7PAg9sQ5qLXcwrAmZOloEb2+5FtFiAY+l3/9wsu4oTJXTV3JSggFQQ2dJLS01vA==" + "version": "9.4.8", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.4.8.tgz", + "integrity": "sha512-EOJL02/kv+FD5hoItMhKgkYUUruJYMYFq4NQ6YkCh3jVQ5CuHo+OKdHeR50hAxEQmXQ9yvrM9BxLIk42xtfwnQ==" }, "murmurhash3js-revisited": { "version": "3.0.0", @@ -32035,15 +32362,10 @@ "big-integer": "^1.6.16" } }, - "nanocolors": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.1.12.tgz", - "integrity": "sha512-2nMHqg1x5PU+unxX7PGY7AuYxl2qDx7PSrTRjizr8sxdd3l/3hBuWWaki62qmtYm2U5i4Z5E7GbjlyDFhs9/EQ==" - }, "nanoid": { - "version": "3.1.25", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz", - "integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==" + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==" }, "napi-build-utils": { "version": "1.0.2", @@ -32209,6 +32531,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, + "colorette": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz", + "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==" + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -32231,6 +32558,11 @@ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" }, + "node-releases": { + "version": "1.1.77", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz", + "integrity": "sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==" + }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -32411,6 +32743,11 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, "path-browserify": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", @@ -32494,9 +32831,9 @@ } }, "node-releases": { - "version": "1.1.76", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.76.tgz", - "integrity": "sha512-9/IECtNr8dXNmPWmFXepT0/7o5eolGesHUa3mtr0KlgnCvnZxwh2qensKL42JJY2vQKC3nIBXetFAqR+PW1CmA==" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.0.tgz", + "integrity": "sha512-aA87l0flFYMzCHpTM3DERFSYxc6lv/BltdbRTOMZuxZ0cwZCD3mejE5n9vLhSJCN++/eOqr77G1IO5uXxlQYWA==" }, "noop-logger": { "version": "0.1.1", @@ -32605,60 +32942,12 @@ "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", "dev": true }, - "load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - } - }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "path-key": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", "dev": true }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, - "read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "requires": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - } - }, "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -32793,12 +33082,6 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, "find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", @@ -32809,12 +33092,6 @@ "path-exists": "^4.0.0" } }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -32869,26 +33146,6 @@ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -32984,48 +33241,57 @@ } }, "object.entries": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.4.tgz", - "integrity": "sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" } }, "object.fromentries": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.4.tgz", - "integrity": "sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2", - "has": "^1.0.3" + "es-abstract": "^1.19.1" } }, "object.getownpropertydescriptors": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz", - "integrity": "sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ==", + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz", + "integrity": "sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" + } + }, + "object.hasown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", + "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" } }, "object.values": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.4.tgz", - "integrity": "sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2" + "es-abstract": "^1.19.1" } }, "oblivious-set": { @@ -33070,6 +33336,270 @@ } } }, + "openapi-typescript": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-4.3.0.tgz", + "integrity": "sha512-mAvW7lCS8V2s2KLp81uAH8DynJgMHFOyD4k5IWi15JbmTacvKQCKglXf8mhEkxhWUTKaNfis23cPNJy+IL/16w==", + "dev": true, + "requires": { + "hosted-git-info": "^3.0.8", + "js-yaml": "^4.1.0", + "kleur": "^4.1.4", + "meow": "^9.0.0", + "mime": "^2.5.2", + "node-fetch": "^2.6.5", + "prettier": "^2.4.1", + "slash": "^3.0.0", + "tiny-glob": "^0.2.9" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "hosted-git-info": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.8.tgz", + "integrity": "sha512-aXpmwoOhRBrw6X3j0h5RloK4x1OzsxMPyxqIHyNfSe2pypkVTZFpEiRoSipPEPlMrh0HW/XsjkJ5WgnCirpNUw==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "meow": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz", + "integrity": "sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize": "^1.2.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "dependencies": { + "type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true + } + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "hosted-git-info": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.0.2.tgz", + "integrity": "sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + } + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true + } + } + }, "optionator": { "version": "0.9.1", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", @@ -33110,15 +33640,6 @@ "readable-stream": "^3.4.0" } }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, "log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -33207,9 +33728,9 @@ } }, "p-timeout": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.0.0.tgz", - "integrity": "sha512-z+bU/N7L1SABsqKnQzvAnINgPX7NHdzwUV+gHyJE7VGNDZSr03rhcPODCZSWiiT9k+gf74QPmzcZzqJRvxYZow==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.0.1.tgz", + "integrity": "sha512-iIxgiUu9dGmC9y234OT0scvFEoH/RZdslZrNJP/50wIg4ufqQlFv5DddQQ62kZ9ZAxS0cfwMu3Ewf98Oe6QlGg==", "dev": true }, "p-try": { @@ -33239,6 +33760,12 @@ "release-zalgo": "^1.0.0" } }, + "packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==", + "dev": true + }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -33265,9 +33792,9 @@ } }, "parse-duration": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.0.tgz", - "integrity": "sha512-X4kUkCTHU1N/kEbwK9FpUJ0UZQa90VzeczfS704frR30gljxDG0pSziws06XlK+CGRSo/1wtG1mFIdBFQTMQNw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-duration/-/parse-duration-1.0.1.tgz", + "integrity": "sha512-vv3rNpBYqRo8m357JeFBYFud+yX6HyxT2oBCI5gi0d/zW7g2C+meWucThqzp47Mdp+90nOjDbXfrqxdvkEIMxA==" }, "parse-entities": { "version": "1.2.2", @@ -33283,12 +33810,13 @@ } }, "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", "dev": true, "requires": { - "error-ex": "^1.2.0" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" } }, "parse-link-header": { @@ -33341,12 +33869,12 @@ "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" }, "path-type": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", - "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", "dev": true, "requires": { - "pify": "^2.0.0" + "pify": "^3.0.0" } }, "pbkdf2": { @@ -33373,6 +33901,73 @@ "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "peer": true }, + "pg": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.7.1.tgz", + "integrity": "sha512-7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==", + "dev": true, + "requires": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.5.0", + "pg-pool": "^3.4.1", + "pg-protocol": "^1.5.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + } + }, + "pg-connection-string": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", + "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==", + "dev": true + }, + "pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "dev": true + }, + "pg-pool": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.4.1.tgz", + "integrity": "sha512-TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==", + "dev": true, + "requires": {} + }, + "pg-protocol": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", + "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==", + "dev": true + }, + "pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "dev": true, + "requires": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + } + }, + "pgpass": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.4.tgz", + "integrity": "sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==", + "dev": true, + "requires": { + "split2": "^3.1.1" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "picomatch": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", @@ -33385,9 +33980,9 @@ "dev": true }, "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", "dev": true }, "piggybacker": { @@ -33476,16 +34071,6 @@ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - } - }, "pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", @@ -33510,51 +34095,12 @@ } }, "pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" - } + "find-up": "^2.1.0" } }, "platform": { @@ -33589,15 +34135,6 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } } } }, @@ -33647,6 +34184,16 @@ "integrity": "sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==", "dev": true }, + "buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, "chokidar": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", @@ -33798,12 +34345,12 @@ } }, "postcss": { - "version": "8.3.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.7.tgz", - "integrity": "sha512-9SaY7nnyQ63/WittqZYAvkkYPyKxchMKH71UDzeTmWuLSvxTRpeEeABZAzlCi55cuGcoFyoV/amX2BdsafQidQ==", + "version": "8.3.9", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.9.tgz", + "integrity": "sha512-f/ZFyAKh9Dnqytx5X62jgjhhzttjZS7hMsohcI7HEI5tjELX/HxCy3EFhsRxyzGvrzFF+82XPvCS8T9TFleVJw==", "requires": { - "nanocolors": "^0.1.5", - "nanoid": "^3.1.25", + "nanoid": "^3.1.28", + "picocolors": "^0.2.1", "source-map-js": "^0.6.2" } }, @@ -33848,6 +34395,33 @@ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" }, + "postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "dev": true + }, + "postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=", + "dev": true + }, + "postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "dev": true + }, + "postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "dev": true, + "requires": { + "xtend": "^4.0.0" + } + }, "prebuild-install": { "version": "5.3.6", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz", @@ -33883,6 +34457,12 @@ "integrity": "sha512-lH6+7lVMTu7Fl3NdfptcY7E5ElRVhAOpW0mfJq8qPex84KEaT7TOXYvGLW2PFp+wpWrvNMAn3RNYyy+QKx2kiA==", "dev": true }, + "prettier": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz", + "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==", + "dev": true + }, "pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", @@ -34306,9 +34886,9 @@ } }, "react-if": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/react-if/-/react-if-4.0.1.tgz", - "integrity": "sha512-TyfDGdBrIAHntLM5YkRbszeqcyzucB3m2ddF46XH10wTZ8SE2ZjNPD8qNphTJ+7j36SZ4qMvqmlMntcsczLAXQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/react-if/-/react-if-4.1.1.tgz", + "integrity": "sha512-frzHswesRqVVJ2XcGRoLyTvlB2yneib4R/FCqTG8AqBQnFdLNhqNODfzEA84EQZ0XwBAVe82Oe567kxaVmwj5w==", "requires": {} }, "react-is": { @@ -34352,9 +34932,9 @@ } }, "react-query": { - "version": "3.24.4", - "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.24.4.tgz", - "integrity": "sha512-p/t18+FN5P//bk/xR39r4JRWEigYzia2+J3lmKWSZHYbcivQlygJixY+81NiTNxT1P+/P6cl173b1lEbh1R8yQ==", + "version": "3.26.0", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.26.0.tgz", + "integrity": "sha512-wFPnL9Y+9xf6gJHAQ8ue+vBurciJ4cfQL4dhsI0x3YyRaEXlyklUQpJzbR63CfFULVekP3iWoyFxhaNVS9RFDw==", "requires": { "@babel/runtime": "^7.5.5", "broadcast-channel": "^3.4.1", @@ -34379,24 +34959,24 @@ } }, "read-pkg": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", - "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", "dev": true, "requires": { - "load-json-file": "^2.0.0", + "load-json-file": "^4.0.0", "normalize-package-data": "^2.3.2", - "path-type": "^2.0.0" + "path-type": "^3.0.0" } }, "read-pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", - "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", "dev": true, "requires": { "find-up": "^2.0.0", - "read-pkg": "^2.0.0" + "read-pkg": "^3.0.0" } }, "readable-stream": { @@ -34783,9 +35363,9 @@ "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=" }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" } @@ -34800,11 +35380,18 @@ } }, "rlp": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.6.tgz", - "integrity": "sha512-HAfAmL6SDYNWPUOJNrM500x4Thn4PZsEy5pijPh40U9WfNk0z15hUYzO9xVIMAdIHdFtD8CBDHd75Td1g36Mjg==", + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", "requires": { - "bn.js": "^4.11.1" + "bn.js": "^5.2.0" + }, + "dependencies": { + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==" + } } }, "rollup": { @@ -35093,9 +35680,9 @@ } }, "signal-exit": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.4.tgz", - "integrity": "sha512-rqYhcAnZ6d/vTPGghdrw7iumdcbXpsk1b8IG/rz+VWV51DM0p7XCtMoJ3qhPLIbp3tvyt3pKRbaaEMZYpHto8Q==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==" }, "simple-concat": { "version": "1.0.1", @@ -35141,9 +35728,9 @@ }, "dependencies": { "@polka/url": { - "version": "1.0.0-next.20", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.20.tgz", - "integrity": "sha512-88p7+M0QGxKpmnkfXjS4V26AnoC/eiqZutE8GLdaI5X12NY75bXSdTY9NkmYb2Xyk1O+MmkuO6Frmsj84V6I8Q==", + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", "dev": true } } @@ -35155,40 +35742,14 @@ "dev": true }, "slice-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", - "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, "requires": { - "ansi-styles": "^3.2.0", - "astral-regex": "^1.0.0", - "is-fullwidth-code-point": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - } + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" } }, "smoke": { @@ -35319,17 +35880,6 @@ "rimraf": "^3.0.0", "signal-exit": "^3.0.2", "which": "^2.0.1" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } } }, "spdx-correct": { @@ -35364,7 +35914,6 @@ "version": "3.2.2", "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", - "peer": true, "requires": { "readable-stream": "^3.0.0" } @@ -35488,18 +36037,18 @@ } }, "standard": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.3.tgz", - "integrity": "sha512-70F7NH0hSkNXosXRltjSv6KpTAOkUkSfyu3ynyM5dtRUiLtR+yX9EGZ7RKwuGUqCJiX/cnkceVM6HTZ4JpaqDg==", + "version": "16.0.4", + "resolved": "https://registry.npmjs.org/standard/-/standard-16.0.4.tgz", + "integrity": "sha512-2AGI874RNClW4xUdM+bg1LRXVlYLzTNEkHmTG5mhyn45OhbgwA+6znowkOGYy+WMb5HRyELvtNy39kcdMQMcYQ==", "dev": true, "requires": { - "eslint": "~7.13.0", - "eslint-config-standard": "16.0.2", + "eslint": "~7.18.0", + "eslint-config-standard": "16.0.3", "eslint-config-standard-jsx": "10.0.0", - "eslint-plugin-import": "~2.22.1", + "eslint-plugin-import": "~2.24.2", "eslint-plugin-node": "~11.1.0", - "eslint-plugin-promise": "~4.2.1", - "eslint-plugin-react": "~7.21.5", + "eslint-plugin-promise": "~5.1.0", + "eslint-plugin-react": "~7.25.1", "standard-engine": "^14.0.1" } }, @@ -35611,42 +36160,25 @@ "integrity": "sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs=" }, "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" } }, "string.prototype.matchall": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz", - "integrity": "sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", + "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.2", + "es-abstract": "^1.19.1", "get-intrinsic": "^1.1.1", "has-symbols": "^1.0.2", "internal-slot": "^1.0.3", @@ -35655,25 +36187,25 @@ } }, "string.prototype.padend": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.2.tgz", - "integrity": "sha512-/AQFLdYvePENU3W5rgurfWSMU6n+Ww8n/3cUt7E+vPBB/D7YDG8x+qjoFs4M/alR2bW7Qg6xMjVwWUOvuQ0XpQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz", + "integrity": "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" } }, "string.prototype.trim": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.4.tgz", - "integrity": "sha512-hWCk/iqf7lp0/AgTF7/ddO1IWtSNPASjlzCicV5irAVdE1grjsneK26YG6xACMBEdCvO8fUST0UzDMh/2Qy+9Q==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.5.tgz", + "integrity": "sha512-Lnh17webJVsD6ECeovpVN17RlAKjmz4rF9S+8Y45CkMc/ufVpTkU3vZIyIC7sllQ1FCvObZnnCdNs/HXTUOTlg==", "dev": true, "requires": { "call-bind": "^1.0.2", "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.2" + "es-abstract": "^1.19.1" } }, "string.prototype.trimend": { @@ -35908,21 +36440,43 @@ } }, "table": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", - "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/table/-/table-6.7.2.tgz", + "integrity": "sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==", "dev": true, "requires": { - "ajv": "^6.10.2", - "lodash": "^4.17.14", - "slice-ansi": "^2.1.0", - "string-width": "^3.0.0" + "ajv": "^8.0.1", + "lodash.clonedeep": "^4.5.0", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ajv": { + "version": "8.6.3", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", + "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } } }, "tailwindcss": { - "version": "2.2.15", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.15.tgz", - "integrity": "sha512-WgV41xTMbnSoTNMNnJvShQZ+8GmY86DmXTrCgnsveNZJdlybfwCItV8kAqjYmU49YiFr+ofzmT1JlAKajBZboQ==", + "version": "2.2.17", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.17.tgz", + "integrity": "sha512-WgRpn+Pxn7eWqlruxnxEbL9ByVRWi3iC10z4b6dW0zSdnkPVC4hPMSWLQkkW8GCyBIv/vbJ0bxIi9dVrl4CfoA==", "requires": { "arg": "^5.0.1", "bytes": "^3.0.0", @@ -35994,11 +36548,11 @@ } }, "glob-parent": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.1.tgz", - "integrity": "sha512-kEVjS71mQazDBHKcsq4E9u/vUzaLcw1A8EtUeydawvIWQCJM0qQ08G1H7/XTjFUulla6XQiDOG6MXSaG0HDKog==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "requires": { - "is-glob": "^4.0.1" + "is-glob": "^4.0.3" } }, "jsonfile": { @@ -36135,16 +36689,6 @@ "inherits": "^2.0.4", "readable-stream": "^3.4.0" } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } } } }, @@ -36174,9 +36718,9 @@ "dev": true }, "type-fest": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.3.4.tgz", - "integrity": "sha512-2UdQc7cx8F4Ky81Xj7NYQKPhZVtDFbtorrkairIW66rW7xQj5msAhioXa04HqEdP4MD4K2G6QAF7Zyiw/Hju1Q==", + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.5.0.tgz", + "integrity": "sha512-wB5vE+XXZ2g2mDRo18yZMae1joUhquomLTm+BkxeuRHnwmrNWzVPNrFah9z7pjsKNiVAaJL33+uQbgbPSARyqw==", "dev": true } } @@ -36215,9 +36759,9 @@ }, "dependencies": { "jest-worker": { - "version": "27.2.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.0.tgz", - "integrity": "sha512-laB0ZVIBz+voh/QQy9dmUuuDsadixeerrKqyVpgPz+CCWiOYjOBabUXHIXZhsdvkWbLqSHbgkAHWl5cg24Q6RA==", + "version": "27.2.5", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.2.5.tgz", + "integrity": "sha512-HTjEPZtcNKZ4LnhSp02NEH4vE+5OpJ0EsOWYvGQpHgUMLngydESAAMH5Wd/asPf29+XUDQZszxpLg1BkIIA2aw==", "devOptional": true, "requires": { "@types/node": "*", @@ -36306,22 +36850,22 @@ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==", "optional": true }, + "tiny-glob": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", + "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", + "dev": true, + "requires": { + "globalyzer": "0.1.0", + "globrex": "^0.1.2" + } + }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "requires": { "rimraf": "^3.0.0" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "requires": { - "glob": "^7.1.3" - } - } } }, "to-arraybuffer": { @@ -36452,21 +36996,6 @@ "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", "dev": true }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "requires": { - "pify": "^3.0.0" - } - }, - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -36584,9 +37113,9 @@ } }, "typescript": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.3.tgz", - "integrity": "sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz", + "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==", "dev": true }, "uint8arrays": { @@ -36753,6 +37282,12 @@ "setimmediate": "~1.0.4" }, "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, "process-nextick-args": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", @@ -36902,9 +37437,9 @@ "dev": true }, "v8-to-istanbul": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz", - "integrity": "sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz", + "integrity": "sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA==", "dev": true, "requires": { "@types/istanbul-lib-coverage": "^2.0.1", @@ -37076,9 +37611,9 @@ "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" }, "webpack": { - "version": "5.53.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.53.0.tgz", - "integrity": "sha512-RZ1Z3z3ni44snoWjfWeHFyzvd9HMVYDYC5VXmlYUT6NWgEOWdCNpad5Fve2CzzHoRED7WtsKe+FCyP5Vk4pWiQ==", + "version": "5.58.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.58.2.tgz", + "integrity": "sha512-3S6e9Vo1W2ijk4F4PPWRIu6D/uGgqaPmqw+av3W3jLDujuNkdxX5h5c+RQ6GkjVR+WwIPOfgY8av+j5j4tMqJw==", "devOptional": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -37090,8 +37625,8 @@ "acorn-import-assertions": "^1.7.6", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.0", - "es-module-lexer": "^0.7.1", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", @@ -37120,9 +37655,9 @@ "devOptional": true }, "acorn-import-assertions": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.7.6.tgz", - "integrity": "sha512-FlVvVFA1TX6l3lp8VjDnYYq7R1nyW6x3svAt4nDgrWQ9SBaSh9CnbwgSUTasgfNfOG5HlM1ehugCvM+hjo56LA==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "devOptional": true, "requires": {} }, @@ -37139,16 +37674,16 @@ } }, "webpack-cli": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.8.0.tgz", - "integrity": "sha512-+iBSWsX16uVna5aAYN6/wjhJy1q/GKk4KjKvfg90/6hykCTSgozbfz5iRgDTSJt/LgSbYxdBX3KBHeobIs+ZEw==", + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.0.tgz", + "integrity": "sha512-n/jZZBMzVEl4PYIBs+auy2WI0WTQ74EnJDiyD98O2JZY6IVIHJNitkYp/uTXOviIOMfgzrNvC9foKv/8o8KSZw==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", - "@webpack-cli/configtest": "^1.0.4", - "@webpack-cli/info": "^1.3.0", - "@webpack-cli/serve": "^1.5.2", - "colorette": "^1.2.1", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", + "colorette": "^2.0.14", "commander": "^7.0.0", "execa": "^5.0.0", "fastest-levenshtein": "^1.0.12", @@ -37209,6 +37744,12 @@ "stream-shift": "^1.0.0" } }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "peer": true + }, "readable-stream": { "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", @@ -37334,6 +37875,12 @@ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", "dev": true }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", @@ -37362,31 +37909,6 @@ "dev": true, "requires": { "string-width": "^4.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, "wildcard": { @@ -37422,31 +37944,6 @@ "ansi-styles": "^4.0.0", "string-width": "^4.1.0", "strip-ansi": "^6.0.0" - }, - "dependencies": { - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - } } }, "wrappy": { @@ -37454,15 +37951,6 @@ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, - "write": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", - "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", - "dev": true, - "requires": { - "mkdirp": "^0.5.1" - } - }, "write-file-atomic": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", diff --git a/packages/api/README.md b/packages/api/README.md index 9efb8605f1..3b0d321cb2 100644 --- a/packages/api/README.md +++ b/packages/api/README.md @@ -50,6 +50,7 @@ One time set up of your cloudflare worker subdomain for dev: wrangler secret put S3_ACCESS_KEY_ID --env $(whoami) # Get from Amazon S3 (not required for dev) wrangler secret put S3_SECRET_ACCESS_KEY_ID --env $(whoami) # Get from Amazon S3 (not required for dev) wrangler secret put S3_BUCKET_NAME --env $(whoami) # e.g web3.storage-staging-us-east-2 (not required for dev) + wrangler secret put PG_REST_JWT --env USER # Get from database postgrest ``` - `npm run publish` - Publish the worker under your env. An alias for `wrangler publish --env $(whoami)` diff --git a/packages/api/src/auth.js b/packages/api/src/auth.js index c02f42485f..c9e73d4a03 100644 --- a/packages/api/src/auth.js +++ b/packages/api/src/auth.js @@ -26,7 +26,6 @@ export function withMagicToken (handler) { const magicUser = await tryMagicToken(token, env) if (magicUser) { - console.log('magicUser', magicUser) request.auth = { user: magicUser } env.sentry && env.sentry.setUser(magicUser) return handler(request, env, ctx) diff --git a/packages/api/wrangler.toml b/packages/api/wrangler.toml index 23b7c838ed..b199dcfbfa 100644 --- a/packages/api/wrangler.toml +++ b/packages/api/wrangler.toml @@ -26,14 +26,14 @@ format = "service-worker" account_id = "fffa4b4363a7e5250af8357087263b3a" # Protocol Labs CF account zone_id = "7eee3323c1b35b6650568604c65f441e" # web3.storage zone route = "https://api.web3.storage/*" -vars = { CLUSTER_API_URL = "https://web3.storage.ipfscluster.io/api/", ENV = "production" } +vars = { CLUSTER_API_URL = "https://web3.storage.ipfscluster.io/api/", ENV = "production", DATABASE_URL = "https://db.web3.storage" } [env.staging] # name = "web3-storage-staging" account_id = "fffa4b4363a7e5250af8357087263b3a" # Protocol Labs CF account zone_id = "7eee3323c1b35b6650568604c65f441e" # web3.storage zone route = "https://api-staging.web3.storage/*" -vars = { CLUSTER_API_URL = "https://web3.storage.ipfscluster.io/api/", ENV = "staging" } +vars = { CLUSTER_API_URL = "https://web3.storage.ipfscluster.io/api/", ENV = "staging", DATABASE_URL = "https://db-staging.web3.storage" } [env.alan] workers_dev = true diff --git a/packages/db/README.md b/packages/db/README.md index 97eb49b5a9..28440d99bd 100644 --- a/packages/db/README.md +++ b/packages/db/README.md @@ -1,5 +1,7 @@ # DB +web3.storage currently uses FaunaDB by default and its setup can be seen next. However, we are migrating to use Postgres and its setup can be seen [here](./postgres/README.md). + ## Getting Started 1. Sign up at https://fauna.com. diff --git a/packages/db/db-client-types.ts b/packages/db/db-client-types.ts new file mode 100644 index 0000000000..72569545c2 --- /dev/null +++ b/packages/db/db-client-types.ts @@ -0,0 +1,229 @@ +import { definitions } from './postgres/pg-rest-api-types' + +// User +export type UpsertUserInput = { + id: definitions['user']['id'], + name: definitions['user']['name'], + picture?: definitions['user']['picture'], + email: definitions['user']['email'], + issuer: definitions['user']['issuer'], + github?: definitions['user']['github'], + publicAddress: definitions['user']['public_address'] +} + +export type UpsertUserOutput = { + issuer: string +} + +export type User = definitions['user'] + +export type UserOutput = { + _id: definitions['user']['id'], + name: definitions['user']['name'], + email: definitions['user']['email'], + issuer: definitions['user']['issuer'], + publicAddress: definitions['user']['public_address'] + created: definitions['user']['inserted_at'], + updated: definitions['user']['updated_at'] +} + +// Auth key +export interface CreateAuthKeyInput { + name: definitions['auth_key']['name'] + secret: definitions['auth_key']['secret'] + user: definitions['auth_key']['user_id'] +} + +export type CreateAuthKeyOutput = { + _id: definitions['auth_key']['id'] +} + +export type AuthKey = { + _id: definitions['auth_key']['id'], + name: definitions['auth_key']['name'], + user: { + _id: definitions['user']['id'], + issuer: definitions['user']['issuer'] + } +} + +export type AuthKeyItem = definitions['auth_key'] & { + uploads: Array< + Pick + > +} + +export type AuthKeyItemOutput = { + _id: definitions['auth_key']['id'] + name: definitions['auth_key']['name'] + secret: definitions['auth_key']['secret'] + created: definitions['auth_key']['inserted_at'] + hasUploads: boolean +} + +// Pin +export type PinItem = { + _id: definitions['pin']['id'] + status: definitions['pin']['status'] + created: definitions['pin']['inserted_at'] + updated: definitions['pin']['updated_at'] + location: { + _id: definitions['pin_location']['id'] + peerId: definitions['pin_location']['peer_id'] + peerName: definitions['pin_location']['peer_name'] + region: definitions['pin_location']['region'] + } +} + +export type PinItemOutput = { + _id?: definitions['pin']['id'] + status: definitions['pin']['status'] + created?: definitions['pin']['inserted_at'] + updated: definitions['pin']['updated_at'] + peerId: definitions['pin_location']['peer_id'] + peerName: definitions['pin_location']['peer_name'] + region: definitions['pin_location']['region'] +} + +// Backup +export type BackupOutput = { + _id: definitions['backup']['id'] + created: definitions['backup']['inserted_at'] + url: definitions['backup']['url'] + uploadId: definitions['backup']['upload_id'] +} + +// Deal +export type Deal = { + dealId: definitions['deal']['deal_id'] + storageProvider: definitions['deal']['provider'] + status: definitions['deal']['status'] + pieceCid: definitions['aggregate']['piece_cid'] + dataCid: definitions['aggregate_entry']['cid_v1'] + dataModelSelector: definitions['aggregate_entry']['datamodel_selector'] + dealActivation: definitions['deal']['start_time'] + dealExpiration: definitions['deal']['end_time'] + created: definitions['deal']['entry_created'] + updated: definitions['deal']['entry_last_updated'] +} + +// Content +export type ContentItem = { + cid: definitions['content']['cid'] + dagSize: definitions['content']['dag_size'] + created?: definitions['upload']['inserted_at'] + pins: Array<{ + status: definitions['pin']['status'] + updated: definitions['pin']['updated_at'] + location: { + _id: definitions['pin_location']['id'] + peerId: definitions['pin_location']['peer_id'] + peerName: definitions['pin_location']['peer_name'] + region: definitions['pin_location']['region'] + } + }> +} + +export type ContentItemOutput = { + created: definitions['content']['inserted_at'] + cid: definitions['content']['cid'] + dagSize?: definitions['content']['dag_size'] + pins: Array, + deals: Array +} + + +// Upload +export interface CreateUploadInput { + user: definitions['upload']['user_id'] + authKey: definitions['upload']['auth_key_id'] + contentCid: definitions['upload']['content_cid'] + sourceCid: definitions['upload']['source_cid'] + type: definitions['upload']['type'] + name?: definitions['upload']['name'] + dagSize?: definitions['content']['dag_size'] + created?: definitions['upload']['inserted_at'] + updated?: definitions['upload']['updated_at'] + pins: Array<{ + status: definitions['pin']['status'] + location: { + peerId: definitions['pin_location']['peer_id'] + peerName: definitions['pin_location']['peer_name'] + region: definitions['pin_location']['region'] + } + }>, + backupUrls: Array +} + +export type CreateUploadOutput = { + _id: definitions['upload']['id'], + cid: definitions['content']['cid'] +} + +export type UploadItem = { + id: definitions['upload']['id'] + type: definitions['upload']['type'] + name?: definitions['upload']['name'] + created?: definitions['upload']['inserted_at'] + updated?: definitions['upload']['updated_at'] + content: { + cid: definitions['content']['cid'] + dagSize: definitions['content']['dag_size'] + pins: Array<{ + status: definitions['pin']['status'] + updated: definitions['pin']['updated_at'] + location: { + id: definitions['pin_location']['id'] + peerId: definitions['pin_location']['peer_id'] + peerName: definitions['pin_location']['peer_name'] + region: definitions['pin_location']['region'] + } + }> + } +} + +export type UploadItemOutput = { + _id: definitions['upload']['id'] + type: definitions['upload']['type'] + name?: definitions['upload']['name'] + created: definitions['upload']['inserted_at'] + updated: definitions['upload']['updated_at'] + cid: definitions['content']['cid'] + dagSize?: definitions['content']['dag_size'] + pins: Array, + deals: Array +} + +export type UploadOutput = definitions['upload'] & { + user: Pick + key: Pick + content: Pick & { + pin: Pick & { + location: Pick + }[] + }, + deals: Deal[] +} + +export type ListUploadsOptions = { + /** + * Uploads created before a given timestamp. + */ + before?: string + /** + * Uploads created after a given timestamp. + */ + after?: string + /** + * Max records (default: 10). + */ + size?: number + /** + * Sort by given property. + */ + sortBy?: 'Date' | 'Name' + /** + * Sort order. + */ + sortOrder?: 'Asc' | 'Desc' +} diff --git a/packages/db/errors.js b/packages/db/errors.js new file mode 100644 index 0000000000..1e3e4efc09 --- /dev/null +++ b/packages/db/errors.js @@ -0,0 +1,17 @@ +export class DBError extends Error { + /** + * @param {{ + * message: string + * details: string + * hint: string + * code: string + * }} cause + */ + constructor ({ message, details, hint, code }) { + super(`${message}, details: ${details}, hint: ${hint}, code: ${code}`) + this.name = 'DBError' + this.code = DBError.CODE + } +} + +DBError.CODE = 'ERROR_DB' diff --git a/packages/db/index.d.ts b/packages/db/index.d.ts index b17419c3a5..a44836ec99 100644 --- a/packages/db/index.d.ts +++ b/packages/db/index.d.ts @@ -1,9 +1,45 @@ import { gql } from 'graphql-request' import { RequestDocument } from 'graphql-request/dist/types' +import type { + UpsertUserInput, + UpsertUserOutput, + UserOutput, + CreateUploadInput, + ListUploadsOptions, + CreateUploadOutput, + UploadItemOutput, + ContentItemOutput, + Deal, + CreateAuthKeyInput, + CreateAuthKeyOutput, + AuthKey, + AuthKeyItemOutput, + PinItemOutput, + BackupOutput +} from './db-client-types' + export { gql } export class DBClient { constructor(config: { endpoint?: string; token: string }) + upsertUser (user: UpsertUserInput): Promise + getUser (issuer: string): Promise + getUsedStorage (userId: number): Promise + createUpload (data: CreateUploadInput): Promise + getUpload (cid: string, userId: number): Promise + listUploads (userId: number, opts?: ListUploadsOptions): Promise + renameUpload (cid: string, userId: number, name: string): Promise<{ name: string }> + deleteUpload(cid: string, userId: number): Promise<{ _id: number }> + getStatus (cid: string): Promise + getBackups(uploadId: number): Promise> + upsertPin (cid: string, pin: PinItemOutput): Promise + getPins (cid: string): Promise> + getDeals (cid: string): Promise + getDealsForCids (cids: string[]): Promise> + createKey (key: CreateAuthKeyInput): Promise + getKey (issuer: string, secret: string): Promise + listKeys (userId: number): Promise> + deleteKey (id: number): Promise query(document: RequestDocument, variables: V): Promise } diff --git a/packages/db/index.js b/packages/db/index.js index 06515fddfd..d2b0a6140e 100644 --- a/packages/db/index.js +++ b/packages/db/index.js @@ -1,15 +1,564 @@ +import { PostgrestClient } from '@supabase/postgrest-js' import { GraphQLClient, gql } from 'graphql-request' +import { normalizeUpload, normalizeContent, normalizePins } from './utils.js' +import { DBError } from './errors.js' + const ENDPOINT = 'https://graphql.fauna.com/graphql' +// TODO: Deprecate with fauna export { gql } +const uploadQuery = ` + _id:id, + type, + name, + created:inserted_at, + updated:updated_at, + content(cid, dagSize:dag_size, pins:pin(status, updated:updated_at, location:pin_location(_id:id, peerId:peer_id, peerName:peer_name, region))) + ` +/** + * @typedef {import('./postgres/pg-rest-api-types').definitions} definitions + */ + export class DBClient { - constructor ({ endpoint = ENDPOINT, token }) { - this._client = new GraphQLClient(endpoint, { - fetch: globalThis.fetch, - headers: { Authorization: `Bearer ${token}` } + constructor ({ endpoint = ENDPOINT, token, postgres = false }) { + if (postgres) { + this.client = new PostgrestClient(endpoint, { + headers: { + apikey: token + } + }) + } else { + this._client = new GraphQLClient(endpoint, { + fetch: globalThis.fetch, + headers: { Authorization: `Bearer ${token}` } + }) + } + } + + /** + * Upsert user. + * + * @param {import('./db-client-types').UpsertUserInput} user + * @return {import('./db-client-types').UpsertUserOutput} + */ + async upsertUser (user) { + /** @type {{ data: definitions['user'], error: Error }} */ + const { data, error } = await this.client + .from('user') + .upsert({ + id: user.id, + name: user.name, + picture: user.picture, + email: user.email, + issuer: user.issuer, + github: user.github, + public_address: user.publicAddress + }) + .single() + + if (error) { + throw new DBError(error) + } + + return { + issuer: data.issuer + } + } + + /** + * Get user by its issuer. + * + * @param {string} issuer + * @return {Promise} + */ + async getUser (issuer) { + /** @type {{ data: import('./db-client-types').User, error: Error }} */ + const { data, error } = await this.client + .from('user') + .select(` + _id:id, + issuer, + name, + email, + publicAddress:public_address, + created:inserted_at, + updated:updated_at + `) + .eq('issuer', issuer) + .single() + + if (error) { + throw new DBError(error) + } + + return data + } + + /** + * Get used storage in bytes. + * + * @param {number} userId + * @returns {Promise} + */ + async getUsedStorage (userId) { + /** @type {{ data: number, error: Error }} */ + const { data, error } = await this.client.rpc('user_used_storage', { query_user_id: userId }) + + if (error) { + throw new DBError(error) + } + + return data || 0 // No uploads for the user + } + + /** + * Create upload with content and pins. + * + * @param {import('./db-client-types').CreateUploadInput} data + * @returns {Promise} + */ + async createUpload (data) { + const now = new Date().toISOString() + /** @type {{ data: number, error: Error }} */ + const { data: uploadResponse, error } = await this.client.rpc('create_upload', { + data: { + user_id: data.user, + auth_key_id: data.authKey, + content_cid: data.contentCid, + source_cid: data.sourceCid, + type: data.type, + name: data.name, + dag_size: data.dagSize, + inserted_at: data.created || now, + updated_at: data.updated || now, + pins: data.pins.map(pin => ({ + status: pin.status, + location: { + peer_id: pin.location.peerId, + peer_name: pin.location.peerName, + region: pin.location.region + } + })), + backup_urls: data.backupUrls + } + }).single() + + if (error) { + throw new DBError(error) + } + + return { + _id: uploadResponse, + cid: data.contentCid + } + } + + /** + * Get upload with user, auth_keys, content and pins. + * + * @param {string} cid + * @param {number} userId + * @returns {Promise} + */ + async getUpload (cid, userId) { + /** @type {{ data: import('./db-client-types').UploadItem, error: Error }} */ + const { data: upload, error } = await this.client + .from('upload') + .select(uploadQuery) + .eq('content_cid', cid) + .eq('user_id', userId) + .is('deleted_at', null) + .single() + + if (error) { + throw new DBError(error) + } + + const deals = await this.getDeals(cid) + + return { + ...normalizeUpload(upload), + deals + } + } + + /** + * List uploads of a given user. + * + * @param {number} userId + * @param {import('./db-client-types').ListUploadsOptions} [opts] + * @returns {Promise>} + */ + async listUploads (userId, opts = {}) { + let query = this.client + .from('upload') + .select(uploadQuery) + .eq('user_id', userId) + .is('deleted_at', null) + .limit(opts.size || 10) + .order( + opts.sortBy === 'Name' ? 'name' : 'inserted_at', + { ascending: opts.sortOrder === 'Asc' } + ) + + if (opts.before) { + query = query.lt('inserted_at', opts.before) + } + + if (opts.after) { + query = query.gte('inserted_at', opts.after) + } + + /** @type {{ data: Array, error: Error }} */ + const { data: uploads, error } = await query + + if (error) { + throw new DBError(error) + } + + // Get deals + const cids = uploads?.map((u) => u.content_cid) + const deals = await this.getDealsForCids(cids) + + return uploads?.map((u) => ({ + ...normalizeUpload(u), + deals: deals[u.content_cid] || [] + })) + } + + /** + * Rename an upload. + * + * @param {string} cid + * @param {number} userId + */ + async renameUpload (cid, userId, name) { + /** @type {{ data: import('./db-client-types').UploadItem, error: Error }} */ + const { data, error } = await this.client + .from('upload') + .update({ name }) + .match({ + user_id: userId, + content_cid: cid + }) + .is('deleted_at', null) + .single() + + if (error) { + throw new DBError(error) + } + + return { + name: data.name + } + } + + /** + * Delete a user upload. + * + * @param {string} cid + * @param {number} userId + */ + async deleteUpload (cid, userId) { + /** @type {{ data: import('./db-client-types').UploadItem, error: Error }} */ + const { data, error } = await this.client + .from('upload') + .update({ + deleted_at: new Date().toISOString() + }) + .match({ + content_cid: cid, + user_id: userId + }) + .single() + + if (error) { + throw new DBError(error) + } + + return { + _id: data.id + } + } + + /** + * Get content status of a given cid. + * + * @param {string} cid + * @returns {Promise} + */ + async getStatus (cid) { + /** @type {{ data: import('./db-client-types').ContentItem, error: Error }} */ + const { data, error } = await this.client + .from('content') + .select(` + cid, + dagSize:dag_size, + created:inserted_at, + pins:pin(status, updated:updated_at, location:pin_location(peerId:peer_id, peerName:peer_name, region)) + `) + .match({ cid }) + .single() + + if (error) { + throw new DBError(error) + } + + const deals = await this.getDeals(cid) + + return { + ...normalizeContent(data), + deals + } + } + + /** + * Get backups for a given upload. + * + * @param {number} uploadId + * @return {Promise>} + */ + async getBackups (uploadId) { + /** @type {{ data: Array, error: Error }} */ + const { data: backups, error } = await this.client + .from('backup') + .select('*') + .match({ upload_id: uploadId }) + + if (error) { + throw new DBError(error) + } + + return backups.map(b => ({ + _id: b.id, + created: b.inserted_at, + uploadId: b.upload_id, + url: b.url + })) + } + + /** + * Upsert pin. + * + * @param {string} cid + * @param {import('./db-client-types').PinItemOutput} pin + * @return {Promise} + */ + async upsertPin (cid, pin) { + /** @type {{ data: number, error: Error }} */ + const { data: pinId, error } = await this.client.rpc('upsert_pin', { + data: { + content_cid: cid, + pin: { + status: pin.status, + location: { + peer_id: pin.location.peerId, + peer_name: pin.location.peerName, + region: pin.location.region + } + } + } }) + + if (error) { + throw new DBError(error) + } + + return pinId + } + + /** + * Get Pins for a cid + * + * @param {string} cid + * @return {Promise>} + */ + async getPins (cid) { + /** @type {{ data: Array, error: Error }} */ + const { data: pins, error } = await this.client + .from('pin') + .select(` + _id:id, + status, + created:inserted_at, + updated:updated_at, + location:pin_location(id, peerId:peer_id, peerName:peer_name, region) + `) + .match({ content_cid: cid }) + + if (error) { + throw new DBError(error) + } + + return normalizePins(pins) + } + + /** + * Get deals for a cid + * + * @param {string} cid + * @return {Promise} + */ + async getDeals (cid) { + const deals = await this.getDealsForCids([cid]) + return deals[cid] ? deals[cid] : [] + } + + /** + * Get deals for multiple cids + * + * @param {string[]} cids + * @return {Promise>} + */ + async getDealsForCids (cids = []) { + /** @type {{ data: Array, error: Error }} */ + const { data, error } = await this.client + .rpc('find_deals_by_content_cids', { + cids + }) + + if (error) { + throw new DBError(error) + } + + // TODO: normalize deal by removing deal prefix on dealActivation and dealExpiration + const result = {} + for (const d of data) { + const { dataCid: cid, ...rest } = d + if (!Array.isArray(result[cid])) { + result[cid] = [rest] + } else { + result[cid].push(rest) + } + } + + return result + } + + /** + * Create a new auth key. + * + * @param {import('./db-client-types').CreateAuthKeyInput} key + * @return {Promise} + */ + async createKey ({ name, secret, user }) { + /** @type {{ data: definitions['auth_key'], error: Error }} */ + const { data, error } = await this.client + .from('auth_key') + .insert({ + name: name, + secret: secret, + user_id: user + }) + .single() + + if (error) { + throw new DBError(error) + } + + return { + _id: data.id + } + } + + /** + * Get key with issuer and secret. + * + * @param {string} issuer + * @param {string} secret + * @return {Promise} + */ + async getKey (issuer, secret) { + /** @type {{ error: Error } */ + const { data, error } = await this.client + .from('user') + .select(` + _id:id, + issuer, + keys:auth_key_user_id_fkey(_id:id, name,secret) + `) + .match({ + issuer + }) + .filter('keys.deleted_at', 'is', null) + .single() + + if (error) { + throw new DBError(error) + } + + const key = data.keys.find(k => k.secret === secret) + + if (!key) { + throw new Error('user has no key with given secret') + } + + return { + _id: key._id, + name: key.name, + user: { + _id: data._id, + issuer: data.issuer + } + } + } + + /** + * List auth keys of a given user. + * + * @param {number} userId + * @return {Promise>} + */ + async listKeys (userId) { + /** @type {{ error: Error, data: Array }} */ + const { data, error } = await this.client + .from('auth_key') + .select(` + id, + name, + secret, + inserted_at, + uploads:upload(id) + `) + .match({ user_id: userId }) + .is('deleted_at', null) + + if (error) { + throw new DBError(error) + } + + return data.map(k => ({ + _id: k.id, + name: k.name, + secret: k.secret, + created: k.inserted_at, + hasUploads: Boolean(k.uploads.length) + })) + } + + /** + * Delete auth key with given id. + * + * @param {number} userId + * @param {number} keyId + */ + async deleteKey (userId, keyId) { + /** @type {{ error: Error }} */ + const { error } = await this.client + .from('auth_key') + .update({ + deleted_at: new Date().toISOString() + }) + .match({ + id: keyId, + user_id: userId + }) + + if (error) { + throw new DBError(error) + } } /** @@ -20,6 +569,9 @@ export class DBClient { * @returns {Promise} */ query (document, variables) { + if (!this._client) { + throw new Error('fauna database not setup') + } return this._client.request(document, variables) } } diff --git a/packages/db/package.json b/packages/db/package.json index 67b0ce48d6..b36130ed9b 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -9,7 +9,8 @@ "import": "npm run import:gql && npm run import:fql", "import:gql": "node tools/import-graphql-schema.js", "import:fql": "node tools/import-fql-resources.js", - "test": "echo \"Error: no test specified\" && exit 1" + "pg-rest-api-types": "./scripts/cli.js pg-rest-api-types", + "test": "playwright-test \"test/**/*.spec.js\" --sw index.js" }, "keywords": [ "fauna", @@ -19,12 +20,21 @@ "author": "Alan Shaw", "license": "(Apache-2.0 AND MIT)", "dependencies": { + "@supabase/postgrest-js": "^0.34.0", "graphql-request": "^3.4.0" }, "devDependencies": { "@web-std/fetch": "^2.0.1", + "assert": "^2.0.0", + "delay": "^5.0.0", "dotenv": "^10.0.0", + "execa": "^5.1.1", "faunadb": "^4.3.0", + "openapi-typescript": "^4.0.2", + "p-retry": "^4.6.1", + "pg": "^8.7.1", + "playwright-test": "^7.0.1", + "sade": "^1.7.4", "standard": "^16.0.3" } } diff --git a/packages/db/postgres/README.md b/packages/db/postgres/README.md new file mode 100644 index 0000000000..26f09afd07 --- /dev/null +++ b/packages/db/postgres/README.md @@ -0,0 +1,72 @@ +# Postgres + +## Getting started + +### 1. Install postgres and docker + +You will need to install docker (check official docker documentation) and postgres locally. + +```bash +brew install postgres +``` + +### 2. Define local env vars + +Inside the `/packages/db` folder create a file called `.env.local` with the following content. + +```ini +# PostgREST API URL +PG_REST_URL=http://localhost:3000 +# PostgREST API token, for role "postgres", using secret value PGRST_JWT_SECRET from './postgres/docker/docker-compose.yml' +# https://postgrest.org/en/v8.0/tutorials/tut1.html#step-3-sign-a-token +PG_REST_JWT=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJyb2xlIjoicG9zdGdyZXMifQ.oM0SXF31Vs1nfwCaDxjlczE237KcNKhTpKEYxMX-jEU + +# Connection string for locally running postgres used in tests +PG_CONNECTION=postgres://postgres:postgres@127.0.0.1:5432/postgres + +# Read-only `dagcargo` credentials for "foreign data wrapper" (fdw) in tests +DAG_CARGO_HOST= +DAG_CARGO_USER= +DAG_CARGO_PASSWORD= +DAG_CARGO_DATABASE= +``` + +Production vars are set in Github Actions secrets. + +### 3. Ready to go + +You can now start your development and run DB tests. The test setup has hooks to start your local docker containers and stop/clean them in the end. + +## Local DB Setup + +If you want to run your own local DB for development using this package DB client, you can easily do it as follows: + +### 1. Start Database and postgrest + +Start a docker compose with a Postgres Database and Postgrest. + +```bash +node scripts/cli.js db --start --project web3-storage +``` + +### 2. Populate Database + +```bash +node scripts/cli.js db-sql --cargo --testing +``` + +### 3. Ready to go + +You can now interact with your local database. Its URL and Token are defined in the previous section. + +Once you are done, the local setup can easily be stopped and cleaned using: + +```bash +node scripts/cli.js db --stop --clean --project web3-storage +``` + +## Database Diagram + +![image](https://user-images.githubusercontent.com/7295071/135415822-be854ec5-d1e2-4588-a951-f287b60b65be.png) + +Powered by [dbdiagram.io](https://dbdiagram.io/d/61546519825b5b014618caf6). diff --git a/packages/db/postgres/cargo.sql b/packages/db/postgres/cargo.sql new file mode 100644 index 0000000000..f98eb8f4e1 --- /dev/null +++ b/packages/db/postgres/cargo.sql @@ -0,0 +1,41 @@ +CREATE SCHEMA IF NOT EXISTS cargo; + +-- Import dag cargo schema +IMPORT FOREIGN SCHEMA cargo + LIMIT TO (aggregate_entries, aggregates, deals, dags) + FROM SERVER dag_cargo_server + INTO cargo; + +-- Create materialized view from cargo "aggregate_entries" table +CREATE MATERIALIZED VIEW public.aggregate_entry +AS +SELECT * +FROM cargo.aggregate_entries; + +-- Indexes for "aggregate_entries" mat view +CREATE UNIQUE INDEX aggregate_entry_unique_cidv1_aggregate_cid + ON public.aggregate_entry (aggregate_cid, cid_v1); +CREATE INDEX aggregate_entry_cid_v1 + ON public.aggregate_entry (cid_v1); + +-- Create materialized view from cargo "deals" table +CREATE MATERIALIZED VIEW public.deal +AS +SELECT * +FROM cargo.deals; + +-- Indexes for "deals" mat view +CREATE UNIQUE INDEX deal_unique_deal_id + ON public.deal (deal_id); +CREATE INDEX deal_aggregate_cid + ON public.deal (aggregate_cid); + +-- Create materialized view from cargo "aggregates" table +CREATE MATERIALIZED VIEW public.aggregate +AS +SELECT * +FROM cargo.aggregates; + +-- Indexes for "aggregate" mat view +CREATE UNIQUE INDEX aggregate_unique_aggregate_cid + ON public.aggregate (aggregate_cid); diff --git a/packages/db/postgres/docker/docker-compose.yml b/packages/db/postgres/docker/docker-compose.yml new file mode 100644 index 0000000000..96f72920e7 --- /dev/null +++ b/packages/db/postgres/docker/docker-compose.yml @@ -0,0 +1,28 @@ +version: '3.6' +services: + rest: + image: postgrest/postgrest:v8.0.0 + depends_on: + - db + restart: always + ports: + - 3000:3000/tcp + environment: + PGRST_DB_URI: postgres://postgres:postgres@db:5432/postgres + PGRST_DB_SCHEMA: public + PGRST_DB_ANON_ROLE: postgres + PGRST_JWT_SECRET: super-secret-jwt-token-with-at-least-32-characters-long + db: + build: + context: ./postgres + ports: + - 5432:5432 + command: + - postgres + - -c + - wal_level=logical + environment: + POSTGRES_DB: postgres + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_PORT: 5432 \ No newline at end of file diff --git a/packages/db/postgres/docker/postgres/00-initial-schema.sql b/packages/db/postgres/docker/postgres/00-initial-schema.sql new file mode 100644 index 0000000000..82f773e6f5 --- /dev/null +++ b/packages/db/postgres/docker/postgres/00-initial-schema.sql @@ -0,0 +1,36 @@ +-- Set up reatime + +-- Extension namespacing +create schema extensions; +create extension if not exists "uuid-ossp" with schema extensions; +create extension if not exists pgcrypto with schema extensions; +create extension if not exists pgjwt with schema extensions; + +-- Developer roles +create role anon nologin noinherit; +create role authenticated nologin noinherit; -- "logged in" user: web_user, app_user, etc +create role service_role nologin noinherit bypassrls; -- allow developers to create JWT's that bypass their policies + +create user authenticator noinherit; +grant anon to authenticator; +grant authenticated to authenticator; +grant service_role to authenticator; + +grant usage on schema public to postgres, anon, authenticated, service_role; +alter default privileges in schema public grant all on tables to postgres, anon, authenticated, service_role; +alter default privileges in schema public grant all on functions to postgres, anon, authenticated, service_role; +alter default privileges in schema public grant all on sequences to postgres, anon, authenticated, service_role; + +-- Create an event trigger function +CREATE OR REPLACE FUNCTION public.pgrst_watch() RETURNS event_trigger + LANGUAGE plpgsql + AS $$ +BEGIN + NOTIFY pgrst, 'reload schema'; +END; +$$; + +-- This event trigger will fire after every ddl_command_end event +CREATE EVENT TRIGGER pgrst_watch + ON ddl_command_end + EXECUTE PROCEDURE public.pgrst_watch(); diff --git a/packages/db/postgres/docker/postgres/Dockerfile b/packages/db/postgres/docker/postgres/Dockerfile new file mode 100644 index 0000000000..785b26ce0c --- /dev/null +++ b/packages/db/postgres/docker/postgres/Dockerfile @@ -0,0 +1,11 @@ +FROM supabase/postgres:0.13.0 + +COPY 00-initial-schema.sql /docker-entrypoint-initdb.d/00-initial-schema.sql + +# Run time values +ENV POSTGRES_DB=postgres +ENV POSTGRES_USER=postgres +ENV POSTGRES_PASSWORD=postgres +ENV POSTGRES_PORT=5432 + +EXPOSE 5432 \ No newline at end of file diff --git a/packages/db/postgres/fdw.sql b/packages/db/postgres/fdw.sql new file mode 100644 index 0000000000..3d10959678 --- /dev/null +++ b/packages/db/postgres/fdw.sql @@ -0,0 +1,22 @@ +CREATE +EXTENSION IF NOT EXISTS postgres_fdw; + +DROP +SERVER IF EXISTS dag_cargo_server CASCADE; + +CREATE +SERVER dag_cargo_server + FOREIGN DATA WRAPPER postgres_fdw + OPTIONS ( + host :'DAG_CARGO_HOST', + dbname :'DAG_CARGO_DATABASE', + fetch_size '200000' + ); + +CREATE +USER MAPPING FOR current_user + SERVER dag_cargo_server + OPTIONS ( + user :'DAG_CARGO_USER', + password :'DAG_CARGO_PASSWORD' + ); diff --git a/packages/db/postgres/functions.sql b/packages/db/postgres/functions.sql new file mode 100644 index 0000000000..4c414d0141 --- /dev/null +++ b/packages/db/postgres/functions.sql @@ -0,0 +1,185 @@ +DROP FUNCTION IF EXISTS json_arr_to_text_arr; +DROP FUNCTION IF EXISTS json_arr_to_json_element_array; +DROP FUNCTION IF EXISTS create_upload; +DROP FUNCTION IF EXISTS find_deals_by_content_cids; + +-- transform a JSON array property into an array of SQL text elements +CREATE OR REPLACE FUNCTION json_arr_to_text_arr(_json json) + RETURNS text[] LANGUAGE sql IMMUTABLE PARALLEL SAFE AS +'SELECT ARRAY(SELECT json_array_elements_text(_json))'; + +-- transform a JSON array property into an array of SQL json elements +CREATE OR REPLACE FUNCTION json_arr_to_json_element_array(_json json) + RETURNS json[] LANGUAGE sql IMMUTABLE PARALLEL SAFE AS +'SELECT ARRAY(SELECT * FROM json_array_elements(_json))'; + +CREATE OR REPLACE FUNCTION create_upload(data json) RETURNS BIGINT + LANGUAGE plpgsql + volatile + PARALLEL UNSAFE +AS +$$ +DECLARE + backup_url TEXT; + pin json; + pin_location_result_id BIGINT; + inserted_upload_id BIGINT; +BEGIN + -- Add to content table if new + insert into content (cid, dag_size, updated_at, inserted_at) + values (data ->> 'content_cid', + (data ->> 'dag_size')::BIGINT, + (data ->> 'updated_at')::timestamptz, + (data ->> 'inserted_at')::timestamptz) + ON CONFLICT ( cid ) DO NOTHING; + + -- Iterate over received pins + foreach pin in array json_arr_to_json_element_array(data -> 'pins') + loop + -- Add to pin_location table if new + insert into pin_location (peer_id, peer_name, region) + values (pin -> 'location' ->> 'peer_id', + pin -> 'location' ->> 'peer_name', + pin -> 'location' ->> 'region') + -- Force update on conflict to get result, otherwise needs a follow up select + ON CONFLICT ( peer_id ) DO UPDATE + SET "peer_name" = pin -> 'location' ->> 'peer_name', + "region" = pin -> 'location' ->> 'region' + returning id into pin_location_result_id; + + insert into pin (content_cid, status, pin_location_id, updated_at, inserted_at) + values (data ->> 'content_cid', + (pin ->> 'status')::pin_status_type, + pin_location_result_id, + (data ->> 'updated_at')::timestamptz, + (data ->> 'inserted_at')::timestamptz) + ON CONFLICT ( content_cid, pin_location_id ) DO NOTHING; + end loop; + + insert into upload (user_id, + auth_key_id, + content_cid, + source_cid, + type, + name, + inserted_at, + updated_at) + values ((data ->> 'user_id')::BIGINT, + (data ->> 'auth_key_id')::BIGINT, + data ->> 'content_cid', + data ->> 'source_cid', + (data ->> 'type')::upload_type, + data ->> 'name', + (data ->> 'updated_at')::timestamptz, + (data ->> 'inserted_at')::timestamptz) + ON CONFLICT ( user_id, source_cid ) DO UPDATE + SET "updated_at" = (data ->> 'updated_at')::timestamptz, + "deleted_at" = null + returning id into inserted_upload_id; + + foreach backup_url in array json_arr_to_text_arr(data -> 'backup_urls') + loop + -- insert into backup with update + insert into backup (upload_id, + url, + inserted_at) + values (inserted_upload_id, + backup_url, + (data ->> 'inserted_at')::timestamptz) + ON CONFLICT ( url ) DO NOTHING; + end loop; + + return inserted_upload_id; +END +$$; + +CREATE OR REPLACE FUNCTION upsert_pin(data json) RETURNS BIGINT + LANGUAGE plpgsql + volatile + PARALLEL UNSAFE +AS +$$ +DECLARE + pin_location_result_id BIGINT; + pin_result_id BIGINT; +BEGIN + -- DATA => content_cid, pin(status, location(peer_id, peer_name, region)) + + -- Add to pin_location table if new + insert into pin_location (peer_id, peer_name, region) + values (data -> 'pin' -> 'location' ->> 'peer_id', + data -> 'pin' -> 'location' ->> 'peer_name', + data -> 'pin' -> 'location' ->> 'region') + ON CONFLICT ( peer_id ) DO UPDATE + SET "peer_name" = data -> 'pin' -> 'location' ->> 'peer_name', + "region" = data -> 'pin' -> 'location' ->> 'region' + returning id into pin_location_result_id; + + -- Add to pin table if new + insert into pin (content_cid, status, pin_location_id, updated_at) + values (data ->> 'content_cid', + (data -> 'pin' ->> 'status')::pin_status_type, + pin_location_result_id, + (NOW())::timestamptz) + ON CONFLICT ( content_cid, pin_location_id ) DO UPDATE + SET "status" = (data -> 'pin' ->> 'status')::pin_status_type, + "updated_at" = NOW() + returning id into pin_result_id; + + return pin_location_result_id; +END +$$; + +CREATE OR REPLACE FUNCTION user_used_storage(query_user_id BIGINT) RETURNS BIGINT + LANGUAGE plpgsql +AS +$$ +BEGIN + return( + select sum(c.dag_size) + from upload u + join content c on c.cid = u.content_cid + where u.user_id = query_user_id and u.deleted_at is null + ); +END +$$; + +CREATE OR REPLACE FUNCTION find_deals_by_content_cids(cids text[]) + RETURNS TABLE + ( + status text, + "created" timestamptz, + "updated" timestamptz, + "dealId" bigint, + "dataModelSelector" text, + "statusText" text, + "dealActivation" timestamptz, + "dealExpiration" timestamptz, + "storageProvider" text, + "pieceCid" text, + "batchRootCid" text, + "dataCid" text + ) + LANGUAGE sql + STABLE + PARALLEL SAFE +AS +$$ +SELECT COALESCE(de.status, 'queued') as status, + de.entry_created as created, + de.entry_last_updated as updated, + de.deal_id as dealId, + ae.datamodel_selector as dataModelSelector, + de.status_meta as statusText, + de.start_time as dealActivation, + de.end_time as dealExpiration, + de.provider as storageProvider, + a.piece_cid as pieceCid, + ae.aggregate_cid as batchRootCid, + ae.cid_v1 as dataCid +FROM public.aggregate_entry ae + join public.aggregate a using (aggregate_cid) + LEFT JOIN public.deal de USING (aggregate_cid) +WHERE ae.cid_v1 = ANY (cids) +ORDER BY de.entry_last_updated +$$; diff --git a/packages/db/postgres/pg-rest-api-types.d.ts b/packages/db/postgres/pg-rest-api-types.d.ts new file mode 100644 index 0000000000..88519c977d --- /dev/null +++ b/packages/db/postgres/pg-rest-api-types.d.ts @@ -0,0 +1,1404 @@ +/** + * This file was auto-generated by openapi-typescript. + * Do not make direct changes to the file. + */ + +export interface paths { + "/": { + get: { + responses: { + /** OK */ + 200: unknown; + }; + }; + }; + "/aggregate": { + get: { + parameters: { + query: { + aggregate_cid?: parameters["rowFilter.aggregate.aggregate_cid"]; + piece_cid?: parameters["rowFilter.aggregate.piece_cid"]; + sha256hex?: parameters["rowFilter.aggregate.sha256hex"]; + export_size?: parameters["rowFilter.aggregate.export_size"]; + metadata?: parameters["rowFilter.aggregate.metadata"]; + entry_created?: parameters["rowFilter.aggregate.entry_created"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["aggregate"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + }; + "/aggregate_entry": { + get: { + parameters: { + query: { + aggregate_cid?: parameters["rowFilter.aggregate_entry.aggregate_cid"]; + cid_v1?: parameters["rowFilter.aggregate_entry.cid_v1"]; + datamodel_selector?: parameters["rowFilter.aggregate_entry.datamodel_selector"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["aggregate_entry"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + }; + "/auth_key": { + get: { + parameters: { + query: { + id?: parameters["rowFilter.auth_key.id"]; + name?: parameters["rowFilter.auth_key.name"]; + secret?: parameters["rowFilter.auth_key.secret"]; + user_id?: parameters["rowFilter.auth_key.user_id"]; + inserted_at?: parameters["rowFilter.auth_key.inserted_at"]; + updated_at?: parameters["rowFilter.auth_key.updated_at"]; + deleted_at?: parameters["rowFilter.auth_key.deleted_at"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["auth_key"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + post: { + parameters: { + body: { + /** auth_key */ + auth_key?: definitions["auth_key"]; + }; + query: { + /** Filtering Columns */ + select?: parameters["select"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** Created */ + 201: unknown; + }; + }; + delete: { + parameters: { + query: { + id?: parameters["rowFilter.auth_key.id"]; + name?: parameters["rowFilter.auth_key.name"]; + secret?: parameters["rowFilter.auth_key.secret"]; + user_id?: parameters["rowFilter.auth_key.user_id"]; + inserted_at?: parameters["rowFilter.auth_key.inserted_at"]; + updated_at?: parameters["rowFilter.auth_key.updated_at"]; + deleted_at?: parameters["rowFilter.auth_key.deleted_at"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + patch: { + parameters: { + query: { + id?: parameters["rowFilter.auth_key.id"]; + name?: parameters["rowFilter.auth_key.name"]; + secret?: parameters["rowFilter.auth_key.secret"]; + user_id?: parameters["rowFilter.auth_key.user_id"]; + inserted_at?: parameters["rowFilter.auth_key.inserted_at"]; + updated_at?: parameters["rowFilter.auth_key.updated_at"]; + deleted_at?: parameters["rowFilter.auth_key.deleted_at"]; + }; + body: { + /** auth_key */ + auth_key?: definitions["auth_key"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + }; + "/backup": { + get: { + parameters: { + query: { + id?: parameters["rowFilter.backup.id"]; + upload_id?: parameters["rowFilter.backup.upload_id"]; + url?: parameters["rowFilter.backup.url"]; + inserted_at?: parameters["rowFilter.backup.inserted_at"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["backup"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + post: { + parameters: { + body: { + /** backup */ + backup?: definitions["backup"]; + }; + query: { + /** Filtering Columns */ + select?: parameters["select"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** Created */ + 201: unknown; + }; + }; + delete: { + parameters: { + query: { + id?: parameters["rowFilter.backup.id"]; + upload_id?: parameters["rowFilter.backup.upload_id"]; + url?: parameters["rowFilter.backup.url"]; + inserted_at?: parameters["rowFilter.backup.inserted_at"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + patch: { + parameters: { + query: { + id?: parameters["rowFilter.backup.id"]; + upload_id?: parameters["rowFilter.backup.upload_id"]; + url?: parameters["rowFilter.backup.url"]; + inserted_at?: parameters["rowFilter.backup.inserted_at"]; + }; + body: { + /** backup */ + backup?: definitions["backup"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + }; + "/content": { + get: { + parameters: { + query: { + cid?: parameters["rowFilter.content.cid"]; + dag_size?: parameters["rowFilter.content.dag_size"]; + inserted_at?: parameters["rowFilter.content.inserted_at"]; + updated_at?: parameters["rowFilter.content.updated_at"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["content"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + post: { + parameters: { + body: { + /** content */ + content?: definitions["content"]; + }; + query: { + /** Filtering Columns */ + select?: parameters["select"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** Created */ + 201: unknown; + }; + }; + delete: { + parameters: { + query: { + cid?: parameters["rowFilter.content.cid"]; + dag_size?: parameters["rowFilter.content.dag_size"]; + inserted_at?: parameters["rowFilter.content.inserted_at"]; + updated_at?: parameters["rowFilter.content.updated_at"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + patch: { + parameters: { + query: { + cid?: parameters["rowFilter.content.cid"]; + dag_size?: parameters["rowFilter.content.dag_size"]; + inserted_at?: parameters["rowFilter.content.inserted_at"]; + updated_at?: parameters["rowFilter.content.updated_at"]; + }; + body: { + /** content */ + content?: definitions["content"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + }; + "/deal": { + get: { + parameters: { + query: { + deal_id?: parameters["rowFilter.deal.deal_id"]; + aggregate_cid?: parameters["rowFilter.deal.aggregate_cid"]; + client?: parameters["rowFilter.deal.client"]; + provider?: parameters["rowFilter.deal.provider"]; + status?: parameters["rowFilter.deal.status"]; + start_epoch?: parameters["rowFilter.deal.start_epoch"]; + end_epoch?: parameters["rowFilter.deal.end_epoch"]; + entry_created?: parameters["rowFilter.deal.entry_created"]; + entry_last_updated?: parameters["rowFilter.deal.entry_last_updated"]; + status_meta?: parameters["rowFilter.deal.status_meta"]; + start_time?: parameters["rowFilter.deal.start_time"]; + sector_start_epoch?: parameters["rowFilter.deal.sector_start_epoch"]; + sector_start_time?: parameters["rowFilter.deal.sector_start_time"]; + end_time?: parameters["rowFilter.deal.end_time"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["deal"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + }; + "/pin": { + get: { + parameters: { + query: { + id?: parameters["rowFilter.pin.id"]; + status?: parameters["rowFilter.pin.status"]; + content_cid?: parameters["rowFilter.pin.content_cid"]; + pin_location_id?: parameters["rowFilter.pin.pin_location_id"]; + inserted_at?: parameters["rowFilter.pin.inserted_at"]; + updated_at?: parameters["rowFilter.pin.updated_at"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["pin"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + post: { + parameters: { + body: { + /** pin */ + pin?: definitions["pin"]; + }; + query: { + /** Filtering Columns */ + select?: parameters["select"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** Created */ + 201: unknown; + }; + }; + delete: { + parameters: { + query: { + id?: parameters["rowFilter.pin.id"]; + status?: parameters["rowFilter.pin.status"]; + content_cid?: parameters["rowFilter.pin.content_cid"]; + pin_location_id?: parameters["rowFilter.pin.pin_location_id"]; + inserted_at?: parameters["rowFilter.pin.inserted_at"]; + updated_at?: parameters["rowFilter.pin.updated_at"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + patch: { + parameters: { + query: { + id?: parameters["rowFilter.pin.id"]; + status?: parameters["rowFilter.pin.status"]; + content_cid?: parameters["rowFilter.pin.content_cid"]; + pin_location_id?: parameters["rowFilter.pin.pin_location_id"]; + inserted_at?: parameters["rowFilter.pin.inserted_at"]; + updated_at?: parameters["rowFilter.pin.updated_at"]; + }; + body: { + /** pin */ + pin?: definitions["pin"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + }; + "/pin_location": { + get: { + parameters: { + query: { + id?: parameters["rowFilter.pin_location.id"]; + peer_id?: parameters["rowFilter.pin_location.peer_id"]; + peer_name?: parameters["rowFilter.pin_location.peer_name"]; + region?: parameters["rowFilter.pin_location.region"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["pin_location"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + post: { + parameters: { + body: { + /** pin_location */ + pin_location?: definitions["pin_location"]; + }; + query: { + /** Filtering Columns */ + select?: parameters["select"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** Created */ + 201: unknown; + }; + }; + delete: { + parameters: { + query: { + id?: parameters["rowFilter.pin_location.id"]; + peer_id?: parameters["rowFilter.pin_location.peer_id"]; + peer_name?: parameters["rowFilter.pin_location.peer_name"]; + region?: parameters["rowFilter.pin_location.region"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + patch: { + parameters: { + query: { + id?: parameters["rowFilter.pin_location.id"]; + peer_id?: parameters["rowFilter.pin_location.peer_id"]; + peer_name?: parameters["rowFilter.pin_location.peer_name"]; + region?: parameters["rowFilter.pin_location.region"]; + }; + body: { + /** pin_location */ + pin_location?: definitions["pin_location"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + }; + "/pin_request": { + get: { + parameters: { + query: { + id?: parameters["rowFilter.pin_request.id"]; + pin_id?: parameters["rowFilter.pin_request.pin_id"]; + inserted_at?: parameters["rowFilter.pin_request.inserted_at"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["pin_request"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + post: { + parameters: { + body: { + /** pin_request */ + pin_request?: definitions["pin_request"]; + }; + query: { + /** Filtering Columns */ + select?: parameters["select"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** Created */ + 201: unknown; + }; + }; + delete: { + parameters: { + query: { + id?: parameters["rowFilter.pin_request.id"]; + pin_id?: parameters["rowFilter.pin_request.pin_id"]; + inserted_at?: parameters["rowFilter.pin_request.inserted_at"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + patch: { + parameters: { + query: { + id?: parameters["rowFilter.pin_request.id"]; + pin_id?: parameters["rowFilter.pin_request.pin_id"]; + inserted_at?: parameters["rowFilter.pin_request.inserted_at"]; + }; + body: { + /** pin_request */ + pin_request?: definitions["pin_request"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + }; + "/upload": { + get: { + parameters: { + query: { + id?: parameters["rowFilter.upload.id"]; + user_id?: parameters["rowFilter.upload.user_id"]; + auth_key_id?: parameters["rowFilter.upload.auth_key_id"]; + content_cid?: parameters["rowFilter.upload.content_cid"]; + source_cid?: parameters["rowFilter.upload.source_cid"]; + type?: parameters["rowFilter.upload.type"]; + name?: parameters["rowFilter.upload.name"]; + inserted_at?: parameters["rowFilter.upload.inserted_at"]; + updated_at?: parameters["rowFilter.upload.updated_at"]; + deleted_at?: parameters["rowFilter.upload.deleted_at"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["upload"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + post: { + parameters: { + body: { + /** upload */ + upload?: definitions["upload"]; + }; + query: { + /** Filtering Columns */ + select?: parameters["select"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** Created */ + 201: unknown; + }; + }; + delete: { + parameters: { + query: { + id?: parameters["rowFilter.upload.id"]; + user_id?: parameters["rowFilter.upload.user_id"]; + auth_key_id?: parameters["rowFilter.upload.auth_key_id"]; + content_cid?: parameters["rowFilter.upload.content_cid"]; + source_cid?: parameters["rowFilter.upload.source_cid"]; + type?: parameters["rowFilter.upload.type"]; + name?: parameters["rowFilter.upload.name"]; + inserted_at?: parameters["rowFilter.upload.inserted_at"]; + updated_at?: parameters["rowFilter.upload.updated_at"]; + deleted_at?: parameters["rowFilter.upload.deleted_at"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + patch: { + parameters: { + query: { + id?: parameters["rowFilter.upload.id"]; + user_id?: parameters["rowFilter.upload.user_id"]; + auth_key_id?: parameters["rowFilter.upload.auth_key_id"]; + content_cid?: parameters["rowFilter.upload.content_cid"]; + source_cid?: parameters["rowFilter.upload.source_cid"]; + type?: parameters["rowFilter.upload.type"]; + name?: parameters["rowFilter.upload.name"]; + inserted_at?: parameters["rowFilter.upload.inserted_at"]; + updated_at?: parameters["rowFilter.upload.updated_at"]; + deleted_at?: parameters["rowFilter.upload.deleted_at"]; + }; + body: { + /** upload */ + upload?: definitions["upload"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + }; + "/user": { + get: { + parameters: { + query: { + id?: parameters["rowFilter.user.id"]; + name?: parameters["rowFilter.user.name"]; + picture?: parameters["rowFilter.user.picture"]; + email?: parameters["rowFilter.user.email"]; + issuer?: parameters["rowFilter.user.issuer"]; + github?: parameters["rowFilter.user.github"]; + public_address?: parameters["rowFilter.user.public_address"]; + inserted_at?: parameters["rowFilter.user.inserted_at"]; + updated_at?: parameters["rowFilter.user.updated_at"]; + /** Filtering Columns */ + select?: parameters["select"]; + /** Ordering */ + order?: parameters["order"]; + /** Limiting and Pagination */ + offset?: parameters["offset"]; + /** Limiting and Pagination */ + limit?: parameters["limit"]; + }; + header: { + /** Limiting and Pagination */ + Range?: parameters["range"]; + /** Limiting and Pagination */ + "Range-Unit"?: parameters["rangeUnit"]; + /** Preference */ + Prefer?: parameters["preferCount"]; + }; + }; + responses: { + /** OK */ + 200: { + schema: definitions["user"][]; + }; + /** Partial Content */ + 206: unknown; + }; + }; + post: { + parameters: { + body: { + /** user */ + user?: definitions["user"]; + }; + query: { + /** Filtering Columns */ + select?: parameters["select"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** Created */ + 201: unknown; + }; + }; + delete: { + parameters: { + query: { + id?: parameters["rowFilter.user.id"]; + name?: parameters["rowFilter.user.name"]; + picture?: parameters["rowFilter.user.picture"]; + email?: parameters["rowFilter.user.email"]; + issuer?: parameters["rowFilter.user.issuer"]; + github?: parameters["rowFilter.user.github"]; + public_address?: parameters["rowFilter.user.public_address"]; + inserted_at?: parameters["rowFilter.user.inserted_at"]; + updated_at?: parameters["rowFilter.user.updated_at"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + patch: { + parameters: { + query: { + id?: parameters["rowFilter.user.id"]; + name?: parameters["rowFilter.user.name"]; + picture?: parameters["rowFilter.user.picture"]; + email?: parameters["rowFilter.user.email"]; + issuer?: parameters["rowFilter.user.issuer"]; + github?: parameters["rowFilter.user.github"]; + public_address?: parameters["rowFilter.user.public_address"]; + inserted_at?: parameters["rowFilter.user.inserted_at"]; + updated_at?: parameters["rowFilter.user.updated_at"]; + }; + body: { + /** user */ + user?: definitions["user"]; + }; + header: { + /** Preference */ + Prefer?: parameters["preferReturn"]; + }; + }; + responses: { + /** No Content */ + 204: never; + }; + }; + }; + "/rpc/postgres_fdw_handler": { + post: { + parameters: { + body: { + args: { [key: string]: unknown }; + }; + header: { + /** Preference */ + Prefer?: parameters["preferParams"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + }; + }; + }; + "/rpc/pgrst_watch": { + post: { + parameters: { + body: { + args: { [key: string]: unknown }; + }; + header: { + /** Preference */ + Prefer?: parameters["preferParams"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + }; + }; + }; + "/rpc/postgres_fdw_validator": { + post: { + parameters: { + body: { + args: { + "": string; + }; + }; + header: { + /** Preference */ + Prefer?: parameters["preferParams"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + }; + }; + }; + "/rpc/find_deals_by_content_cids": { + post: { + parameters: { + body: { + args: { + cids: string; + }; + }; + header: { + /** Preference */ + Prefer?: parameters["preferParams"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + }; + }; + }; + "/rpc/upsert_pin": { + post: { + parameters: { + body: { + args: { + data: string; + }; + }; + header: { + /** Preference */ + Prefer?: parameters["preferParams"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + }; + }; + }; + "/rpc/json_arr_to_text_arr": { + post: { + parameters: { + body: { + args: { + _json: string; + }; + }; + header: { + /** Preference */ + Prefer?: parameters["preferParams"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + }; + }; + }; + "/rpc/user_used_storage": { + post: { + parameters: { + body: { + args: { + query_user_id: number; + }; + }; + header: { + /** Preference */ + Prefer?: parameters["preferParams"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + }; + }; + }; + "/rpc/create_upload": { + post: { + parameters: { + body: { + args: { + data: string; + }; + }; + header: { + /** Preference */ + Prefer?: parameters["preferParams"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + }; + }; + }; + "/rpc/json_arr_to_upload__pin_type_arr": { + post: { + parameters: { + body: { + args: { + _json: string; + }; + }; + header: { + /** Preference */ + Prefer?: parameters["preferParams"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + }; + }; + }; +} + +export interface definitions { + aggregate: { + aggregate_cid?: string; + piece_cid?: string; + sha256hex?: string; + export_size?: number; + metadata?: string; + entry_created?: string; + }; + aggregate_entry: { + aggregate_cid?: string; + cid_v1?: string; + datamodel_selector?: string; + }; + auth_key: { + /** + * Note: + * This is a Primary Key. + */ + id: number; + name: string; + secret: string; + /** + * Note: + * This is a Foreign Key to `user.id`. + */ + user_id: number; + inserted_at: string; + updated_at: string; + deleted_at?: string; + }; + backup: { + /** + * Note: + * This is a Primary Key. + */ + id: number; + /** + * Note: + * This is a Foreign Key to `upload.id`. + */ + upload_id: number; + url: string; + inserted_at: string; + }; + content: { + /** + * Note: + * This is a Primary Key. + */ + cid: string; + dag_size?: number; + inserted_at: string; + updated_at: string; + }; + deal: { + deal_id?: number; + aggregate_cid?: string; + client?: string; + provider?: string; + status?: string; + start_epoch?: number; + end_epoch?: number; + entry_created?: string; + entry_last_updated?: string; + status_meta?: string; + start_time?: string; + sector_start_epoch?: number; + sector_start_time?: string; + end_time?: string; + }; + pin: { + /** + * Note: + * This is a Primary Key. + */ + id: number; + status: + | "Undefined" + | "ClusterError" + | "PinError" + | "UnpinError" + | "Pinned" + | "Pinning" + | "Unpinning" + | "Unpinned" + | "Remote" + | "PinQueued" + | "UnpinQueued" + | "Sharded"; + /** + * Note: + * This is a Foreign Key to `content.cid`. + */ + content_cid: string; + /** + * Note: + * This is a Foreign Key to `pin_location.id`. + */ + pin_location_id: number; + inserted_at: string; + updated_at: string; + }; + pin_location: { + /** + * Note: + * This is a Primary Key. + */ + id: number; + peer_id: string; + peer_name?: string; + region?: string; + }; + pin_request: { + /** + * Note: + * This is a Primary Key. + */ + id: number; + /** + * Note: + * This is a Foreign Key to `pin.id`. + */ + pin_id: number; + inserted_at: string; + }; + upload: { + /** + * Note: + * This is a Primary Key. + */ + id: number; + /** + * Note: + * This is a Foreign Key to `user.id`. + */ + user_id: number; + /** + * Note: + * This is a Foreign Key to `auth_key.id`. + */ + auth_key_id?: number; + /** + * Note: + * This is a Foreign Key to `content.cid`. + */ + content_cid: string; + source_cid: string; + type: "Car" | "Upload" | "Blob" | "Multipart"; + name?: string; + inserted_at: string; + updated_at: string; + deleted_at?: string; + }; + user: { + /** + * Note: + * This is a Primary Key. + */ + id: number; + name: string; + picture?: string; + email: string; + issuer: string; + github?: string; + public_address: string; + inserted_at: string; + updated_at: string; + }; +} + +export interface parameters { + /** Preference */ + preferParams: "params=single-object"; + /** Preference */ + preferReturn: "return=representation" | "return=minimal" | "return=none"; + /** Preference */ + preferCount: "count=none"; + /** Filtering Columns */ + select: string; + /** On Conflict */ + on_conflict: string; + /** Ordering */ + order: string; + /** Limiting and Pagination */ + range: string; + /** Limiting and Pagination */ + rangeUnit: string; + /** Limiting and Pagination */ + offset: string; + /** Limiting and Pagination */ + limit: string; + /** aggregate */ + "body.aggregate": definitions["aggregate"]; + "rowFilter.aggregate.aggregate_cid": string; + "rowFilter.aggregate.piece_cid": string; + "rowFilter.aggregate.sha256hex": string; + "rowFilter.aggregate.export_size": string; + "rowFilter.aggregate.metadata": string; + "rowFilter.aggregate.entry_created": string; + /** aggregate_entry */ + "body.aggregate_entry": definitions["aggregate_entry"]; + "rowFilter.aggregate_entry.aggregate_cid": string; + "rowFilter.aggregate_entry.cid_v1": string; + "rowFilter.aggregate_entry.datamodel_selector": string; + /** auth_key */ + "body.auth_key": definitions["auth_key"]; + "rowFilter.auth_key.id": string; + "rowFilter.auth_key.name": string; + "rowFilter.auth_key.secret": string; + "rowFilter.auth_key.user_id": string; + "rowFilter.auth_key.inserted_at": string; + "rowFilter.auth_key.updated_at": string; + "rowFilter.auth_key.deleted_at": string; + /** backup */ + "body.backup": definitions["backup"]; + "rowFilter.backup.id": string; + "rowFilter.backup.upload_id": string; + "rowFilter.backup.url": string; + "rowFilter.backup.inserted_at": string; + /** content */ + "body.content": definitions["content"]; + "rowFilter.content.cid": string; + "rowFilter.content.dag_size": string; + "rowFilter.content.inserted_at": string; + "rowFilter.content.updated_at": string; + /** deal */ + "body.deal": definitions["deal"]; + "rowFilter.deal.deal_id": string; + "rowFilter.deal.aggregate_cid": string; + "rowFilter.deal.client": string; + "rowFilter.deal.provider": string; + "rowFilter.deal.status": string; + "rowFilter.deal.start_epoch": string; + "rowFilter.deal.end_epoch": string; + "rowFilter.deal.entry_created": string; + "rowFilter.deal.entry_last_updated": string; + "rowFilter.deal.status_meta": string; + "rowFilter.deal.start_time": string; + "rowFilter.deal.sector_start_epoch": string; + "rowFilter.deal.sector_start_time": string; + "rowFilter.deal.end_time": string; + /** pin */ + "body.pin": definitions["pin"]; + "rowFilter.pin.id": string; + "rowFilter.pin.status": string; + "rowFilter.pin.content_cid": string; + "rowFilter.pin.pin_location_id": string; + "rowFilter.pin.inserted_at": string; + "rowFilter.pin.updated_at": string; + /** pin_location */ + "body.pin_location": definitions["pin_location"]; + "rowFilter.pin_location.id": string; + "rowFilter.pin_location.peer_id": string; + "rowFilter.pin_location.peer_name": string; + "rowFilter.pin_location.region": string; + /** pin_request */ + "body.pin_request": definitions["pin_request"]; + "rowFilter.pin_request.id": string; + "rowFilter.pin_request.pin_id": string; + "rowFilter.pin_request.inserted_at": string; + /** upload */ + "body.upload": definitions["upload"]; + "rowFilter.upload.id": string; + "rowFilter.upload.user_id": string; + "rowFilter.upload.auth_key_id": string; + "rowFilter.upload.content_cid": string; + "rowFilter.upload.source_cid": string; + "rowFilter.upload.type": string; + "rowFilter.upload.name": string; + "rowFilter.upload.inserted_at": string; + "rowFilter.upload.updated_at": string; + "rowFilter.upload.deleted_at": string; + /** user */ + "body.user": definitions["user"]; + "rowFilter.user.id": string; + "rowFilter.user.name": string; + "rowFilter.user.picture": string; + "rowFilter.user.email": string; + "rowFilter.user.issuer": string; + "rowFilter.user.github": string; + "rowFilter.user.public_address": string; + "rowFilter.user.inserted_at": string; + "rowFilter.user.updated_at": string; +} + +export interface operations {} + +export interface external {} diff --git a/packages/db/postgres/reset.sql b/packages/db/postgres/reset.sql new file mode 100644 index 0000000000..e226a27cc8 --- /dev/null +++ b/packages/db/postgres/reset.sql @@ -0,0 +1,16 @@ +DROP TYPE IF EXISTS upload_type cascade; +DROP TYPE IF EXISTS pin_status_type cascade; +DROP TABLE IF EXISTS upload CASCADE; +DROP TABLE IF EXISTS pin CASCADE; +DROP TABLE IF EXISTS pin_location; +DROP TABLE IF EXISTS pin_request; +DROP TABLE IF EXISTS content; +DROP TABLE IF EXISTS backup; +DROP TABLE IF EXISTS auth_key; +DROP TABLE IF EXISTS public.user; + +DROP SCHEMA IF EXISTS cargo CASCADE; +DROP SERVER IF EXISTS dag_cargo_server CASCADE; +DROP MATERIALIZED VIEW IF EXISTS public.aggregate_entry CASCADE; +DROP MATERIALIZED VIEW IF EXISTS public.deal CASCADE; +DROP MATERIALIZED VIEW IF EXISTS public.aggregate CASCADE; \ No newline at end of file diff --git a/packages/db/postgres/tables.sql b/packages/db/postgres/tables.sql new file mode 100644 index 0000000000..ee6a8cfa41 --- /dev/null +++ b/packages/db/postgres/tables.sql @@ -0,0 +1,158 @@ +-- A user of web3.storage. +CREATE TABLE IF NOT EXISTS public.user +( + id BIGSERIAL PRIMARY KEY, + name TEXT NOT NULL, + picture TEXT, + email TEXT NOT NULL, + -- The Decentralized ID of the Magic User who generated the DID Token. + issuer TEXT NOT NULL UNIQUE, + -- GitHub user handle, may be null if user logged in via email. + github TEXT, + -- Cryptographic public address of the Magic User. + public_address TEXT NOT NULL UNIQUE, + inserted_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL +); + +-- User authentication keys. +CREATE TABLE IF NOT EXISTS auth_key +( + id BIGSERIAL PRIMARY KEY, + -- User assigned name. + name TEXT NOT NULL, + -- Secret that corresponds to this token. + secret TEXT NOT NULL, + -- User this token belongs to. + user_id BIGINT NOT NULL REFERENCES public.user (id), + inserted_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, + deleted_at TIMESTAMP WITH TIME ZONE +); + +-- Details of the root of a file/directory stored on web3.storage. +CREATE TABLE IF NOT EXISTS content +( + -- Root CID for this content. Normalized as v1 base32. + cid TEXT PRIMARY KEY, + -- Size of the DAG in bytes. Either the cumulativeSize for dag-pb or the sum of block sizes in the CAR. + dag_size BIGINT, + inserted_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL +); + +-- IPFS Cluster tracker status values. +-- https://github.com/ipfs/ipfs-cluster/blob/54c3608899754412861e69ee81ca8f676f7e294b/api/types.go#L52-L83 +-- TODO: nft.storage only using a subset of these: https://github.com/ipfs-shipyard/nft.storage/blob/main/packages/api/db/tables.sql#L2-L7 +CREATE TYPE pin_status_type AS ENUM +( + -- Should never see this value. When used as a filter. It means "all". + 'Undefined', + -- The cluster node is offline or not responding. + 'ClusterError', + -- An error occurred pinning. + 'PinError', + -- An error occurred unpinning. + 'UnpinError', + -- The IPFS daemon has pinned the item. + 'Pinned', + -- The IPFS daemon is currently pinning the item. + 'Pinning', + -- The IPFS daemon is currently unpinning the item. + 'Unpinning', + -- The IPFS daemon is not pinning the item. + 'Unpinned', + -- The IPFS daemon is not pinning the item but it is being tracked. + 'Remote', + -- The item has been queued for pinning on the IPFS daemon. + 'PinQueued', + -- The item has been queued for unpinning on the IPFS daemon. + 'UnpinQueued', + -- The IPFS daemon is not pinning the item through this CID but it is tracked + -- in a cluster dag + 'Sharded' +); + +-- An IPFS node that is pinning content. +CREATE TABLE IF NOT EXISTS pin_location +( + id BIGSERIAL PRIMARY KEY, + -- Libp2p peer ID of the node pinning this pin. + peer_id TEXT NOT NULL UNIQUE, + -- Name of the peer pinning this pin. + peer_name TEXT, + -- Geographic region this node resides in. + region TEXT +); + +-- Information for piece of content pinned in IPFS. +CREATE TABLE IF NOT EXISTS pin +( + id BIGSERIAL PRIMARY KEY, + -- Pinning status at this location. + status pin_status_type NOT NULL, + -- The content being pinned. + content_cid TEXT NOT NULL REFERENCES content (cid), + -- Identifier for the service that is pinning this pin. + pin_location_id BIGINT NOT NULL REFERENCES pin_location (id), + inserted_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, + UNIQUE (content_cid, pin_location_id) +); + +-- Upload type is the type of received upload data. +CREATE TYPE upload_type AS ENUM +( + -- A CAR file upload. + 'Car', + -- Files uploaded and converted into a CAR file. + 'Upload', + -- A raw blob upload in the request body. + 'Blob', + -- A multi file upload using a multipart request. + 'Multipart' +); + +-- An upload created by a user. +CREATE TABLE IF NOT EXISTS upload +( + id BIGSERIAL PRIMARY KEY, + -- User that uploaded this content. + user_id BIGINT NOT NULL REFERENCES public.user (id), + -- User authentication token that was used to upload this content. + -- Note: nullable, because the user may have used a Magic.link token. + auth_key_id BIGINT REFERENCES auth_key (id), + -- The root of the uploaded content (base32 CIDv1 normalised). + content_cid TEXT NOT NULL REFERENCES content (cid), + -- CID in the from we found in the received file. + source_cid TEXT NOT NULL, + -- Type of received upload data. + type upload_type NOT NULL, + -- User provided name for this upload. + name TEXT, + inserted_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, + updated_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL, + deleted_at TIMESTAMP WITH TIME ZONE, + -- deleted_at TIMESTAMP WITH TIME ZONE, do we want? + UNIQUE (user_id, source_cid) +); + +-- Details of the backups created for an upload. +CREATE TABLE IF NOT EXISTS backup +( + id BIGSERIAL PRIMARY KEY, + -- Upload that resulted in this backup. + upload_id BIGINT NOT NULL REFERENCES upload (id) ON DELETE CASCADE, + -- Backup url location. + url TEXT NOT NULL UNIQUE, + inserted_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL +); + +-- A request to keep a Pin in sync with the nodes that are pinning it. +CREATE TABLE IF NOT EXISTS pin_request +( + id BIGSERIAL PRIMARY KEY, + -- Identifier for the pin to keep in sync. + pin_id BIGINT NOT NULL REFERENCES pin (id), + inserted_at TIMESTAMP WITH TIME ZONE DEFAULT timezone('utc'::text, now()) NOT NULL +) diff --git a/packages/db/pw-test.config.cjs b/packages/db/pw-test.config.cjs new file mode 100644 index 0000000000..6ec0c22cc7 --- /dev/null +++ b/packages/db/pw-test.config.cjs @@ -0,0 +1,28 @@ +const path = require('path') +const dotenv = require('dotenv') +const execa = require('execa') + +dotenv.config({ + path: path.join(__dirname, '.env.local') +}) + +const cli = path.join(__dirname, 'scripts/cli.js') + +module.exports = { + // Setup needed docker containers before running tests + beforeTests: async () => { + console.log('⚡️ Starting local postgrest container') + + const project = `web3-storage-db-${Date.now()}` + await execa(cli, ['db', '--start', '--project', project]) + await execa(cli, ['db-sql', '--cargo', '--testing']) + + console.log('⚡️ local postgrest container started.') + return { project } + }, + // Tear down docker containers + afterTests: async (ctx, beforeTests) => { + console.log('⚡️ Stopping local postgrest container.') + await execa(cli, ['db', '--stop', '--clean', '--project', beforeTests.project]) + } +} diff --git a/packages/db/scripts/cli.js b/packages/db/scripts/cli.js new file mode 100755 index 0000000000..c41a3e97c7 --- /dev/null +++ b/packages/db/scripts/cli.js @@ -0,0 +1,36 @@ +#!/usr/bin/env node +import path from 'path' +import dotenv from 'dotenv' +import sade from 'sade' +import { fileURLToPath } from 'url' +import { dbCmd } from './cmds/db.js' +import { dbSqlCmd } from './cmds/db-sql.js' +import { dbTypesCmd } from './cmds/pg-rest-api-types.js' + +const __dirname = path.dirname(fileURLToPath(import.meta.url)) +const prog = sade('api') + +dotenv.config({ + path: path.join(__dirname, '../.env.local') +}) + +prog + .command('db-sql') + .describe('Database scripts') + .option('--reset', 'Reset db before running SQL.', false) + .option('--cargo', 'Import cargo data.', false) + .option('--testing', 'Tweak schema for testing.', false) + .action(dbSqlCmd) + .command('db') + .describe('Run docker compose to setup pg and pgrest') + .option('--init', 'Init docker container', false) + .option('--start', 'Start docker container', false) + .option('--stop', 'Stop docker container', false) + .option('--project', 'Project name', 'nft-storage') + .option('--clean', 'Clean all dockers artifacts', false) + .action(dbCmd) + .command('pg-rest-api-types') + .describe('Database openapi types') + .action(dbTypesCmd) + +prog.parse(process.argv) diff --git a/packages/db/scripts/cmds/db-sql.js b/packages/db/scripts/cmds/db-sql.js new file mode 100644 index 0000000000..0202ec0980 --- /dev/null +++ b/packages/db/scripts/cmds/db-sql.js @@ -0,0 +1,87 @@ +/** + * Script with options to perform the typical DB commands. + */ + +import pg from 'pg' +import fs from 'fs' +import path from 'path' +import { fileURLToPath } from 'url' +import retry from 'p-retry' + +const __dirname = path.dirname(fileURLToPath(import.meta.url)) +const { Client } = pg + +/** + * @param {Object} [opts] + * @param {boolean} [opts.reset] + * @param {boolean} [opts.cargo] + * @param {boolean} [opts.testing] + */ +export async function dbSqlCmd ({ reset, cargo, testing } = {}) { + // read all the SQL files + const tablesSql = fs.readFileSync(path.join(__dirname, '../../postgres/tables.sql'), { + encoding: 'utf-8' + }) + const functionsSql = fs.readFileSync(path.join(__dirname, '../../postgres/functions.sql'), { + encoding: 'utf-8' + }) + const resetSql = fs.readFileSync(path.join(__dirname, '../../postgres/reset.sql'), { + encoding: 'utf-8' + }) + let cargoSql = fs.readFileSync(path.join(__dirname, '../../postgres/cargo.sql'), { + encoding: 'utf-8' + }) + + let fdwSql = fs.readFileSync(path.join(__dirname, '../../postgres/fdw.sql'), { + encoding: 'utf-8' + }) + + // Replace secrets in the FDW sql file + fdwSql = fdwSql.replace(":'DAG_CARGO_HOST'", `'${process.env.DAG_CARGO_HOST}'`) + fdwSql = fdwSql.replace(":'DAG_CARGO_DATABASE'", `'${process.env.DAG_CARGO_DATABASE}'`) + fdwSql = fdwSql.replace(":'DAG_CARGO_USER'", `'${process.env.DAG_CARGO_USER}'`) + fdwSql = fdwSql.replace(":'DAG_CARGO_PASSWORD'", `'${process.env.DAG_CARGO_PASSWORD}'`) + + // Setup postgres client + const connectionString = process.env.PG_CONNECTION + const client = await retry( + async () => { + const c = new Client({ connectionString }) + await c.connect() + return c + }, + { minTimeout: 100 } + ) + + if (reset) { + await client.query(resetSql) + } + + await client.query(tablesSql) + + if (cargo) { + if (testing) { + cargoSql = cargoSql.replace( + ` +-- Create materialized view from cargo "aggregate_entries" table +CREATE MATERIALIZED VIEW public.aggregate_entry +AS +SELECT * +FROM cargo.aggregate_entries;`, + ` +CREATE MATERIALIZED VIEW public.aggregate_entry +AS +SELECT * +FROM cargo.aggregate_entries +WHERE cid_v1 in ('bafybeiaj5yqocsg5cxsuhtvclnh4ulmrgsmnfbhbrfxrc3u2kkh35mts4e'); +` + ) + } + + await client.query(fdwSql) + await client.query(cargoSql) + } + + await client.query(functionsSql) + await client.end() +} diff --git a/packages/db/scripts/cmds/db.js b/packages/db/scripts/cmds/db.js new file mode 100644 index 0000000000..a1896efc2c --- /dev/null +++ b/packages/db/scripts/cmds/db.js @@ -0,0 +1,119 @@ +/** + * Script with options to init, start, stop and clean a docker compose + * with a Posgres DB and postgrest. + */ + +import path from 'path' +import { fileURLToPath } from 'url' +import execa from 'execa' +import net from 'net' + +const __dirname = path.dirname(fileURLToPath(import.meta.url)) + +/** + * @param {Object} opts + * @param {string} opts.project + * @param {boolean} [opts.init] + * @param {boolean} [opts.start] + * @param {boolean} [opts.stop] + * @param {boolean} [opts.clean] + */ +export async function dbCmd ({ project, init, start, stop, clean }) { + const composePath = path.join(__dirname, '../../postgres/docker/docker-compose.yml') + + if (init) { + await execa('docker-compose', [ + '--file', + composePath, + 'build', + '--no-cache' + ]) + + await execa('docker-compose', [ + '--file', + composePath, + '--project-name', + project, + 'up', + '--build', + '--no-start', + '--renew-anon-volumes' + ]) + } + + if (start) { + if ((await isPortReachable(5432)) || (await isPortReachable(3000))) { + throw new Error('Another docker project already running') + } + + await execa('docker-compose', [ + '--file', + composePath, + '--project-name', + project, + 'up', + '--detach' + ]) + } + + if (stop) { + await execa('docker-compose', [ + '--file', + composePath, + '--project-name', + project, + 'stop' + ]) + } + + if (clean) { + await execa('docker-compose', [ + '--file', + composePath, + '--project-name', + project, + 'down', + '--rmi', + 'local', + '-v', + '--remove-orphans' + ]) + } +} + +/** + * @param {number} port + */ +export default async function isPortReachable ( + port, + { host = 'localhost', timeout = 1000 } = {} +) { + if (typeof host !== 'string') { + throw new TypeError('Specify a `host`') + } + + const promise = new Promise((resolve, reject) => { + const socket = new net.Socket() + + const onError = (err) => { + socket.destroy() + reject(err) + } + + socket.setTimeout(timeout) + socket.once('error', onError) + socket.once('timeout', onError) + + socket.connect(port, host, () => { + socket.end() + resolve(undefined) + }) + }) + + try { + await promise + return true + } catch { + return false + } +} diff --git a/packages/db/scripts/cmds/pg-rest-api-types.js b/packages/db/scripts/cmds/pg-rest-api-types.js new file mode 100644 index 0000000000..daef7c4d0a --- /dev/null +++ b/packages/db/scripts/cmds/pg-rest-api-types.js @@ -0,0 +1,22 @@ +import execa from 'execa' +import { dbCmd } from './db.js' +import delay from 'delay' +import { dbSqlCmd } from './db-sql.js' + +export async function dbTypesCmd () { + const project = `web3-storage-pg-rest-api-types-${Date.now()}` + await dbCmd({ start: true, project }) + await delay(2000) + + try { + await dbSqlCmd({ cargo: true, testing: true }) + const url = `${process.env.PG_REST_URL}/?apikey=${process.env.PG_REST_JWT}` + await execa( + 'openapi-typescript', + [url, '--output', 'postgres/pg-rest-api-types.d.ts'], + { preferLocal: true } + ) + } finally { + await dbCmd({ clean: true, stop: true, project }) + } +} diff --git a/packages/db/test/backup.spec.js b/packages/db/test/backup.spec.js new file mode 100644 index 0000000000..b6075f848c --- /dev/null +++ b/packages/db/test/backup.spec.js @@ -0,0 +1,94 @@ +/* eslint-env mocha, browser */ +import assert from 'assert' +import { DBClient } from '../index' + +describe('backup', () => { + /** @type {DBClient} */ + const client = new DBClient({ + endpoint: 'http://127.0.0.1:3000', + token: 'super-secret-jwt-token-with-at-least-32-characters-long', + postgres: true + }) + let user + + const cid = 'bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci47bgf354' + const type = 'Upload' + const dagSize = 1000 + const name = `Upload_${new Date().toISOString()}` + const initialBackupUrl = `https://backup.cid/${new Date().toISOString()}/${Math.random()}` + const initialPinData = { + status: 'Pinning', + location: { + peerId: 'peer_id', + peerName: 'peer_name', + region: 'region' + } + } + let authKeys + let upload + + // Setup testing user + before(async () => { + const name = 'test-name' + const email = 'test@email.com' + const issuer = `issuer${Math.random()}` + const publicAddress = `public_address${Math.random()}` + + const upsertUser = await client.upsertUser({ + name, + email, + issuer, + publicAddress + }) + + assert(upsertUser, 'user created') + assert.strictEqual(upsertUser.issuer, issuer, 'user has correct issuer') + + // Get previously created user + user = await client.getUser(issuer) + }) + + // Create auth key + before(async () => { + const name = 'test-key-name' + const secret = 'test-secret' + await client.createKey({ + name, + secret, + user: user._id + }) + }) + + // Setup upload + before(async () => { + authKeys = await client.listKeys(user._id) + const createdUpload = await client.createUpload({ + user: user._id, + contentCid: cid, + sourceCid: cid, + authKey: authKeys[0]._id, + type, + dagSize: dagSize, + name, + pins: [initialPinData], + backupUrls: [initialBackupUrl] + }) + + assert(createdUpload, 'upload created') + assert(createdUpload.cid, 'upload has root cid') + + upload = await client.getUpload(cid, user._id) + + assert(upload, 'upload created') + }) + + it('can get upload backups', async () => { + const backups = await client.getBackups(upload._id) + + assert(backups, 'backups created') + assert.strictEqual(backups.length, 1, 'upload has a single backup') + assert(backups[0]._id, 'backup has id') + assert(backups[0].created, 'backup has inserted timestamp') + assert.strictEqual(backups[0].url, initialBackupUrl, 'backup has correct url') + }) +}) diff --git a/packages/db/test/index.spec.js b/packages/db/test/index.spec.js new file mode 100644 index 0000000000..ead5fc72c0 --- /dev/null +++ b/packages/db/test/index.spec.js @@ -0,0 +1,23 @@ +/* eslint-env mocha, browser */ +import assert from 'assert' +import { DBClient } from '../index' + +describe('db', () => { + it('can create postgres client', () => { + const dbClient = new DBClient({ + endpoint: 'http://127.0.0.1:3000', + token: 'super-secret-jwt-token-with-at-least-32-characters-long', + postgres: true + }) + + assert(dbClient.client, 'postgres client created') + }) + + it('can create fauna client', () => { + const dbClient = new DBClient({ + token: 'super-secret-jwt-token-with-at-least-32-characters-long' + }) + + assert(dbClient._client, 'fauna client created') + }) +}) diff --git a/packages/db/test/pin.spec.js b/packages/db/test/pin.spec.js new file mode 100644 index 0000000000..d344af97fe --- /dev/null +++ b/packages/db/test/pin.spec.js @@ -0,0 +1,146 @@ +/* eslint-env mocha, browser */ +import assert from 'assert' +import { DBClient } from '../index' + +describe('pin', () => { + /** @type {DBClient} */ + const client = new DBClient({ + endpoint: 'http://127.0.0.1:3000', + token: 'super-secret-jwt-token-with-at-least-32-characters-long', + postgres: true + }) + let user + + const cid = 'bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci47bgf354' + const type = 'Upload' + const dagSize = 1000 + const name = `Upload_${new Date().toISOString()}` + const initialBackupUrl = `https://backup.cid/${new Date().toISOString()}/${Math.random()}` + const initialPinData = { + status: 'Pinning', + location: { + peerId: 'peer_id', + peerName: 'peer_name', + region: 'region' + } + } + let authKeys + let upload + + // Setup testing user + before(async () => { + const name = 'test-name' + const email = 'test@email.com' + const issuer = `issuer${Math.random()}` + const publicAddress = `public_address${Math.random()}` + + const upsertUser = await client.upsertUser({ + name, + email, + issuer, + publicAddress + }) + + assert(upsertUser, 'user created') + assert.strictEqual(upsertUser.issuer, issuer, 'user has correct issuer') + + // Get previously created user + user = await client.getUser(issuer) + }) + + // Create auth key + before(async () => { + const name = 'test-key-name' + const secret = 'test-secret' + await client.createKey({ + name, + secret, + user: user._id + }) + }) + + // Setup upload + before(async () => { + authKeys = await client.listKeys(user._id) + const createdUpload = await client.createUpload({ + user: user._id, + contentCid: cid, + sourceCid: cid, + authKey: authKeys[0]._id, + type, + dagSize: dagSize, + name, + pins: [initialPinData], + backupUrls: [initialBackupUrl] + }) + + assert(createdUpload, 'upload created') + assert(createdUpload.cid, 'upload has root cid') + + upload = await client.getUpload(cid, user._id) + + assert(upload, 'upload created') + }) + + it('can get upload pins', async () => { + const pins = await client.getPins(cid) + assert(pins, 'pins created') + assert.strictEqual(pins.length, 1, 'upload has a single pin') + assert(pins[0]._id, 'pin has id') + assert(pins[0].created, 'pin has inserted timestamp') + assert(pins[0].updated, 'pin has inserted timestamp') + assert.strictEqual(pins[0].status, initialPinData.status, 'pin has correct state') + assert.strictEqual(pins[0].peerId, initialPinData.location.peerId, 'pin has correct location peer id') + assert.strictEqual(pins[0].peerName, initialPinData.location.peerName, 'pin has correct location peer name') + assert.strictEqual(pins[0].region, initialPinData.location.region, 'pin has correct location peer region') + }) + + it('can update previously created pin', async () => { + const newStatus = 'Pinned' + const newName = 'peer_name_2' + + const pinsPreUpdated = await client.getPins(cid) + assert.strictEqual(pinsPreUpdated[0].status, initialPinData.status, 'pin has correct state') + assert.strictEqual(pinsPreUpdated[0].peerName, initialPinData.location.peerName, 'pin has correct location peer name') + assert.notStrictEqual(pinsPreUpdated[0].status, newStatus, 'pin is pinning') + assert.notStrictEqual(pinsPreUpdated[0].peerName, newName, 'pin has first name') + + // Update pin status to Pinned + const updatedPin = await client.upsertPin(cid, { + status: newStatus, + location: { + ...initialPinData.location, + peerName: newName + } + }) + assert(updatedPin, 'pin updated') + assert.strictEqual(updatedPin, pinsPreUpdated[0]._id, 'id of previous pin') + + const pinsAfterUpdated = await client.getPins(cid) + assert.strictEqual(pinsAfterUpdated[0].status, newStatus, 'pin is pinned') + assert.strictEqual(pinsAfterUpdated[0].peerName, newName, 'pin has second name') + assert.notStrictEqual(pinsAfterUpdated[0].status, initialPinData.status, 'pin has correct state') + assert.notStrictEqual(pinsAfterUpdated[0].peerName, initialPinData.location.peerName, 'pin has correct location peer name') + }) + + it('can insert a new pin for a cid', async () => { + const pinsPreUpdated = await client.getPins(cid) + const previousPinsNumber = pinsPreUpdated.length + + // Create pin for cid previously creaded by giving a new peer id + const createdPin = await client.upsertPin(cid, { + status: 'Pinning', + location: { + peerId: 'peer_id_2', + peerName: 'peer_name_2', + region: 'region' + } + }) + + assert(createdPin, 'pin created') + assert.notStrictEqual(createdPin, pinsPreUpdated[0]._id, 'id of previous pin not the same') + + const pinsAfterUpdated = await client.getPins(cid) + assert.ok(pinsAfterUpdated.length > previousPinsNumber, 'cid has more pins') + }) +}) diff --git a/packages/db/test/status.spec.js b/packages/db/test/status.spec.js new file mode 100644 index 0000000000..c0382d6136 --- /dev/null +++ b/packages/db/test/status.spec.js @@ -0,0 +1,93 @@ +/* eslint-env mocha, browser */ +import assert from 'assert' +import { DBClient } from '../index' + +describe('status', () => { + /** @type {DBClient} */ + const client = new DBClient({ + endpoint: 'http://127.0.0.1:3000', + token: 'super-secret-jwt-token-with-at-least-32-characters-long', + postgres: true + }) + let user + + const cid = 'bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci56bgf354' + const type = 'Upload' + const dagSize = 1000 + const name = `Upload_${new Date().toISOString()}` + const initialBackupUrl = `https://backup.cid/${new Date().toISOString()}/${Math.random()}` + const initialPinData = { + status: 'Pinning', + location: { + peerId: 'peer_id', + peerName: 'peer_name', + region: 'region' + } + } + let authKeys + let upload + + // Setup testing user + before(async () => { + const name = 'test-name' + const email = 'test@email.com' + const issuer = `issuer${Math.random()}` + const publicAddress = `public_address${Math.random()}` + + const upsertUser = await client.upsertUser({ + name, + email, + issuer, + publicAddress + }) + + assert(upsertUser, 'user created') + assert.strictEqual(upsertUser.issuer, issuer, 'user has correct issuer') + + // Get previously created user + user = await client.getUser(issuer) + }) + + // Create auth key + before(async () => { + const name = 'test-key-name' + const secret = 'test-secret' + await client.createKey({ + name, + secret, + user: user._id + }) + }) + + // Setup upload + before(async () => { + authKeys = await client.listKeys(user._id) + const createdUpload = await client.createUpload({ + user: user._id, + contentCid: cid, + sourceCid: cid, + authKey: authKeys[0]._id, + type, + dagSize: dagSize, + name, + pins: [initialPinData], + backupUrls: [initialBackupUrl] + }) + + assert(createdUpload, 'upload created') + assert(createdUpload.cid, 'upload has root cid') + + upload = await client.getUpload(cid, user._id) + + assert(upload, 'upload created') + }) + + it('can get content status', async () => { + const status = await client.getStatus(cid) + assert(status, 'status received') + assert.strictEqual(status.cid, cid, 'status has cid') + assert(status.created, 'status has inserted timestamp') + assert.strictEqual(status.dagSize, dagSize, 'status has dag size') + assert.strictEqual(status.pins.length, 1, 'status pins has a single pin') + }) +}) diff --git a/packages/db/test/upload.spec.js b/packages/db/test/upload.spec.js new file mode 100644 index 0000000000..eb4d5742a0 --- /dev/null +++ b/packages/db/test/upload.spec.js @@ -0,0 +1,294 @@ +/* eslint-env mocha, browser */ +import assert from 'assert' +import { DBClient } from '../index' + +describe('upload', () => { + /** @type {DBClient} */ + const client = new DBClient({ + endpoint: 'http://127.0.0.1:3000', + token: 'super-secret-jwt-token-with-at-least-32-characters-long', + postgres: true + }) + let user + + // Setup testing user + before(async () => { + const name = 'test-name' + const email = 'test@email.com' + const issuer = `issuer${Math.random()}` + const publicAddress = `public_address${Math.random()}` + + const upsertUser = await client.upsertUser({ + name, + email, + issuer, + publicAddress + }) + + assert(upsertUser, 'user created') + assert.strictEqual(upsertUser.issuer, issuer, 'user has correct issuer') + + // Get previously created user + user = await client.getUser(issuer) + }) + + // Create auth key + before(async () => { + const name = 'test-key-name' + const secret = 'test-secret' + await client.createKey({ + name, + secret, + user: user._id + }) + }) + + const cid = 'bafybeiczsscdsbs7ffqz55asqde1qmv6klcw3gofszvwlyarci47bgf354' + const type = 'Upload' + const dagSize = 1000 + const name = `Upload_${new Date().toISOString()}` + const initialBackupUrl = `https://backup.cid/${new Date().toISOString()}/${Math.random()}` + const initialPinData = { + status: 'Pinning', + location: { + peerId: 'peer_id', + peerName: 'peer_name', + region: 'region' + } + } + let authKeys + let upload + + // Setup first user upload + before(async () => { + authKeys = await client.listKeys(user._id) + const createdUpload = await client.createUpload({ + user: user._id, + contentCid: cid, + sourceCid: cid, + authKey: authKeys[0]._id, + type, + dagSize, + name, + pins: [initialPinData], + backupUrls: [initialBackupUrl] + }) + + assert(createdUpload, 'upload created') + assert(createdUpload.cid, 'upload has root cid') + + upload = await client.getUpload(cid, user._id) + + assert(upload, 'upload created') + assert(upload._id, 'upload has an id') + assert(upload.created, 'upload has created timestamp') + assert(upload.updated, 'upload has updated timestamp') + assert.strictEqual(upload.type, type, 'upload has correct type') + assert.strictEqual(upload.name, name, 'upload has correct name') + assert.strictEqual(upload.cid, cid, 'upload has correct cid') + assert.strictEqual(upload.dagSize, dagSize, 'upload has correct dag size') + assert.strictEqual(upload.pins.length, 1, 'upload has one pin') + assert.strictEqual(upload.pins[0].status, initialPinData.status, 'pin has added status') + assert.strictEqual(upload.pins[0].peerId, initialPinData.location.peerId, 'pin has added peerId') + assert.strictEqual(upload.pins[0].peerName, initialPinData.location.peerName, 'pin has added peer name') + assert.strictEqual(upload.pins[0].region, initialPinData.location.region, 'pin has added region') + assert.strictEqual(upload.deals.length, 0, 'upload has no deals') + }) + + it('can handle partial uploads', async () => { + // Create upload follow up + const followUpCreate = await client.createUpload({ + user: user._id, + contentCid: cid, + sourceCid: cid, + authKey: authKeys[0]._id, + type, + dagSize, + name, + pins: [initialPinData], + backupUrls: [ + `https://backup.cid/${new Date().toISOString()}`, + `https://backup-other-region.cid/${new Date().toISOString()}` + ] // New backup urls + }) + + assert(followUpCreate, 'follow up upload created') + assert.strictEqual(followUpCreate._id, upload._id, 'follow up upload has same id') + + const followUpUpload = await client.getUpload(cid, user._id) + + assert(followUpUpload, 'follow up upload created') + assert.notStrictEqual(followUpUpload.updated, upload.updated, 'upload has updated timestamp') + assert.strictEqual(followUpUpload.created, upload.created, 'upload has inserted timestamp') + assert.strictEqual(followUpUpload.type, upload.type, 'upload has same type') + assert.strictEqual(followUpUpload.name, upload.name, 'upload has same name') + + const backups = await client.getBackups(upload._id) + + assert(backups, 'backups created') + assert.strictEqual(backups.length, 3, 'upload has three backups') + + // Lists single upload + const userUploads = await client.listUploads(user._id) + assert(userUploads, 'user has uploads') + assert.strictEqual(userUploads.length, 1, 'partial uploads result in a single upload for a user') + }) + + it('can rename uploads', async () => { + const otherCid = 'bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci47bgf311' + const name = `Upload_${new Date().toISOString()}` + + const otherUploadCreated = await client.createUpload({ + user: user._id, + contentCid: otherCid, + sourceCid: otherCid, + authKey: authKeys[0]._id, + type, + dagSize, + name, + pins: [initialPinData], + backupUrls: [`https://backup.cid/${new Date().toISOString()}`] + }) + + assert(otherUploadCreated, 'other upload created') + + const newName = 'renamed-name' + const renamedUpload = await client.renameUpload(otherCid, user._id, newName) + + assert(renamedUpload, 'renamed upload') + assert.strictEqual(renamedUpload.name, newName, 'upload has a new name') + }) + + it('can delete uploads', async () => { + const otherCid = 'bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci47bgf112' + const name = `Upload_${new Date().toISOString()}` + + const { _id: uploadId } = await client.createUpload({ + user: user._id, + contentCid: otherCid, + sourceCid: otherCid, + authKey: authKeys[0]._id, + type, + dagSize, + name, + pins: [initialPinData], + backupUrls: [`https://backup.cid/${new Date().toISOString()}`] + }) + + // Lists current user uploads + const userUploads = await client.listUploads(user._id) + + // Delete previously created upload + await client.deleteUpload(otherCid, user._id) + + const finalUserUploads = await client.listUploads(user._id) + assert(finalUserUploads, 'user upload deleted') + assert.strictEqual(finalUserUploads.length, userUploads.length - 1, 'user upload deleted') + + // Create the same upload will result in getting it "restored" + const { _id: uploadIdRestored } = await client.createUpload({ + user: user._id, + contentCid: otherCid, + sourceCid: otherCid, + authKey: authKeys[0]._id, + type, + dagSize, + name, + pins: [initialPinData], + backupUrls: [`https://backup.cid/${new Date().toISOString()}`] + }) + + assert.strictEqual(uploadId, uploadIdRestored) + }) + + it('creates a new upload for the same content when content uploaded by multiple users', async () => { + // Create other user + const name = 'test-other-name' + const email = 'test-other@email.com' + const issuer = `issuer${Math.random()}` + const publicAddress = `public_address${Math.random()}` + await client.upsertUser({ + name, + email, + issuer, + publicAddress + }) + + // Get previously created user + const otherUser = await client.getUser(issuer) + + // Create other user auth key + const authKey = await client.createKey({ + name: 'test-key-name', + secret: 'test-secret', + user: otherUser._id + }) + + // Create upload with same cid as previous created, but with a different user + const uploadWithSameCid = await client.createUpload({ + user: otherUser._id, + contentCid: cid, + sourceCid: cid, + authKey: authKey._id, + type, + dagSize, + name, + pins: [initialPinData], + backupUrls: [`https://backup.cid/${new Date().toISOString()}`] + }) + + assert(uploadWithSameCid, 'upload created') + assert(uploadWithSameCid._id, 'upload has id') + assert.notStrictEqual(uploadWithSameCid._id, upload._id, 'a new upload was created for a new user') + }) + + it('can list user uploads with several options', async () => { + const previousUserUploads = await client.listUploads(user._id) + assert(previousUserUploads, 'user has uploads') + + const differentCid = 'bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci47bgf355' + const created = new Date().toISOString() + await client.createUpload({ + user: user._id, + contentCid: differentCid, + sourceCid: differentCid, + authKey: authKeys[0]._id, + type, + dagSize, + name: 'ZZZZZZZZZ', // Name starting with Z for order testing + pins: [initialPinData], + backupUrls: [`https://backup.cid/${created}`], + created + }) + + // Default sort {inserted_at, Desc} + const userUploadsDefaultSort = await client.listUploads(user._id) + assert.strictEqual(userUploadsDefaultSort.length, previousUserUploads.length + 1, 'user has the second upload') + assert.strictEqual(userUploadsDefaultSort[0].cid, differentCid, 'last upload first') + + // Sort {inserted_at, Asc} + const userUploadsAscAndInsertedSort = await client.listUploads(user._id, { + sortOrder: 'Asc' + }) + assert.notStrictEqual(userUploadsAscAndInsertedSort[0].cid, differentCid, 'first upload first') + + // Sort {name, Desc} + const userUploadsByNameSort = await client.listUploads(user._id, { + sortBy: 'Name' + }) + assert.strictEqual(userUploadsByNameSort[0].cid, differentCid, 'last upload first') + + // Sort {name, Asc} with size + const userUploadsAscAndByNameSort = await client.listUploads(user._id, { + sortBy: 'Name', + sortOrder: 'Asc', + size: 1 + }) + assert.strictEqual(userUploadsAscAndByNameSort.length, 1, 'upload list with size') + assert.notStrictEqual(userUploadsAscAndByNameSort[0].cid, differentCid, 'first upload first') + + // Filter with before second upload + const userUploadsBeforeTheLatest = await client.listUploads(user._id, { before: created }) + assert.strictEqual(userUploadsBeforeTheLatest.length, previousUserUploads.length, 'list without the second upload') + }) +}) diff --git a/packages/db/test/user.spec.js b/packages/db/test/user.spec.js new file mode 100644 index 0000000000..f847ce87b7 --- /dev/null +++ b/packages/db/test/user.spec.js @@ -0,0 +1,189 @@ +/* eslint-env mocha, browser */ +import assert from 'assert' +import { DBClient } from '../index' + +describe('user operations', () => { + const name = 'test-name' + const email = 'test@email.com' + const issuer = `issuer${Math.random()}` + const publicAddress = `public_address${Math.random()}` + + /** @type {DBClient} */ + const client = new DBClient({ + endpoint: 'http://127.0.0.1:3000', + token: 'super-secret-jwt-token-with-at-least-32-characters-long', + postgres: true + }) + let user + + // Setup testing user + before(async () => { + const upsertUser = await client.upsertUser({ + name, + email, + issuer, + publicAddress + }) + + assert(upsertUser, 'user created') + assert.strictEqual(upsertUser.issuer, issuer, 'user has correct issuer') + + // Get previously created user + user = await client.getUser(issuer) + + assert(user, 'user fetched by issuer') + assert(user._id, 'user has id') + assert(user.created, 'user has created timestamp') + assert(user.updated, 'user has updated timestamp') + assert.strictEqual(user.name, name, 'user has correct name') + assert.strictEqual(user.email, email, 'user has correct email') + assert.strictEqual(user.issuer, issuer, 'user has correct issuer') + assert.strictEqual(user.publicAddress, publicAddress, 'user has correct public address') + }) + + it('should fail to get a non existing user', async () => { + try { + await client.getUser('fake-issuer') + } catch (err) { + assert(err, 'errored to get a non existing user') + return + } + throw new Error('should fail to get a non existing user') + }) + + it('should fail to create user with same issuer', async () => { + try { + const name = 'test-name-different' + const email = 'test-different@email.com' + const issuer = user.issuer // same issuer as previously created + const publicAddress = `public_address-different${Math.random()}` + + await client.upsertUser({ + name, + email, + issuer, + publicAddress + }) + } catch (err) { + assert(err, 'errored to create user with the same issuer') + return + } + throw new Error('should fail to create user with the same issuer') + }) + + it('can update previously created user', async () => { + const name = 'test-name' + const email = 'new-test@email.com' + const publicAddress = `public_address${Math.random()}` + + const upsertUser = await client.upsertUser({ + id: user._id, + name, + email, + issuer: user.issuer, + publicAddress + }) + + assert(upsertUser, 'user updated') + + const updatedUser = await client.getUser(user.issuer) + assert.strictEqual(updatedUser.email, email, 'user has new email') + assert.strictEqual(updatedUser._id, user._id, 'user has same id') + assert.strictEqual(updatedUser.created, user.created, 'user has same created timestamp') + }) + + it('can create auth keys for user', async () => { + const name = 'test-key-name' + const secret = 'test-secret' + const authKey = await client.createKey({ + name, + secret, + user: user._id + }) + + assert(authKey, 'auth key created') + assert(authKey._id, 'auth key id') + + const fetchedKey = await client.getKey(user.issuer, secret) + assert(fetchedKey, 'auth key created') + assert.strictEqual(fetchedKey._id, authKey._id) + + const keys = await client.listKeys(user._id) + + assert(keys, 'keys received') + assert.strictEqual(keys.length, 1, 'user has an auth key') + assert.strictEqual(keys[0].name, name, 'auth key has expect name') + assert.strictEqual(keys[0].secret, secret, 'auth key has expect secret') + assert.strictEqual(keys[0].hasUploads, false, 'auth key do not have uploads') + }) + + it('can delete auth keys from user', async () => { + const name = 'test-key-name-2' + const secret = 'test-secret' + const authKey = await client.createKey({ + name, + secret, + user: user._id + }) + + const keys = await client.listKeys(user._id) + + // Delete previously created key + await client.deleteKey(user._id, authKey._id) + + const finalKeys = await client.listKeys(user._id) + assert(finalKeys, 'final keys fetched') + assert.deepEqual(finalKeys.length, keys.length - 1, 'user had auth key deleted') + }) + + it('can track user used storage', async () => { + const authKey = await client.createKey({ + name: 'test-key-name-3', + secret: 'test-secret-3', + user: user._id + }) + + const emptyUsedStorage = await client.getUsedStorage(user._id) + assert.deepEqual(emptyUsedStorage, 0, 'received empty used storage') + + // Create Upload 1 + const cid1 = 'bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci47fgf111' + const dagSize1 = 10000 + await client.createUpload({ + user: user._id, + contentCid: cid1, + sourceCid: cid1, + authKey: authKey._id, + type: 'Upload', + dagSize: dagSize1, + pins: [], + backupUrls: [] + }) + + const firstUsedStorage = await client.getUsedStorage(user._id) + assert.deepEqual(firstUsedStorage, dagSize1, 'used storage with first upload') + + // Create Upload 2 + const cid2 = 'bafybeiczsscdsbs7ffqz55asqdf3smv6klcw3gofszvwlyarci47fgf112' + const dagSize2 = 30000 + await client.createUpload({ + user: user._id, + contentCid: cid2, + sourceCid: cid2, + authKey: authKey._id, + type: 'Upload', + dagSize: dagSize2, + pins: [], + backupUrls: [] + }) + + const secondUsedStorage = await client.getUsedStorage(user._id) + assert.deepEqual(secondUsedStorage, dagSize1 + dagSize2, 'used storage with second upload') + + // Delete Upload 2 + await client.deleteUpload(cid2, user._id) + + const thirdUsedStorage = await client.getUsedStorage(user._id) + assert.deepEqual(thirdUsedStorage, dagSize1, 'used storage with only first upload again') + }) +}) diff --git a/packages/db/utils.js b/packages/db/utils.js new file mode 100644 index 0000000000..7b24c33849 --- /dev/null +++ b/packages/db/utils.js @@ -0,0 +1,44 @@ +/** + * Normalize upload item. + * + * @param {import('./db-client-types').UploadItem} upload + * @return {import('./db-client-types').UploadItemOutput} + */ +export function normalizeUpload (upload) { + return { + ...upload, + ...upload.content, + pins: normalizePins(upload.content.pins) + } +} + +/** + * Normalize content item. + * + * @param {import('./db-client-types').ContentItem} content + * @return {import('./db-client-types').ContentItemOutput} + */ +export function normalizeContent (content) { + return { + ...content, + pins: normalizePins(content.pins) + } +} + +/** + * Normalize pin items. + * + * @param {Array} pins + * @return {Array} + */ +export function normalizePins (pins) { + return pins.map(pin => ({ + _id: pin._id, + status: pin.status, + created: pin.created, + updated: pin.updated, + peerId: pin.location.peerId, + peerName: pin.location.peerName, + region: pin.location.region + })) +}