diff --git a/.github/workflows/sonar-cloud.yml b/.github/workflows/sonar-cloud.yml new file mode 100644 index 0000000..4c70d6e --- /dev/null +++ b/.github/workflows/sonar-cloud.yml @@ -0,0 +1,23 @@ +name: SonarCloud +on: + push: + branches: + - main + - develop + + pull_request: + types: [opened, synchronize, reopened] + +jobs: + sonarcloud: + name: SonarCloud + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: SonarCloud Scan + uses: SonarSource/sonarcloud-github-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} \ No newline at end of file diff --git a/src/components/Card.tsx b/.old/Card.tsx similarity index 100% rename from src/components/Card.tsx rename to .old/Card.tsx diff --git a/src/components/HistoryChart.tsx b/.old/HistoryChart.tsx similarity index 100% rename from src/components/HistoryChart.tsx rename to .old/HistoryChart.tsx diff --git a/.old/ResultsProviders.tsx b/.old/ResultsProviders.tsx new file mode 100644 index 0000000..1eb407f --- /dev/null +++ b/.old/ResultsProviders.tsx @@ -0,0 +1,54 @@ +// 'use client' + +// import { ReactNode, useEffect, useState } from 'react' + +// import { ResultsContext } from '@/contexts/ResultsContext' +// import { Result } from '@/@types/ResultsTypes' +// import { Ticker } from '@/@types/TickersTypes' +// import { useTickers } from '@/hooks/useTickers' +// import { fetchTicker } from '@/helpers/tickers' + +// export function ResultsProviders({ children }: { children: ReactNode }) { + +// const [results, setResults] = useState([]) +// const { tickers } = useTickers() + +// const get = (ticker: string): Result => { +// return results.find((r) => r.ticker === ticker) || {} as Result +// } + +// const load = async (tickers: Ticker[]) => { +// console.log('loading results...', tickers); + +// const newResults: Result[] = [] +// Promise.allSettled(tickers.map((t) => fetchTicker(t.ticker))) +// .then((responses) => { +// responses.forEach((response) => { +// if (response.status === 'fulfilled') { +// newResults.push(response.value) +// } +// }) +// }) +// .finally(() => { +// setResults(newResults) +// console.log('results loaded', newResults); +// }) + +// } + +// useEffect(() => { +// load(tickers) +// }, [tickers]) + +// return ( +// +// {children} +// +// ) +// } diff --git a/src/app/fiis/[ticket]/page.tsx b/.old/fiis/[ticket]/page.tsx similarity index 100% rename from src/app/fiis/[ticket]/page.tsx rename to .old/fiis/[ticket]/page.tsx diff --git a/src/helpers/getPVP.ts b/.old/getPVP.ts similarity index 100% rename from src/helpers/getPVP.ts rename to .old/getPVP.ts diff --git a/src/helpers/getQuote.ts b/.old/getQuote.ts similarity index 100% rename from src/helpers/getQuote.ts rename to .old/getQuote.ts diff --git a/src/app/selic/page.tsx b/.old/selic/page.tsx similarity index 100% rename from src/app/selic/page.tsx rename to .old/selic/page.tsx diff --git a/.vscode/settings.json b/.vscode/settings.json index d067910..6d8b332 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,4 +1,7 @@ { + "editor.codeActionsOnSave": { + "source.fixAll": true + }, "typescript.tsdk": "node_modules/typescript/lib", "typescript.enablePromptUseWorkspaceTsdk": true } \ No newline at end of file diff --git a/README.md b/README.md index 274bbd8..9e31fb6 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,7 @@ First, run the development server: -```bash -docker compose -f docker-compose.local.yml up -``` +npm install +npm run dev + + diff --git a/docker-compose.local.yml b/docker-compose.local.yml deleted file mode 100644 index 567c2d7..0000000 --- a/docker-compose.local.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: "3.9" - -services: - node: - build: - dockerfile: node.Dockerfile - context: . - restart: on-failure - volumes: - - ".:/app" - ports: - - 3000:3000 \ No newline at end of file diff --git a/next.config.js b/next.config.js index 74fe5dc..9e438a9 100644 --- a/next.config.js +++ b/next.config.js @@ -1,7 +1,7 @@ /** @type {import('next').NextConfig} */ + const nextConfig = { experimental: { - appDir: true, serverComponentsExternalPackages: ['@tremor/react'], }, } diff --git a/node.Dockerfile b/node.Dockerfile deleted file mode 100644 index ce1e79e..0000000 --- a/node.Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM node:18 - -WORKDIR /app - -COPY . . - -RUN npm ci - -ENTRYPOINT ["npm", "run", "dev"] \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c1c8bed..e8a3dba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,6 +9,7 @@ "version": "0.1.0", "dependencies": { "@heroicons/react": "^1.0.6", + "@phosphor-icons/react": "^2.0.9", "@tremor/react": "^2.1.0", "@types/lodash": "^4.14.192", "@types/node": "18.15.11", @@ -17,29 +18,53 @@ "b3api": "^0.0.1", "canvas": "^2.11.2", "cheerio": "^1.0.0-rc.12", - "concurrently": "^8.0.1", - "eslint-config-next": "13.2.4", + "eslint-config-next": "^13.4.4", "jsdom": "^21.1.1", "lodash": "^4.17.21", "moment": "^2.29.4", - "next": "13.2.4", - "react": "18.2.0", - "react-dom": "18.2.0", - "typescript": "5.0.3" + "next": "^13.4.4", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-toastify": "^9.1.3", + "typescript": "5.0.3", + "uuidv4": "^6.2.13", + "xpath": "^0.0.32" }, "devDependencies": { "@rocketseat/eslint-config": "^1.2.0", "@types/jsdom": "^21.1.1", "autoprefixer": "^10.4.14", + "concurrently": "^8.2.0", "eslint": "^8.37.0", "postcss": "^8.4.21", + "postcss-import": "^15.1.0", "tailwindcss": "^3.3.1" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz", + "integrity": "sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ==", "dependencies": { "regenerator-runtime": "^0.13.11" }, @@ -62,21 +87,21 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", + "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.5.1", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -92,24 +117,24 @@ } }, "node_modules/@eslint/js": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz", - "integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@floating-ui/core": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.2.5.tgz", - "integrity": "sha512-qrcbyfnRVziRlB6IYwjCopYhO7Vud750JlJyuljruIXcPxr22y8zdckcJGsuOdnQ639uVD1tTXddrcH3t3QYIQ==" + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.3.1.tgz", + "integrity": "sha512-Bu+AMaXNjrpjh41znzHqaz3r2Nr8hHuHZT6V2LBKMhyMl0FgKA62PNYbqnfgmzOhoWZj70Zecisbo4H1rotP5g==" }, "node_modules/@floating-ui/dom": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.2.5.tgz", - "integrity": "sha512-+sAUfpQ3Frz+VCbPCqj+cZzvEESy3fjSeT/pDWkYCWOBXYNNKZfuVsHuv8/JO2zze8+Eb/Q7a6hZVgzS81fLbQ==", + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.4.4.tgz", + "integrity": "sha512-21hhDEPOiWkGp0Ys4Wi6Neriah7HweToKra626CIK712B5m9qkdz54OP9gVldUg+URnBTpv/j/bi/skmGdstXQ==", "dependencies": { - "@floating-ui/core": "^1.2.4" + "@floating-ui/core": "^1.3.1" } }, "node_modules/@floating-ui/react": { @@ -147,9 +172,9 @@ } }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", "debug": "^4.1.1", @@ -176,6 +201,60 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==" }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, "node_modules/@mapbox/node-pre-gyp": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.10.tgz", @@ -196,52 +275,22 @@ } }, "node_modules/@next/env": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.2.4.tgz", - "integrity": "sha512-+Mq3TtpkeeKFZanPturjcXt+KHfKYnLlX6jMLyCrmpq6OOs4i1GqBOAauSkii9QeKCMTYzGppar21JU57b/GEA==" + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.9.tgz", + "integrity": "sha512-vuDRK05BOKfmoBYLNi2cujG2jrYbEod/ubSSyqgmEx9n/W3eZaJQdRNhTfumO+qmq/QTzLurW487n/PM/fHOkw==" }, "node_modules/@next/eslint-plugin-next": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.2.4.tgz", - "integrity": "sha512-ck1lI+7r1mMJpqLNa3LJ5pxCfOB1lfJncKmRJeJxcJqcngaFwylreLP7da6Rrjr6u2gVRTfmnkSkjc80IiQCwQ==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-13.4.9.tgz", + "integrity": "sha512-nDtGpa992tNyAkT/KmSMy7QkHfNZmGCBYhHtafU97DubqxzNdvLsqRtliQ4FU04CysRCtvP2hg8rRC1sAKUTUA==", "dependencies": { "glob": "7.1.7" } }, - "node_modules/@next/swc-android-arm-eabi": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.2.4.tgz", - "integrity": "sha512-DWlalTSkLjDU11MY11jg17O1gGQzpRccM9Oes2yTqj2DpHndajrXHGxj9HGtJ+idq2k7ImUdJVWS2h2l/EDJOw==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-android-arm64": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-android-arm64/-/swc-android-arm64-13.2.4.tgz", - "integrity": "sha512-sRavmUImUCf332Gy+PjIfLkMhiRX1Ez4SI+3vFDRs1N5eXp+uNzjFUK/oLMMOzk6KFSkbiK/3Wt8+dHQR/flNg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@next/swc-darwin-arm64": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.2.4.tgz", - "integrity": "sha512-S6vBl+OrInP47TM3LlYx65betocKUUlTZDDKzTiRDbsRESeyIkBtZ6Qi5uT2zQs4imqllJznVjFd1bXLx3Aa6A==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.9.tgz", + "integrity": "sha512-TVzGHpZoVBk3iDsTOQA/R6MGmFp0+17SWXMEWd6zG30AfuELmSSMe2SdPqxwXU0gbpWkJL1KgfLzy5ReN0crqQ==", "cpu": [ "arm64" ], @@ -254,9 +303,9 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.2.4.tgz", - "integrity": "sha512-a6LBuoYGcFOPGd4o8TPo7wmv5FnMr+Prz+vYHopEDuhDoMSHOnC+v+Ab4D7F0NMZkvQjEJQdJS3rqgFhlZmKlw==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.9.tgz", + "integrity": "sha512-aSfF1fhv28N2e7vrDZ6zOQ+IIthocfaxuMWGReB5GDriF0caTqtHttAvzOMgJgXQtQx6XhyaJMozLTSEXeNN+A==", "cpu": [ "x64" ], @@ -268,40 +317,10 @@ "node": ">= 10" } }, - "node_modules/@next/swc-freebsd-x64": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.2.4.tgz", - "integrity": "sha512-kkbzKVZGPaXRBPisoAQkh3xh22r+TD+5HwoC5bOkALraJ0dsOQgSMAvzMXKsN3tMzJUPS0tjtRf1cTzrQ0I5vQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm-gnueabihf": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.2.4.tgz", - "integrity": "sha512-7qA1++UY0fjprqtjBZaOA6cas/7GekpjVsZn/0uHvquuITFCdKGFCsKNBx3S0Rpxmx6WYo0GcmhNRM9ru08BGg==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.2.4.tgz", - "integrity": "sha512-xzYZdAeq883MwXgcwc72hqo/F/dwUxCukpDOkx/j1HTq/J0wJthMGjinN9wH5bPR98Mfeh1MZJ91WWPnZOedOg==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.9.tgz", + "integrity": "sha512-JhKoX5ECzYoTVyIy/7KykeO4Z2lVKq7HGQqvAH+Ip9UFn1MOJkOnkPRB7v4nmzqAoY+Je05Aj5wNABR1N18DMg==", "cpu": [ "arm64" ], @@ -314,9 +333,9 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.2.4.tgz", - "integrity": "sha512-8rXr3WfmqSiYkb71qzuDP6I6R2T2tpkmf83elDN8z783N9nvTJf2E7eLx86wu2OJCi4T05nuxCsh4IOU3LQ5xw==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.9.tgz", + "integrity": "sha512-OOn6zZBIVkm/4j5gkPdGn4yqQt+gmXaLaSjRSO434WplV8vo2YaBNbSHaTM9wJpZTHVDYyjzuIYVEzy9/5RVZw==", "cpu": [ "arm64" ], @@ -329,9 +348,9 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.2.4.tgz", - "integrity": "sha512-Ngxh51zGSlYJ4EfpKG4LI6WfquulNdtmHg1yuOYlaAr33KyPJp4HeN/tivBnAHcZkoNy0hh/SbwDyCnz5PFJQQ==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.9.tgz", + "integrity": "sha512-iA+fJXFPpW0SwGmx/pivVU+2t4zQHNOOAr5T378PfxPHY6JtjV6/0s1vlAJUdIHeVpX98CLp9k5VuKgxiRHUpg==", "cpu": [ "x64" ], @@ -344,9 +363,9 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.2.4.tgz", - "integrity": "sha512-gOvwIYoSxd+j14LOcvJr+ekd9fwYT1RyMAHOp7znA10+l40wkFiMONPLWiZuHxfRk+Dy7YdNdDh3ImumvL6VwA==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.9.tgz", + "integrity": "sha512-rlNf2WUtMM+GAQrZ9gMNdSapkVi3koSW3a+dmBVp42lfugWVvnyzca/xJlN48/7AGx8qu62WyO0ya1ikgOxh6A==", "cpu": [ "x64" ], @@ -359,9 +378,9 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.2.4.tgz", - "integrity": "sha512-q3NJzcfClgBm4HvdcnoEncmztxrA5GXqKeiZ/hADvC56pwNALt3ngDC6t6qr1YW9V/EPDxCYeaX4zYxHciW4Dw==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.9.tgz", + "integrity": "sha512-5T9ybSugXP77nw03vlgKZxD99AFTHaX8eT1ayKYYnGO9nmYhJjRPxcjU5FyYI+TdkQgEpIcH7p/guPLPR0EbKA==", "cpu": [ "arm64" ], @@ -374,9 +393,9 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.2.4.tgz", - "integrity": "sha512-/eZ5ncmHUYtD2fc6EUmAIZlAJnVT2YmxDsKs1Ourx0ttTtvtma/WKlMV5NoUsyOez0f9ExLyOpeCoz5aj+MPXw==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.9.tgz", + "integrity": "sha512-ojZTCt1lP2ucgpoiFgrFj07uq4CZsq4crVXpLGgQfoFq00jPKRPgesuGPaz8lg1yLfvafkU3Jd1i8snKwYR3LA==", "cpu": [ "ia32" ], @@ -389,9 +408,9 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.2.4.tgz", - "integrity": "sha512-0MffFmyv7tBLlji01qc0IaPP/LVExzvj7/R5x1Jph1bTAIj4Vu81yFQWHHQAP6r4ff9Ukj1mBK6MDNVXm7Tcvw==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.9.tgz", + "integrity": "sha512-QbT03FXRNdpuL+e9pLnu+XajZdm/TtIXVYY4lA9t+9l0fLZbHXDYEKitAqxrOj37o3Vx5ufxiRAniaIebYDCgw==", "cpu": [ "x64" ], @@ -435,27 +454,29 @@ "node": ">= 8" } }, - "node_modules/@opentelemetry/api": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.4.1.tgz", - "integrity": "sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA==", - "optional": true, - "peer": true, + "node_modules/@phosphor-icons/react": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@phosphor-icons/react/-/react-2.0.10.tgz", + "integrity": "sha512-q5ITPNFhmEiYZLZOvEhjo2phlfxoOmit7vE1tBYMxcMqnZX2vdbMw3deDE7wCegpBKM/q/p39BJmhhoPcjZyCg==", "engines": { - "node": ">=8.0.0" + "node": ">=10" + }, + "peerDependencies": { + "react": ">= 16.8", + "react-dom": ">= 16.8" } }, "node_modules/@pkgr/utils": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", - "integrity": "sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", "dependencies": { "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", "is-glob": "^4.0.3", - "open": "^8.4.0", + "open": "^9.1.0", "picocolors": "^1.0.0", - "tiny-glob": "^0.2.9", - "tslib": "^2.4.0" + "tslib": "^2.6.0" }, "engines": { "node": "^12.20.0 || ^14.18.0 || >=16.0.0" @@ -465,9 +486,9 @@ } }, "node_modules/@rocketseat/eslint-config": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@rocketseat/eslint-config/-/eslint-config-1.2.0.tgz", - "integrity": "sha512-Ew1D0DGR2Rf/4nL7t4R2nmVwjnJ9Bxaq1jsW2b4YLC5GRei4bbISzOoPHFuqDbRcy66PxNcHc3iLb0ahPvd36A==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@rocketseat/eslint-config/-/eslint-config-1.3.0.tgz", + "integrity": "sha512-NP7v/bbAWjp8NufV1WwlfnwPp1tE8NC3gWBH/GIXzarIIwGUnGdYzSlmAQme+zBySEVvHgYIrdqKHQi9aLf+qw==", "dev": true, "dependencies": { "@typescript-eslint/eslint-plugin": "^5.25.0", @@ -495,14 +516,14 @@ } }, "node_modules/@rushstack/eslint-patch": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.2.0.tgz", - "integrity": "sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==" + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.3.2.tgz", + "integrity": "sha512-V+MvGwaHH03hYhY+k6Ef/xKd6RYlc4q8WBx+2ANmipHJcKuktNcI/NgEsJgdSUF6Lw32njT6OnrRsKYCdgHjYw==" }, "node_modules/@swc/helpers": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.4.14.tgz", - "integrity": "sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==", + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", "dependencies": { "tslib": "^2.4.0" } @@ -516,9 +537,9 @@ } }, "node_modules/@tremor/react": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@tremor/react/-/react-2.1.0.tgz", - "integrity": "sha512-LOJoJqK/H4eL13kxFkp/5CyZo6hjDGYpQxS/eAQxAqwv+d51CcrnS2GE+Cp3U5wTVZ1ve8sdYaa5kuOAEvxQyg==", + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@tremor/react/-/react-2.11.0.tgz", + "integrity": "sha512-UdIpFHVm5F7vRml9IL3CrIl7doxgg8a5q89ht/dUF7hVBjd7veSbYdfCQCHV1yfjmCqTXjeMAeP3N1ObfwAwCw==", "dependencies": { "@floating-ui/react": "^0.19.1", "date-fns": "^2.28.0", @@ -527,13 +548,14 @@ "tailwind-merge": "^1.9.1" }, "peerDependencies": { - "react": "^18.0.0" + "react": "^18.0.0", + "react-dom": ">=16.6.0" } }, "node_modules/@types/d3-array": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.4.tgz", - "integrity": "sha512-nwvEkG9vYOc0Ic7G7kwgviY4AQlTfYGIZ0fqB7CQHXGyYM6nO7kJh5EguSNA3jfh4rq7Sb7eMVq8isuvg2/miQ==" + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.0.5.tgz", + "integrity": "sha512-Qk7fpJ6qFp+26VeQ47WY0mkwXaiq8+76RJcncDEfMc2ocRzXLO67bLFRNI4OX1aGBoPzsM5Y2T+/m1pldOgD+A==" }, "node_modules/@types/d3-color": { "version": "3.1.0", @@ -596,9 +618,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "node_modules/@types/json5": { @@ -607,9 +629,9 @@ "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, "node_modules/@types/lodash": { - "version": "4.14.192", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", - "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==" + "version": "4.14.195", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.195.tgz", + "integrity": "sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==" }, "node_modules/@types/node": { "version": "18.15.11", @@ -645,9 +667,9 @@ "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" }, "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", "dev": true }, "node_modules/@types/tough-cookie": { @@ -656,18 +678,23 @@ "integrity": "sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==", "dev": true }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==" + }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.57.0.tgz", - "integrity": "sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==", + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.61.0.tgz", + "integrity": "sha512-A5l/eUAug103qtkwccSCxn8ZRwT+7RXWkFECdA4Cvl1dOlDUgTpAOfSEElZn2uSUxhdDpnCdetrf0jvU4qrL+g==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/type-utils": "5.57.0", - "@typescript-eslint/utils": "5.57.0", + "@typescript-eslint/scope-manager": "5.61.0", + "@typescript-eslint/type-utils": "5.61.0", + "@typescript-eslint/utils": "5.61.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", "semver": "^7.3.7", @@ -691,13 +718,13 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.57.0.tgz", - "integrity": "sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==", + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.61.0.tgz", + "integrity": "sha512-yGr4Sgyh8uO6fSi9hw3jAFXNBHbCtKKFMdX2IkT3ZqpKmtAq3lHS4ixB/COFuAIJpwl9/AqF7j72ZDWYKmIfvg==", "dependencies": { - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/typescript-estree": "5.57.0", + "@typescript-eslint/scope-manager": "5.61.0", + "@typescript-eslint/types": "5.61.0", + "@typescript-eslint/typescript-estree": "5.61.0", "debug": "^4.3.4" }, "engines": { @@ -717,12 +744,12 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.57.0.tgz", - "integrity": "sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==", + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.61.0.tgz", + "integrity": "sha512-W8VoMjoSg7f7nqAROEmTt6LoBpn81AegP7uKhhW5KzYlehs8VV0ZW0fIDVbcZRcaP3aPSW+JZFua+ysQN+m/Nw==", "dependencies": { - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/visitor-keys": "5.57.0" + "@typescript-eslint/types": "5.61.0", + "@typescript-eslint/visitor-keys": "5.61.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -733,13 +760,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.57.0.tgz", - "integrity": "sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==", + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.61.0.tgz", + "integrity": "sha512-kk8u//r+oVK2Aj3ph/26XdH0pbAkC2RiSjUYhKD+PExemG4XSjpGFeyZ/QM8lBOa7O8aGOU+/yEbMJgQv/DnCg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.57.0", - "@typescript-eslint/utils": "5.57.0", + "@typescript-eslint/typescript-estree": "5.61.0", + "@typescript-eslint/utils": "5.61.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -760,9 +787,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.57.0.tgz", - "integrity": "sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==", + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.61.0.tgz", + "integrity": "sha512-ldyueo58KjngXpzloHUog/h9REmHl59G1b3a5Sng1GfBo14BkS3ZbMEb3693gnP1k//97lh7bKsp6/V/0v1veQ==", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -772,12 +799,12 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.57.0.tgz", - "integrity": "sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==", + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.61.0.tgz", + "integrity": "sha512-Fud90PxONnnLZ36oR5ClJBLTLfU4pIWBmnvGwTbEa2cXIqj70AEDEmOmpkFComjBZ/037ueKrOdHuYmSFVD7Rw==", "dependencies": { - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/visitor-keys": "5.57.0", + "@typescript-eslint/types": "5.61.0", + "@typescript-eslint/visitor-keys": "5.61.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -798,17 +825,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.57.0.tgz", - "integrity": "sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==", + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.61.0.tgz", + "integrity": "sha512-mV6O+6VgQmVE6+xzlA91xifndPW9ElFW8vbSF0xCT/czPXVhwDewKila1jOyRwa9AE19zKnrr7Cg5S3pJVrTWQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.57.0", - "@typescript-eslint/types": "5.57.0", - "@typescript-eslint/typescript-estree": "5.57.0", + "@typescript-eslint/scope-manager": "5.61.0", + "@typescript-eslint/types": "5.61.0", + "@typescript-eslint/typescript-estree": "5.61.0", "eslint-scope": "^5.1.1", "semver": "^7.3.7" }, @@ -823,34 +850,12 @@ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.57.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.57.0.tgz", - "integrity": "sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==", + "version": "5.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.61.0.tgz", + "integrity": "sha512-50XQ5VdbWrX06mQXhy93WywSFZZGsv3EOjq+lqp6WC2t+j3mb6A9xYVdrRxafvK88vg9k9u+CT4l6D8PEatjKg==", "dependencies": { - "@typescript-eslint/types": "5.57.0", + "@typescript-eslint/types": "5.61.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -872,9 +877,9 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "bin": { "acorn": "bin/acorn" }, @@ -1014,11 +1019,11 @@ } }, "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { @@ -1160,19 +1165,19 @@ } }, "node_modules/axe-core": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz", - "integrity": "sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.2.tgz", + "integrity": "sha512-zIURGIS1E1Q4pcrMjp+nnEh+16G56eG/MUllJH8yEvw7asDo7Ac9uhC9KIH5jzpITueEZolfYglnCGIuSBz39g==", "engines": { "node": ">=4" } }, "node_modules/axobject-query": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", - "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/b3api": { @@ -1188,6 +1193,14 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "engines": { + "node": ">=0.6" + } + }, "node_modules/binary-extensions": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", @@ -1202,6 +1215,17 @@ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dependencies": { + "big-integer": "^1.6.44" + }, + "engines": { + "node": ">= 5.10.0" + } + }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -1223,9 +1247,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.21.9", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.9.tgz", + "integrity": "sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==", "dev": true, "funding": [ { @@ -1235,13 +1259,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001503", + "electron-to-chromium": "^1.4.431", + "node-releases": "^2.0.12", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -1259,6 +1287,31 @@ "semver": "^7.0.0" } }, + "node_modules/bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dependencies": { + "run-applescript": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, "node_modules/call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -1289,9 +1342,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001473", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz", - "integrity": "sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg==", + "version": "1.0.30001513", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001513.tgz", + "integrity": "sha512-pnjGJo7SOOjAGytZZ203Em95MRM8Cr6jhCXNF/FAXTpCTRTECnqQWLpiTRqrFtdYcth8hf4WECUpkezuYsMVww==", "funding": [ { "type": "opencollective", @@ -1336,6 +1389,17 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cheerio": { "version": "1.0.0-rc.12", "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz", @@ -1420,9 +1484,9 @@ } }, "node_modules/classnames": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", - "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" }, "node_modules/client-only": { "version": "0.0.1", @@ -1433,6 +1497,7 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -1442,6 +1507,14 @@ "node": ">=12" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -1492,19 +1565,20 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, "node_modules/concurrently": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.0.1.tgz", - "integrity": "sha512-Sh8bGQMEL0TAmAm2meAXMjcASHZa7V0xXQVDBLknCPa9TPtkY9yYs+0cnGGgfdkW0SV1Mlg+hVGfXcoI8d3MJA==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-8.2.0.tgz", + "integrity": "sha512-nnLMxO2LU492mTUj9qX/az/lESonSZu81UznYDoXtz1IQf996ixVqPAgHXwvHiHCAef/7S8HIK+fTFK7Ifk8YA==", + "dev": true, "dependencies": { "chalk": "^4.1.2", - "date-fns": "^2.29.3", + "date-fns": "^2.30.0", "lodash": "^4.17.21", - "rxjs": "^7.8.0", - "shell-quote": "^1.8.0", - "spawn-command": "0.0.2-1", + "rxjs": "^7.8.1", + "shell-quote": "^1.8.1", + "spawn-command": "0.0.2", "supports-color": "^8.1.1", "tree-kill": "^1.2.2", - "yargs": "^17.7.1" + "yargs": "^17.7.2" }, "bin": { "conc": "dist/bin/concurrently.js", @@ -1517,20 +1591,6 @@ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -1604,14 +1664,14 @@ } }, "node_modules/csstype": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", - "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "node_modules/d3-array": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.3.tgz", - "integrity": "sha512-JRHwbQQ84XuAESWhvIPaUV4/1UYTBOLiOPGWqgFDHZS1D5QN9c57FbH3QpEnQMYiOXNzKUQyGTZf+EVO7RT5TQ==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", "dependencies": { "internmap": "1 - 2" }, @@ -1737,9 +1797,12 @@ } }, "node_modules/date-fns": { - "version": "2.29.3", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.29.3.tgz", - "integrity": "sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==", + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, "engines": { "node": ">=0.11" }, @@ -1785,44 +1848,52 @@ "node": ">=8" } }, - "node_modules/deep-equal": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.0.tgz", - "integrity": "sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "node_modules/default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", "dependencies": { - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.2", - "get-intrinsic": "^1.1.3", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.4.3", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + }, + "engines": { + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dependencies": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/define-properties": { @@ -1853,6 +1924,14 @@ "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==" }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, "node_modules/detect-libc": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", @@ -1954,22 +2033,22 @@ } }, "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" + "domhandler": "^5.0.3" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" } }, "node_modules/electron-to-chromium": { - "version": "1.4.348", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.348.tgz", - "integrity": "sha512-gM7TdwuG3amns/1rlgxMbeeyNoBFPa+4Uu0c7FeROWh4qWmvSOnvcslKmWy51ggLKZ2n/F/4i2HJ+PVNxH9uCQ==", + "version": "1.4.454", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.454.tgz", + "integrity": "sha512-pmf1rbAStw8UEQ0sr2cdJtWl48ZMuPD9Sto8HVQOq9vx9j2WgDEN6lYoaqFvqEHYOmGA9oRGn7LqWI9ta0YugQ==", "dev": true }, "node_modules/emoji-regex": { @@ -1978,9 +2057,9 @@ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" }, "node_modules/enhanced-resolve": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz", - "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -1990,9 +2069,9 @@ } }, "node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "engines": { "node": ">=0.12" }, @@ -2047,25 +2126,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/es-set-tostringtag": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz", @@ -2107,6 +2167,7 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, "engines": { "node": ">=6" } @@ -2123,14 +2184,13 @@ } }, "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dependencies": { "esprima": "^4.0.1", "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" + "esutils": "^2.0.2" }, "bin": { "escodegen": "bin/escodegen.js", @@ -2143,63 +2203,16 @@ "source-map": "~0.6.1" } }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, "node_modules/eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", + "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.37.0", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.10.0", @@ -2208,9 +2221,9 @@ "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.4.0", - "espree": "^9.5.1", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -2218,20 +2231,19 @@ "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" @@ -2247,11 +2259,11 @@ } }, "node_modules/eslint-config-next": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.2.4.tgz", - "integrity": "sha512-lunIBhsoeqw6/Lfkd6zPt25w1bn0znLA/JCL+au1HoEpSb4/PpsOYsYtgV/q+YPsoKIOzFyU5xnb04iZnXjUvg==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-13.4.9.tgz", + "integrity": "sha512-0fLtKRR268NArpqeXXwnLgMXPvF64YESQvptVg+RMLCaijKm3FICN9Y7Jc1p2o+yrWwE4DufJXDM/Vo53D1L7g==", "dependencies": { - "@next/eslint-plugin-next": "13.2.4", + "@next/eslint-plugin-next": "13.4.9", "@rushstack/eslint-patch": "^1.1.3", "@typescript-eslint/parser": "^5.42.0", "eslint-import-resolver-node": "^0.3.6", @@ -2259,7 +2271,7 @@ "eslint-plugin-import": "^2.26.0", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-react": "^7.31.7", - "eslint-plugin-react-hooks": "^4.5.0" + "eslint-plugin-react-hooks": "5.0.0-canary-7118f5dd7-20230705" }, "peerDependencies": { "eslint": "^7.23.0 || ^8.0.0", @@ -2271,6 +2283,17 @@ } } }, + "node_modules/eslint-config-next/node_modules/eslint-plugin-react-hooks": { + "version": "5.0.0-canary-7118f5dd7-20230705", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.0.0-canary-7118f5dd7-20230705.tgz", + "integrity": "sha512-AZYbMo/NW9chdL7vk6HQzQhT+PvTAEVqWk9ziruUoW2kAOcN5qNyelv70e0F1VNQAbvutOC9oc+xfWycI9FxDw==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, "node_modules/eslint-config-prettier": { "version": "8.8.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", @@ -2284,9 +2307,9 @@ } }, "node_modules/eslint-config-standard": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.0.0.tgz", - "integrity": "sha512-/2ks1GKyqSOkH7JFvXJicu0iMpoojkwB+f5Du/1SC0PtBL+s8v30k9njRZ21pm2drKYm2342jFnGWzttxPmZVg==", + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-17.1.0.tgz", + "integrity": "sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==", "dev": true, "funding": [ { @@ -2302,10 +2325,13 @@ "url": "https://feross.org/support" } ], + "engines": { + "node": ">=12.0.0" + }, "peerDependencies": { "eslint": "^8.0.1", "eslint-plugin-import": "^2.25.2", - "eslint-plugin-n": "^15.0.0", + "eslint-plugin-n": "^15.0.0 || ^16.0.0 ", "eslint-plugin-promise": "^6.0.0" } }, @@ -2328,12 +2354,13 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.4.tgz", - "integrity": "sha512-9xUpnedEmSfG57sN1UvWPiEhfJ8bPt0Wg2XysA7Mlc79iFGhmJtRUg9LxtkK81FhMUui0YuR2E8iUsVhePkh4A==", + "version": "3.5.5", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.5.5.tgz", + "integrity": "sha512-TdJqPHs2lW5J9Zpe17DZNQuDnox4xo2o+0tE7Pggain9Rbc19ik8kFtXdxZ250FVx2kF4vlt2RSf4qlUpG7bhw==", "dependencies": { "debug": "^4.3.4", "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", "get-tsconfig": "^4.5.0", "globby": "^13.1.3", "is-core-module": "^2.11.0", @@ -2352,13 +2379,13 @@ } }, "node_modules/eslint-import-resolver-typescript/node_modules/globby": { - "version": "13.1.3", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.3.tgz", - "integrity": "sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==", + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", "dependencies": { "dir-glob": "^3.0.1", - "fast-glob": "^3.2.11", - "ignore": "^5.2.0", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", "merge2": "^1.4.1", "slash": "^4.0.0" }, @@ -2381,9 +2408,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz", - "integrity": "sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dependencies": { "debug": "^3.2.7" }, @@ -2629,6 +2656,7 @@ "version": "4.6.0", "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, "engines": { "node": ">=10" }, @@ -2672,15 +2700,25 @@ } }, "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, "dependencies": { "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "estraverse": "^4.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "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==", + "dev": true, + "engines": { + "node": ">=4.0" } }, "node_modules/eslint-utils": { @@ -2711,9 +2749,24 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -2722,13 +2775,13 @@ } }, "node_modules/espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", + "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2792,26 +2845,51 @@ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, + "node_modules/execa": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.1.1.tgz", + "integrity": "sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", "dev": true }, "node_modules/fast-equals": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-4.0.3.tgz", - "integrity": "sha512-G3BSX9cfKttjr+2o1O22tYMLq0DPluZnYtq1rXumE1SpL/F/SLIfHx08WYQoWSIpeMYf8sRbJ8++71+v6Pnxfg==" + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", + "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "engines": { + "node": ">=6.0.0" + } }, "node_modules/fast-glob": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", - "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -3034,23 +3112,36 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", - "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", + "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", + "has-proto": "^1.0.1", "has-symbols": "^1.0.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-symbol-description": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", @@ -3067,9 +3158,12 @@ } }, "node_modules/get-tsconfig": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.5.0.tgz", - "integrity": "sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==", + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.6.2.tgz", + "integrity": "sha512-E5XrT4CbbXcXWy+1jChlZmrmCwd5KGx502kDCXJJ7y898TtWW9FwoG5HfOLVRKmlmDGkWN2HM9Ho+/Y8F0sJDg==", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, "funding": { "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" } @@ -3104,6 +3198,11 @@ "node": ">=10.13.0" } }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, "node_modules/globals": { "version": "13.20.0", "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", @@ -3132,11 +3231,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "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==" - }, "node_modules/globby": { "version": "11.1.0", "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", @@ -3156,11 +3250,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "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==" - }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -3177,10 +3266,10 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, "node_modules/has": { "version": "1.0.3", @@ -3315,6 +3404,14 @@ "node": ">= 6" } }, + "node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "engines": { + "node": ">=14.18.0" + } + }, "node_modules/iconv-lite": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", @@ -3392,21 +3489,6 @@ "node": ">=12" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", @@ -3470,9 +3552,9 @@ } }, "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", "dependencies": { "has": "^1.0.3" }, @@ -3495,14 +3577,14 @@ } }, "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", "bin": { "is-docker": "cli.js" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3535,12 +3617,21 @@ "node": ">=0.10.0" } }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-negative-zero": { @@ -3604,14 +3695,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-shared-array-buffer": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", @@ -3623,6 +3706,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/is-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -3669,14 +3763,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-weakref": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", @@ -3688,18 +3774,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-wsl": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", @@ -3711,34 +3785,34 @@ "node": ">=8" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, + "node_modules/is-wsl/node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/jiti": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.18.2.tgz", - "integrity": "sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==", + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", + "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", "dev": true, "bin": { "jiti": "bin/jiti.js" } }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -3756,9 +3830,9 @@ } }, "node_modules/jsdom": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.1.tgz", - "integrity": "sha512-Jjgdmw48RKcdAIQyUD1UdBh2ecH7VqwaXPN3ehoZN6MqgVbMn+lRm1aAT1AsdJRAJpwfa4IpwgzySn61h2qu3w==", + "version": "21.1.2", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-21.1.2.tgz", + "integrity": "sha512-sCpFmK2jv+1sjff4u7fzft+pUh2KSUbUrEHYHyfSIbGTIcmnjyp83qg6qLwdJ/I3LpTXx33ACxeRL7Lsyc6lGQ==", "dependencies": { "abab": "^2.0.6", "acorn": "^8.8.2", @@ -3773,7 +3847,7 @@ "http-proxy-agent": "^5.0.0", "https-proxy-agent": "^5.0.1", "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.2", + "nwsapi": "^2.2.4", "parse5": "^7.1.2", "rrweb-cssom": "^0.6.0", "saxes": "^6.0.0", @@ -3821,12 +3895,14 @@ } }, "node_modules/jsx-ast-utils": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz", - "integrity": "sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==", + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.4.tgz", + "integrity": "sha512-fX2TVdCViod6HwKEtSWGHs57oFhVfCMwieb9PuRDgjDPh5XeqJiHFFFJCHxU5cnTc3Bu/GRL+kPiFmw8XWOfKw==", "dependencies": { - "array-includes": "^3.1.5", - "object.assign": "^4.1.3" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" }, "engines": { "node": ">=4.0" @@ -3940,6 +4016,11 @@ "semver": "bin/semver.js" } }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", @@ -3979,6 +4060,17 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mimic-response": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", @@ -4010,9 +4102,9 @@ } }, "node_modules/minipass": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-4.2.5.tgz", - "integrity": "sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "engines": { "node": ">=8" } @@ -4109,41 +4201,39 @@ "dev": true }, "node_modules/next": { - "version": "13.2.4", - "resolved": "https://registry.npmjs.org/next/-/next-13.2.4.tgz", - "integrity": "sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==", + "version": "13.4.9", + "resolved": "https://registry.npmjs.org/next/-/next-13.4.9.tgz", + "integrity": "sha512-vtefFm/BWIi/eWOqf1GsmKG3cjKw1k3LjuefKRcL3iiLl3zWzFdPG3as6xtxrGO6gwTzzaO1ktL4oiHt/uvTjA==", "dependencies": { - "@next/env": "13.2.4", - "@swc/helpers": "0.4.14", + "@next/env": "13.4.9", + "@swc/helpers": "0.5.1", + "busboy": "1.6.0", "caniuse-lite": "^1.0.30001406", "postcss": "8.4.14", - "styled-jsx": "5.1.1" + "styled-jsx": "5.1.1", + "watchpack": "2.4.0", + "zod": "3.21.4" }, "bin": { "next": "dist/bin/next" }, "engines": { - "node": ">=14.6.0" + "node": ">=16.8.0" }, "optionalDependencies": { - "@next/swc-android-arm-eabi": "13.2.4", - "@next/swc-android-arm64": "13.2.4", - "@next/swc-darwin-arm64": "13.2.4", - "@next/swc-darwin-x64": "13.2.4", - "@next/swc-freebsd-x64": "13.2.4", - "@next/swc-linux-arm-gnueabihf": "13.2.4", - "@next/swc-linux-arm64-gnu": "13.2.4", - "@next/swc-linux-arm64-musl": "13.2.4", - "@next/swc-linux-x64-gnu": "13.2.4", - "@next/swc-linux-x64-musl": "13.2.4", - "@next/swc-win32-arm64-msvc": "13.2.4", - "@next/swc-win32-ia32-msvc": "13.2.4", - "@next/swc-win32-x64-msvc": "13.2.4" + "@next/swc-darwin-arm64": "13.4.9", + "@next/swc-darwin-x64": "13.4.9", + "@next/swc-linux-arm64-gnu": "13.4.9", + "@next/swc-linux-arm64-musl": "13.4.9", + "@next/swc-linux-x64-gnu": "13.4.9", + "@next/swc-linux-x64-musl": "13.4.9", + "@next/swc-win32-arm64-msvc": "13.4.9", + "@next/swc-win32-ia32-msvc": "13.4.9", + "@next/swc-win32-x64-msvc": "13.4.9" }, "peerDependencies": { - "@opentelemetry/api": "^1.4.0", + "@opentelemetry/api": "^1.1.0", "fibers": ">= 3.1.0", - "node-sass": "^6.0.0 || ^7.0.0", "react": "^18.2.0", "react-dom": "^18.2.0", "sass": "^1.3.0" @@ -4155,9 +4245,6 @@ "fibers": { "optional": true }, - "node-sass": { - "optional": true - }, "sass": { "optional": true } @@ -4187,9 +4274,9 @@ } }, "node_modules/node-fetch": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", - "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -4225,9 +4312,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "dev": true }, "node_modules/nopt": { @@ -4262,6 +4349,31 @@ "node": ">=0.10.0" } }, + "node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/npmlog": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", @@ -4285,9 +4397,9 @@ } }, "node_modules/nwsapi": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz", - "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==" + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" }, "node_modules/object-assign": { "version": "4.1.1", @@ -4314,21 +4426,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -4419,33 +4516,48 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", "is-wsl": "^2.2.0" }, "engines": { - "node": ">=12" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -4576,18 +4688,18 @@ } }, "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "engines": { "node": ">= 6" } }, "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "version": "8.4.25", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz", + "integrity": "sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==", "dev": true, "funding": [ { @@ -4597,10 +4709,14 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "nanoid": "^3.3.4", + "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" }, @@ -4609,9 +4725,9 @@ } }, "node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "dependencies": { "postcss-value-parser": "^4.0.0", @@ -4619,7 +4735,7 @@ "resolve": "^1.1.7" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.0.0" }, "peerDependencies": { "postcss": "^8.0.0" @@ -4645,16 +4761,16 @@ } }, "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", "dev": true, "dependencies": { "lilconfig": "^2.0.5", - "yaml": "^1.10.2" + "yaml": "^2.1.1" }, "engines": { - "node": ">= 10" + "node": ">= 14" }, "funding": { "type": "opencollective", @@ -4674,12 +4790,12 @@ } }, "node_modules/postcss-nested": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.0.tgz", - "integrity": "sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.10" + "postcss-selector-parser": "^6.0.11" }, "engines": { "node": ">=12.0" @@ -4693,9 +4809,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -4720,9 +4836,9 @@ } }, "node_modules/prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", "dev": true, "bin": { "prettier": "bin-prettier.js" @@ -4793,18 +4909,6 @@ } ] }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/react": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", @@ -4839,9 +4943,9 @@ "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, "node_modules/react-resize-detector": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-8.0.4.tgz", - "integrity": "sha512-ln9pMAob8y8mc9UI4aZuuWFiyMqBjnTs/sxe9Vs9dPXUjwCTeKK1FP8I75ufnb/2mEEZXG6wOo/fjMcBRRuAXw==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-8.1.0.tgz", + "integrity": "sha512-S7szxlaIuiy5UqLhLL1KY3aoyGHbZzsTpYal9eYMwCyKqoqoVLCmIgAgNyIM1FhnP2KyBygASJxdhejrzjMb+w==", "dependencies": { "lodash": "^4.17.21" }, @@ -4851,11 +4955,11 @@ } }, "node_modules/react-smooth": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-2.0.2.tgz", - "integrity": "sha512-pgqSp1q8rAGtF1bXQE0m3CHGLNfZZh5oA5o1tsPLXRHnKtkujMIJ8Ws5nO1mTySZf1c4vgwlEk+pHi3Ln6eYLw==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-2.0.3.tgz", + "integrity": "sha512-yl4y3XiMorss7ayF5QnBiSprig0+qFHui8uh7Hgg46QX5O+aRMRKlfGGNGLHno35JkQSvSYY8eCWkBfHfrSHfg==", "dependencies": { - "fast-equals": "^4.0.3", + "fast-equals": "^5.0.0", "react-transition-group": "2.9.0" }, "peerDependencies": { @@ -4887,6 +4991,18 @@ "react-dom": ">=15.0.0" } }, + "node_modules/react-toastify": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-9.1.3.tgz", + "integrity": "sha512-fPfb8ghtn/XMxw3LkxQBk3IyagNpF/LIKjOBflbexr2AWxAH1MJgvnESwEwBn9liLFXgTKWgBSdZpw9m4OTHTg==", + "dependencies": { + "clsx": "^1.1.1" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, "node_modules/react-transition-group": { "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", @@ -4937,9 +5053,9 @@ } }, "node_modules/recharts": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.5.0.tgz", - "integrity": "sha512-0EQYz3iA18r1Uq8VqGZ4dABW52AKBnio37kJgnztIqprELJXpOEsa0SzkqU1vjAhpCXCv52Dx1hiL9119xsqsQ==", + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.7.2.tgz", + "integrity": "sha512-HMKRBkGoOXHW+7JcRa6+MukPSifNtJlqbc+JreGVNA407VLE/vOP+8n3YYjprDVVIF9E2ZgwWnL3D7K/LUFzBg==", "dependencies": { "classnames": "^2.2.5", "eventemitter3": "^4.0.1", @@ -4988,13 +5104,13 @@ "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" }, "node_modules/regexp.prototype.flags": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", - "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "functions-have-names": "^1.2.2" + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" }, "engines": { "node": ">= 0.4" @@ -5019,6 +5135,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -5029,11 +5146,11 @@ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" }, "node_modules/resolve": { - "version": "1.22.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", - "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dependencies": { - "is-core-module": "^2.9.0", + "is-core-module": "^2.11.0", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, @@ -5052,6 +5169,14 @@ "node": ">=4" } }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -5080,6 +5205,102 @@ "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==" }, + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/run-applescript/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/run-applescript/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/run-applescript/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/run-applescript/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/run-applescript/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -5103,9 +5324,10 @@ } }, "node_modules/rxjs": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", - "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, "dependencies": { "tslib": "^2.1.0" } @@ -5167,9 +5389,9 @@ } }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -5205,9 +5427,10 @@ } }, "node_modules/shell-quote": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz", - "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==", + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5285,19 +5508,17 @@ } }, "node_modules/spawn-command": { - "version": "0.0.2-1", - "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", - "integrity": "sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==" + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2.tgz", + "integrity": "sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==", + "dev": true }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dependencies": { - "internal-slot": "^1.0.4" - }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", "engines": { - "node": ">= 0.4" + "node": ">=10.0.0" } }, "node_modules/string_decoder": { @@ -5405,6 +5626,17 @@ "node": ">=4" } }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -5439,11 +5671,12 @@ } }, "node_modules/sucrase": { - "version": "3.31.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.31.0.tgz", - "integrity": "sha512-6QsHnkqyVEzYcaiHsOKkzOtOgdJcb8i54x6AV2hDwyZcY9ZyykGZVw6L/YN98xC0evwTP6utsWWrKRaa8QlfEQ==", + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", "dev": true, "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "7.1.6", "lines-and-columns": "^1.1.6", @@ -5480,14 +5713,18 @@ } }, "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -5522,59 +5759,55 @@ } }, "node_modules/tabbable": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.1.1.tgz", - "integrity": "sha512-4kl5w+nCB44EVRdO0g/UGoOp3vlwgycUVtkk/7DPyeLZUCuNFFKCFG6/t/DgHLrUPHjrZg6s5tNm+56Q2B0xyg==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" }, "node_modules/tailwind-merge": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.12.0.tgz", - "integrity": "sha512-Y17eDp7FtN1+JJ4OY0Bqv9OA41O+MS8c1Iyr3T6JFLnOgLg3EvcyMKZAnQ8AGyvB5Nxm3t9Xb5Mhe139m8QT/g==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.13.2.tgz", + "integrity": "sha512-R2/nULkdg1VR/EL4RXg4dEohdoxNUJGLMnWIQnPKL+O9Twu7Cn3Rxi4dlXkDzZrEGtR+G+psSXFouWlpTyLhCQ==", "funding": { "type": "github", "url": "https://github.com/sponsors/dcastil" } }, "node_modules/tailwindcss": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.1.tgz", - "integrity": "sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.2.tgz", + "integrity": "sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==", "dev": true, "dependencies": { + "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.5.3", - "color-name": "^1.1.4", "didyoumean": "^1.2.2", "dlv": "^1.1.3", "fast-glob": "^3.2.12", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "jiti": "^1.17.2", - "lilconfig": "^2.0.6", + "jiti": "^1.18.2", + "lilconfig": "^2.1.0", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.0.9", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "6.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", "postcss-selector-parser": "^6.0.11", "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1", - "sucrase": "^3.29.0" + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" }, "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">=14.0.0" } }, "node_modules/tapable": { @@ -5586,13 +5819,13 @@ } }, "node_modules/tar": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.13.tgz", - "integrity": "sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==", + "version": "6.1.15", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.15.tgz", + "integrity": "sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^4.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" @@ -5627,13 +5860,15 @@ "node": ">=0.8" } }, - "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==", - "dependencies": { - "globalyzer": "0.1.0", - "globrex": "^0.1.2" + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/to-regex-range": { @@ -5648,9 +5883,9 @@ } }, "node_modules/tough-cookie": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz", - "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", "dependencies": { "psl": "^1.1.33", "punycode": "^2.1.1", @@ -5676,6 +5911,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, "bin": { "tree-kill": "cli.js" } @@ -5698,9 +5934,9 @@ } }, "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.0.tgz", + "integrity": "sha512-7At1WUettjcSRHXCyYtTselblcHl9PJFFVKiCAy/bY97+BPZXSQ2wbq0P9s8tK2G7dFQfNnlJnPAiArVBVBsfA==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -5790,10 +6026,18 @@ "node": ">= 4.0.0" } }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "engines": { + "node": ">=8" + } + }, "node_modules/update-browserslist-db": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", - "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", "dev": true, "funding": [ { @@ -5803,6 +6047,10 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { @@ -5810,7 +6058,7 @@ "picocolors": "^1.0.0" }, "bin": { - "browserslist-lint": "cli.js" + "update-browserslist-db": "cli.js" }, "peerDependencies": { "browserslist": ">= 4.21.0" @@ -5838,10 +6086,27 @@ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/uuidv4": { + "version": "6.2.13", + "resolved": "https://registry.npmjs.org/uuidv4/-/uuidv4-6.2.13.tgz", + "integrity": "sha512-AXyzMjazYB3ovL3q051VLH06Ixj//Knx7QnUSi1T//Ie3io6CpsPu9nVMOx5MoLWh6xV0B9J0hIaxungxXUbPQ==", + "dependencies": { + "@types/uuid": "8.3.4", + "uuid": "8.3.2" + } + }, "node_modules/victory-vendor": { - "version": "36.6.8", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.8.tgz", - "integrity": "sha512-H3kyQ+2zgjMPvbPqAl7Vwm2FD5dU7/4bCTQakFQnpIsfDljeOMDojRsrmJfwh4oAlNnWhpAf+mbAoLh8u7dwyQ==", + "version": "36.6.11", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.6.11.tgz", + "integrity": "sha512-nT8kCiJp8dQh8g991J/R5w5eE2KnO8EAIP0xocWlh9l2okngMWglOPoMZzJvek8Q1KUc4XE/mJxTZnvOB1sTYg==", "dependencies": { "@types/d3-array": "^3.0.3", "@types/d3-ease": "^3.0.0", @@ -5870,6 +6135,18 @@ "node": ">=14" } }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -5938,20 +6215,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/which-typed-array": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", @@ -5979,18 +6242,11 @@ "string-width": "^1.0.2 || 2 || 3 || 4" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -6041,10 +6297,19 @@ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" }, + "node_modules/xpath": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.32.tgz", + "integrity": "sha512-rxMJhSIoiO8vXcWvSifKqhvV96GjiD5wYb8/QHdoRyQvraTpp4IEv944nhGausZZ3u7dhQXteZuZbaqfpB7uYw==", + "engines": { + "node": ">=0.6.0" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, "engines": { "node": ">=10" } @@ -6055,18 +6320,19 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", "dev": true, "engines": { - "node": ">= 6" + "node": ">= 14" } }, "node_modules/yargs": { - "version": "17.7.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz", - "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==", + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -6084,6 +6350,7 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, "engines": { "node": ">=12" } @@ -6098,6 +6365,14 @@ "funding": { "url": "https://github.com/sponsors/sindresorhus" } + }, + "node_modules/zod": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", + "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } } } } diff --git a/package.json b/package.json index 5300fbb..cf67dc4 100644 --- a/package.json +++ b/package.json @@ -3,13 +3,15 @@ "version": "0.1.0", "private": true, "scripts": { - "dev": "concurrently \"next dev\" \"tailwindcss --input ./src/styles/globals.css --output ./src/styles/output.css --watch\"", + "dev": "next dev", + "watch-css": "tailwindcss --input ./src/styles/globals.css --output ./src/styles/output.css --watch", "build": "tailwindcss ./src/styles/globals.css --output ./src/styles/output.css && next build", "start": "next start", "lint": "next lint" }, "dependencies": { "@heroicons/react": "^1.0.6", + "@phosphor-icons/react": "^2.0.9", "@tremor/react": "^2.1.0", "@types/lodash": "^4.14.192", "@types/node": "18.15.11", @@ -18,22 +20,26 @@ "b3api": "^0.0.1", "canvas": "^2.11.2", "cheerio": "^1.0.0-rc.12", - "concurrently": "^8.0.1", - "eslint-config-next": "13.2.4", + "eslint-config-next": "^13.4.4", "jsdom": "^21.1.1", "lodash": "^4.17.21", "moment": "^2.29.4", - "next": "13.2.4", - "react": "18.2.0", - "react-dom": "18.2.0", - "typescript": "5.0.3" + "next": "^13.4.4", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-toastify": "^9.1.3", + "typescript": "5.0.3", + "uuidv4": "^6.2.13", + "xpath": "^0.0.32" }, "devDependencies": { "@rocketseat/eslint-config": "^1.2.0", "@types/jsdom": "^21.1.1", "autoprefixer": "^10.4.14", + "concurrently": "^8.2.0", "eslint": "^8.37.0", "postcss": "^8.4.21", + "postcss-import": "^15.1.0", "tailwindcss": "^3.3.1" } } diff --git a/sonar-project.properties b/sonar-project.properties new file mode 100644 index 0000000..a5c069c --- /dev/null +++ b/sonar-project.properties @@ -0,0 +1,12 @@ +sonar.projectKey=eliasrosa_tcc +sonar.organization=eliasrosa + +# This is the name and version displayed in the SonarCloud UI. +sonar.projectName=TCC +sonar.projectVersion=1.0 + +# Path is relative to the sonar-project.properties file. Replace "\" by "/" on Windows. +#sonar.sources=. + +# Encoding of the source code. Default is default system encoding +sonar.sourceEncoding=UTF-8 \ No newline at end of file diff --git a/src/@types/DataTypes.d.ts b/src/@types/DataTypes.d.ts new file mode 100644 index 0000000..7b856f7 --- /dev/null +++ b/src/@types/DataTypes.d.ts @@ -0,0 +1,24 @@ +import { Portfolio } from '@/@types/PortfoliosTypes' +import { Result } from '@/@types/ResultsTypes' +import { Ticker } from '@/@types/TickersTypes' + +export type ActionsFunctionsTypes = + 'LOAD' | 'CLEAR' | + 'TICKERS_UPDATE' | 'TICKERS_INSERT' | 'TICKERS_REMOVE' | 'TICKERS_SET_VISIBILITY' | + 'PORTFOLIOS_UPDATE' | 'PORTFOLIOS_INSERT' | 'PORTFOLIOS_REMOVE' + +export interface DataType { + tickers: Ticker[] + portfolios: Portfolio[] +} + +export interface ActionsType { + type: ActionsFunctionsTypes + payload?: any +} + +export interface DataContextType { + data: DataType + results: Result[] + dispatch: React.Dispatch +} diff --git a/src/@types/PortfoliosTypes.d.ts b/src/@types/PortfoliosTypes.d.ts new file mode 100644 index 0000000..df07262 --- /dev/null +++ b/src/@types/PortfoliosTypes.d.ts @@ -0,0 +1,18 @@ +export interface Portfolio { + id: string + name: string +} + +export interface PortfolioResponse { + status: 'success' | 'error' + message: string +} + +export interface PortfoliosContextType { + portfolios: Portfolio[] + getPortfolio: (id: string) => Portfolio + listPortfolios: () => Portfolio[] + insertPortfolio: (portfolio: Omit) => PortfolioResponse + deletePortfolio: (id: string) => PortfolioResponse + updatePortfolio: (id: string, portfolio: Portfolio) => PortfolioResponse +} diff --git a/src/@types/ResultsTypes.ts b/src/@types/ResultsTypes.ts new file mode 100644 index 0000000..c2d2818 --- /dev/null +++ b/src/@types/ResultsTypes.ts @@ -0,0 +1,18 @@ +import { Ticker } from "./TickersTypes" + +export interface Result{ + ticker: string + dy: number + pvp: number + price: number + requestedAt: number + lastDividend: number + isError: boolean + isLoading: boolean +} + +export interface ResultsContextType { + results: Result[] + get: (ticker: string) => Result + load: (tickers: Ticker[]) => Promise +} diff --git a/src/@types/TickersTypes.d.ts b/src/@types/TickersTypes.d.ts new file mode 100644 index 0000000..b2788c6 --- /dev/null +++ b/src/@types/TickersTypes.d.ts @@ -0,0 +1,26 @@ +export interface TickerData{ + price: number + pvp: number + dy: number + lastDividend: number +} + +export interface Ticker { + portfolioId: string + isHidden: boolean + quantity: number + ticker: string +} + +export interface TickerActionResponse { + status: 'success' | 'error' + message: string +} + +export interface TickersContextType { + tickers: Ticker[] + addTickers: (tickers: string[], portfolios: string[]) => Promise + removeTicker: (ticker: Ticker) => TickerActionResponse + updateTicker: (ticker: Ticker) => TickerActionResponse + listByPortfolioId: (id: string) => Ticker[] +} diff --git a/src/actions/portfoliosActions.ts b/src/actions/portfoliosActions.ts new file mode 100644 index 0000000..f6fa5fd --- /dev/null +++ b/src/actions/portfoliosActions.ts @@ -0,0 +1,47 @@ +import { DataType } from "@/@types/DataTypes" +import { Portfolio } from "@/@types/PortfoliosTypes" +import { findIndex } from 'lodash' +import { v4 as uuid } from 'uuid' + + +export const portfoliosActions = { + update: (state: DataType, payload: any): DataType => { + const { portfolios } = state + + const index = findIndex(portfolios, { id: payload.id }) + + portfolios[index].name = payload.name + + return { + ...state, + portfolios: [...portfolios] + } + }, + + insert: (state: DataType, payload: any): DataType => { + const { portfolios } = state + + const newPortfolio: Portfolio = { + id: uuid(), + name: payload.name + } + + return { + ...state, + portfolios: [...portfolios, newPortfolio] + } + }, + + remove: (state: DataType, payload: any): DataType => { + const { portfolios } = state + + const index = findIndex(portfolios, { id: payload.id }) + + portfolios.splice(index, 1) + + return { + ...state, + portfolios: [...portfolios] + } + }, +} diff --git a/src/actions/storageActions.ts b/src/actions/storageActions.ts new file mode 100644 index 0000000..c516446 --- /dev/null +++ b/src/actions/storageActions.ts @@ -0,0 +1,28 @@ +import { DataType } from "@/@types/DataTypes" +import { dataInitialState } from "@/reducers/dataReducer" + +export const storageActions = { + load: (state: DataType): DataType => { + const data = localStorage.getItem('data') + + if (data) { + return JSON.parse(data) + } + + return state + }, + + save: (state: DataType) => { + const data = JSON.stringify(state) + localStorage.setItem('data', data) + + return state + }, + + clear: () => { + const data = JSON.stringify(dataInitialState) + localStorage.setItem('data', data) + + return dataInitialState + } +} diff --git a/src/actions/tickersActions.ts b/src/actions/tickersActions.ts new file mode 100644 index 0000000..d031938 --- /dev/null +++ b/src/actions/tickersActions.ts @@ -0,0 +1,77 @@ +import { Ticker } from "@/@types/TickersTypes" +import { DataType } from "@/@types/DataTypes" +import { findIndex, uniqWith } from 'lodash' + +const defaultValues: Ticker = { + ticker: '', + portfolioId: '', + quantity: 0, + isHidden: false, +} + +export const tickersActions = { + update: (state: DataType, { ticker, portfolioId, data }: any): DataType => { + const { tickers } = state + + const newTickers = tickers.map((t) => { + if (t.ticker === ticker.ticker && t.portfolioId === ticker.portfolioId) { + return ticker + } + + return t + }) + + return { ...state, tickers: newTickers } + }, + + insert: (state: DataType, { tickersList, portfoliosList }: any): DataType => { + const { tickers } = state + + const newTickers: Ticker[] = [] + portfoliosList.forEach((portfolioId: string) => { + tickersList.forEach((ticker: string) => { + newTickers.push({ ...defaultValues, ticker, portfolioId }) + }) + }) + + const tickersFiltred = uniqWith([...tickers, ...newTickers], (a, b) => { + return a.ticker === b.ticker && a.portfolioId === b.portfolioId + }) + + // for (const ticker of tickersFiltred) { + // try { + // ticker.data = await fetchTicker(ticker.ticker) + // }catch (error) { + // ticker.isError = true + // } + // } + + return { + ...state, + tickers: tickersFiltred + } + }, + + remove: (state: DataType, { ticker, portfolioId }: any): DataType => { + const { tickers } = state + + const index = findIndex(tickers, { ticker, portfolioId }) + tickers.splice(index, 1) + + return { ...state, tickers } + }, + + setVisibility: (state: DataType, { ticker, portfolioId, isHidden }: any): DataType => { + const { tickers } = state + + const newTickers = tickers.map((t) => { + if (t.ticker === ticker && t.portfolioId === portfolioId) { + return { ...t, isHidden } + } + + return t + }) + + return { ...state, tickers: newTickers } + } +} diff --git a/src/app/calculadora/page.tsx b/src/app/calculadora/page.tsx deleted file mode 100644 index 6d4b819..0000000 --- a/src/app/calculadora/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export default function PageCalculadora() { - return ( - <> -

Calculadora

- - ) -} diff --git a/src/app/inflacao/page.tsx b/src/app/inflacao/page.tsx deleted file mode 100644 index 2f8a93d..0000000 --- a/src/app/inflacao/page.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export default async function PageInflacao() { - return ( - <> -

Selic

- - ) -} diff --git a/src/app/layout.tsx b/src/app/layout.tsx index 6305503..23416cc 100644 --- a/src/app/layout.tsx +++ b/src/app/layout.tsx @@ -1,28 +1,38 @@ import { ReactNode, Suspense } from 'react' -import Sidebar from './sidebar' -import { Header } from '@/components/layout/header' +// import { ToastContainer } from 'react-toastify' +import { Inter } from 'next/font/google' +import { config } from '@/config' +import { Header } from '@/components/layout/Header' +import { Main } from '@/components/layout/Main' +import { DataProvider } from '@/providers/DataProvider' + +// import 'react-toastify/dist/ReactToastify.css' import '../styles/output.css' -export const metadata = { - title: { - default: 'TCC', - template: '%s | TCC', - }, - description: 'UNICESUMAR - BACHARELADO EM ENGENHARIA DE SOFTWAR', -} +const inter = Inter({ + weight: ['100', '200', '300', '400', '500', '600', '700', '800', '900'], + subsets: ['latin'], + display: 'swap', +}) + +export const metadata = config.app.metadata export default function RootLayout({ children }: { children: ReactNode }) { return ( - + -
-
- -
+ +
+
{children} -
-
+ + {/* */} + ) diff --git a/src/app/page.tsx b/src/app/page.tsx index e0ebdc5..b13569c 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,9 +1,11 @@ -import { Tabs } from '@/components/Tabs' +import { Info } from '@/components/home/Info' +import { Form } from '@/components/home/Form' export default function Home() { return ( <> - +
+ ) } diff --git a/src/app/portfolios/[portfolioId]/details/page.tsx b/src/app/portfolios/[portfolioId]/details/page.tsx new file mode 100644 index 0000000..75c6349 --- /dev/null +++ b/src/app/portfolios/[portfolioId]/details/page.tsx @@ -0,0 +1,61 @@ +'use client' + +import { Portfolio } from "@/@types/PortfoliosTypes" +import { Ticker } from "@/@types/TickersTypes" +import { PageTitle } from "@/components/PageTitle" +import { Card } from "@tremor/react" +import { useEffect, useState } from "react" +import { usePortfolios } from "@/hooks/usePortfolios" +import { useTickers } from "@/hooks/useTickers" +import { DetailsTable } from "@/components/details/DatailsTable" +import { useData } from "@/hooks/useData" + +interface AnalisesProps { + params: { + portfolioId: string + } +} + +// const dataFormatter = (number: number) => +// `R$ ${Intl.NumberFormat('pt-BR').format(number).toString()}` + +export default function PagePortfolioDetails({ params }: AnalisesProps) { + const { data } = useData() + const { listByPortfolioId } = useTickers() + const { getPortfolio } = usePortfolios() + + const [portfolio, setPortfolio] = useState(false) + const [tickersFiltred, setTickersFiltred] = useState([]) + + useEffect(() => { + setPortfolio(getPortfolio(params.portfolioId)) + setTickersFiltred(listByPortfolioId(params.portfolioId)) + }, []) + + useEffect(() => { + setTickersFiltred(listByPortfolioId(params.portfolioId)) + }, [data]) + + if (!portfolio) { + return ( + Loading... + ) + } + + return ( +
+ + Análise da carteira + {portfolio.name} + + + + + + + Dividendos pagos últimos 12 meses + + +
+ ) +} diff --git a/src/app/sidebar.tsx b/src/app/sidebar.tsx deleted file mode 100644 index c8ba988..0000000 --- a/src/app/sidebar.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import Link from 'next/link' - -const classMenu = 'p-2 hover:text-white' - -export default function Sidebar() { - return ( -
-
    -
  • - Análises -
      -
    • - MXRF11 -
    • -
    • - XPLG11 -
    • -
    • - XPHT11 -
    • -
    -
  • -
  • - Calculadora -
  • -
  • - Selic -
  • -
  • - Inflação -
  • -
-
- ) -} diff --git a/src/components/PageTitle.tsx b/src/components/PageTitle.tsx new file mode 100644 index 0000000..f7d0da8 --- /dev/null +++ b/src/components/PageTitle.tsx @@ -0,0 +1,12 @@ +'use client' + +import { Title } from "@tremor/react" +import { ReactNode } from "react" + +export function PageTitle({ children }: { children: ReactNode }) { + return ( + + {children} + + ) +} diff --git a/src/components/TableTickers.tsx b/src/components/TableTickers.tsx new file mode 100644 index 0000000..ba6d769 --- /dev/null +++ b/src/components/TableTickers.tsx @@ -0,0 +1,38 @@ +'use client' + +import { Ticker } from '@/@types/TickersTypes' +import { + Table, + TableBody, + TableHead, + TableHeaderCell, + TableRow, +} from '@tremor/react' + +import { TableTickersRow } from './TableTickersRow' + +type Props = { + tickers: Ticker[] +} + +export function TableTickers({ tickers }: Props) { + + return ( + + + + Papel + Valor Atual + PV/P + Dividend Yield + Últ. Rendimento + + + + {tickers.map((t) => ( + + ))} + +
+ ) +} diff --git a/src/components/TableTickersRow.tsx b/src/components/TableTickersRow.tsx new file mode 100644 index 0000000..023931d --- /dev/null +++ b/src/components/TableTickersRow.tsx @@ -0,0 +1,36 @@ +'use client' + +import { Ticker } from '@/@types/TickersTypes' +import { useResult } from '@/hooks/useResults' +import { TableCell, TableRow } from '@tremor/react' + +type Props = { + ticker: Ticker, +} + +export function TableTickersRow({ ticker }: Props) { + + const { dy, isError, isLoading, lastDividend, price } = useResult(ticker.ticker) + + if (isError || isLoading) { + return ( + + {ticker.ticker} + - + - + - + - + + ) + } + + return ( + + {ticker.ticker} + {price} + - + {dy} + {lastDividend} + + ) +} diff --git a/src/components/Tabs.tsx b/src/components/Tabs.tsx deleted file mode 100644 index 0e266f8..0000000 --- a/src/components/Tabs.tsx +++ /dev/null @@ -1,15 +0,0 @@ -'use client' - -import { useState } from 'react' -import { TabList, Tab } from '@tremor/react' - -export function Tabs() { - const [value, setValue] = useState('home') - return ( - - - - - - ) -} diff --git a/src/components/details/DatailsTable.tsx b/src/components/details/DatailsTable.tsx new file mode 100644 index 0000000..e67deba --- /dev/null +++ b/src/components/details/DatailsTable.tsx @@ -0,0 +1,35 @@ +import { Ticker } from '@/@types/TickersTypes' +import { + Table, + TableBody, + TableHead, + TableHeaderCell, + TableRow, +} from '@tremor/react' +import { Row } from './table/Row' + +type Props = { + tickers: Ticker[] +} + +export function DetailsTable({ tickers }: Props) { + return ( + + + + Papel + Valor Atual + PV/P + Dividend Yield + Últ. Rendimento + + + + + {tickers.map((t) => ( + + ))} + +
+ ) +} diff --git a/src/components/details/table/Remove.tsx b/src/components/details/table/Remove.tsx new file mode 100644 index 0000000..7a600c8 --- /dev/null +++ b/src/components/details/table/Remove.tsx @@ -0,0 +1,20 @@ +'use client' + +import { useTickers } from '@/hooks/useTickers' +import { Button, Icon } from '@tremor/react' +import { Ticker } from '@/@types/TickersTypes' +import { Trash } from '@phosphor-icons/react' + +type Props = { + ticker: Ticker, +} + +export function Remove({ ticker }: Props) { + const { removeTicker } = useTickers() + + return ( + + ) +} diff --git a/src/components/details/table/Row.tsx b/src/components/details/table/Row.tsx new file mode 100644 index 0000000..10d0505 --- /dev/null +++ b/src/components/details/table/Row.tsx @@ -0,0 +1,46 @@ +'use client' + +import { TableCell, TableRow } from '@tremor/react' +import { Ticker } from '@/@types/TickersTypes' +import { Remove } from './Remove' +import { useResult } from '@/hooks/useResults' +import { Visibility } from './Visibility' + +type Props = { + ticker: Ticker, +} + +export function Row({ ticker }: Props) { + const { dy, isError, isLoading, lastDividend, price } = useResult(ticker.ticker) + + if (isError || isLoading) { + return ( + + {ticker.ticker} + - + - + - + - + + + + + + ) + } + + return ( + + {ticker.ticker} + {price} + - + {dy} + {lastDividend} + + + + + + + ) +} diff --git a/src/components/details/table/Visibility.tsx b/src/components/details/table/Visibility.tsx new file mode 100644 index 0000000..7d2fa7c --- /dev/null +++ b/src/components/details/table/Visibility.tsx @@ -0,0 +1,23 @@ +'use client' + +import { useTickers } from '@/hooks/useTickers' +import { Button, Icon } from '@tremor/react' +import { Ticker } from '@/@types/TickersTypes' +import { Eye, EyeSlash, Trash } from '@phosphor-icons/react' + +type Props = { + ticker: Ticker, + isDisabled?: boolean, +} + +export function Visibility({ ticker, isDisabled = false}: Props) { + const { setVisibility } = useTickers() + + const icon = isDisabled || ticker.isHidden ? EyeSlash : Eye + + return ( + + ) +} diff --git a/src/components/home/Form/SelectPortfolios.tsx b/src/components/home/Form/SelectPortfolios.tsx new file mode 100644 index 0000000..490bcbf --- /dev/null +++ b/src/components/home/Form/SelectPortfolios.tsx @@ -0,0 +1,28 @@ +'use client' + +import { MultiSelectBox, MultiSelectBoxItem } from '@tremor/react' +import { usePortfolios } from '@/hooks/usePortfolios' +import { Folders } from '@phosphor-icons/react' + +type SelectPortfoliosProps = { + onValueChange: (value: string[]) => void +} + +export function SelectPortfolios(props: SelectPortfoliosProps) { + const { listPortfolios } = usePortfolios() + + return ( +
+ + {listPortfolios().map((g) => { + return + })} + +
+ ) +} diff --git a/src/components/home/Form/SelectTickers.tsx b/src/components/home/Form/SelectTickers.tsx new file mode 100644 index 0000000..0d01e85 --- /dev/null +++ b/src/components/home/Form/SelectTickers.tsx @@ -0,0 +1,33 @@ +'use client' + +import { MultiSelectBox, MultiSelectBoxItem } from '@tremor/react' +import { MagnifyingGlass } from '@phosphor-icons/react' + +import { getFundsStorage } from '@/storage/funds' + +type SelectTickersProps = { + onValueChange: (value: string[]) => void +} + +export function SelectTickers(props: SelectTickersProps) { + return ( +
+ + {getFundsStorage().map((f) => { + return ( + + ) + })} + +
+ ) +} diff --git a/src/components/home/Form/index.tsx b/src/components/home/Form/index.tsx new file mode 100644 index 0000000..3fd22a3 --- /dev/null +++ b/src/components/home/Form/index.tsx @@ -0,0 +1,44 @@ +'use client' + +import { Button, Title } from '@tremor/react' +import { useState } from 'react' +import { SelectTickers } from './SelectTickers' +import { SelectPortfolios } from './SelectPortfolios' +import { useTickers } from '@/hooks/useTickers' + +export function Form() { + const { addTickers } = useTickers() + + const [portfolioSelected, setPortfolioSelected] = useState([]) + const [tickersSelected, setTickersSelected] = useState([]) + + const onTickersSelected = (value: any) => setTickersSelected(value) + const onPortfoliosSelected = (value: any) => setPortfolioSelected(value) + + const onSubmit = () => { + console.log('onSubmit...'); + + if (!portfolioSelected.length || !tickersSelected.length) { + return console.error('Portfolio selection') + } + + addTickers(tickersSelected, portfolioSelected) + } + + return ( +
+ + Análise de Fundos Imobiliários + + +
+ + + + +
+
+ ) +} diff --git a/src/components/home/Info/InfoHeader.tsx b/src/components/home/Info/InfoHeader.tsx new file mode 100644 index 0000000..d55098b --- /dev/null +++ b/src/components/home/Info/InfoHeader.tsx @@ -0,0 +1,18 @@ +'use client' + +import { Title } from "@tremor/react" +import { InfoHeaderButtons } from "./InfoHeaderButtons" + +type Props = { + portfolioId: string + portfolioName: string +} + +export function InfoHeader({ portfolioId, portfolioName }: Props) { + return ( +
+ {portfolioName} + +
+ ) +} \ No newline at end of file diff --git a/src/components/home/Info/InfoHeaderButtons.tsx b/src/components/home/Info/InfoHeaderButtons.tsx new file mode 100644 index 0000000..3ea840b --- /dev/null +++ b/src/components/home/Info/InfoHeaderButtons.tsx @@ -0,0 +1,23 @@ +'use client' + +import { Button, Icon } from "@tremor/react" +import { PencilSimple, ChartLineUp } from '@phosphor-icons/react' +import Link from "next/link" + +type Props = { + portfolioId: string +} + +export function InfoHeaderButtons({ portfolioId }: Props) { + return ( +
+ + + + + + + +
+ ) +} diff --git a/src/components/home/Info/InfoTable.tsx b/src/components/home/Info/InfoTable.tsx new file mode 100644 index 0000000..f41afa9 --- /dev/null +++ b/src/components/home/Info/InfoTable.tsx @@ -0,0 +1,33 @@ +'use client' + +import { Card } from '@tremor/react' + +import { useTickers } from '@/hooks/useTickers' +import { TableTickers } from '@/components/TableTickers' +import { InfoHeader } from './InfoHeader' + +type Props = { + portfolioId: string + portfolioName: string +} + +export function InfoTable({ portfolioId, portfolioName }: Props) { + const { listByPortfolioId } = useTickers() + const tickers = listByPortfolioId(portfolioId) + + if (!tickers.length) { + return ( + + +

Sem ativos nesta carteira

+
+ ) + } + + return ( + + + + + ) +} diff --git a/src/components/home/Info/index.tsx b/src/components/home/Info/index.tsx new file mode 100644 index 0000000..2915cbb --- /dev/null +++ b/src/components/home/Info/index.tsx @@ -0,0 +1,21 @@ +'use client' + +import { usePortfolios } from '@/hooks/usePortfolios' +import { InfoTable } from './InfoTable' +import { Title } from '@tremor/react' + +export function Info() { + const { listPortfolios } = usePortfolios() + + return ( +
+ Minhas Carteiras + +
+ {listPortfolios().map((g) => ( + + ))} +
+
+ ) +} diff --git a/src/components/layout/Header.tsx b/src/components/layout/Header.tsx new file mode 100644 index 0000000..2d9e1e5 --- /dev/null +++ b/src/components/layout/Header.tsx @@ -0,0 +1,18 @@ +'use client' + +import { config } from '@/config' +import { List, Gear } from '@phosphor-icons/react' + +export function Header() { + return ( +
+ +
+ ) +} diff --git a/src/components/layout/Main.tsx b/src/components/layout/Main.tsx new file mode 100644 index 0000000..bf481ed --- /dev/null +++ b/src/components/layout/Main.tsx @@ -0,0 +1,5 @@ +import { ReactNode } from 'react' + +export function Main({ children }: { children: ReactNode }) { + return
{children}
+} diff --git a/src/components/layout/header.tsx b/src/components/layout/header.tsx deleted file mode 100644 index b022763..0000000 --- a/src/components/layout/header.tsx +++ /dev/null @@ -1,7 +0,0 @@ -export function Header() { - return ( -
- -
- ) -} diff --git a/src/config.ts b/src/config.ts index 80e19d2..903e065 100644 --- a/src/config.ts +++ b/src/config.ts @@ -1,5 +1,20 @@ export const config = { - api: { - host: 'https://brapi.dev/', + app: { + metadata: { + title: { + default: 'MY FIIS', + template: '%s | My FIIs', + }, + }, + }, + + apis: { + brapi: { + host: 'https://brapi.dev/', + }, + }, + + cache: { + time: 1000 * 60 * 15, // 15 minutes }, } diff --git a/src/helpers/api/brapi.ts b/src/helpers/api/brapi.ts deleted file mode 100644 index 99438ce..0000000 --- a/src/helpers/api/brapi.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Result, ResultQuotes } from '@/@types/QuotesTypes' - -export const brAPI = async (ticket: string): Promise => { - const response = await fetch( - `https://brapi.dev/api/quote/${ticket}?range=max&interval=1m&fundamental=true÷nds=true`, - { - next: { - revalidate: 5, - }, - }, - ) - - const quotes: ResultQuotes = await response.json() - - if (!quotes || !quotes.results[0]) { - throw new Error('Nenhum resultado foi encontrado!') - } - - return quotes.results[0] -} diff --git a/src/helpers/api/investidor10.ts b/src/helpers/api/investidor10.ts deleted file mode 100644 index 2445653..0000000 --- a/src/helpers/api/investidor10.ts +++ /dev/null @@ -1,41 +0,0 @@ -import * as cheerio from 'cheerio' - -export const investidor10 = async (ticket: string) => { - const response = await fetch( - `https://investidor10.com.br/fiis/${ticket.toLowerCase()}/`, - ) - - const result = { - totalCotas: 0, - valuePerCotas: 0, - valuePatrimonial: 0, - } - - const data = await response.text() - const dom = cheerio.load(data) - - const table = dom('.desc', '#about-company #table-indicators .cell').text() - - const valuePerCotas = table - .match(/VAL. PATRIMONIAL P\/ COTA\s*(R\$ ([\d.,]+))/)?.[2] - .replaceAll('.', '') - .replaceAll(',', '.') - .trim() - - const totalCotas = table - .match(/COTAS EMITIDAS\s*([\d.]+)/)?.[1] - .replaceAll('.', '') - .trim() - - if (totalCotas) { - result.totalCotas = Number(totalCotas) - } - - if (valuePerCotas) { - result.valuePerCotas = Number(valuePerCotas) - } - - result.valuePatrimonial = result.valuePerCotas * result.totalCotas - - return result -} diff --git a/src/helpers/brapi.ts b/src/helpers/brapi.ts new file mode 100644 index 0000000..cab06b4 --- /dev/null +++ b/src/helpers/brapi.ts @@ -0,0 +1,25 @@ +import { Result, ResultQuotes } from '@/@types/QuotesTypes' + +export const brAPI = async (ticket: string): Promise => { + try { + const response = await fetch( + `https://brapi.dev/api/quote/${ticket}?range=1y&interval=1mo&fundamental=true÷nds=true`, + { + cache: 'force-cache', + next: { + revalidate: 300 + } + } + ) + + const quotes: ResultQuotes = await response.json() + + if (!quotes || !quotes.results[0]) { + throw new Error('Nenhum resultado foi encontrado!') + } + + return quotes.results[0] + } catch (error) { + return false; + } +} diff --git a/src/helpers/getDY.ts b/src/helpers/getDY.ts deleted file mode 100644 index ba94172..0000000 --- a/src/helpers/getDY.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DividendsData } from '@/@types/QuotesTypes' -import { round } from 'lodash' - -export const getDY = (data: DividendsData, value: number): number => { - const total = data.cashDividends - .filter((dividend) => dividend.label === 'RENDIMENTO') - .reduce((acc, dividend) => acc + dividend.rate, 0) - - return round((total / value) * 100, 2) -} diff --git a/src/helpers/getLastDY.ts b/src/helpers/getLastDY.ts deleted file mode 100644 index 3c9d6bb..0000000 --- a/src/helpers/getLastDY.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { DividendsData } from '@/@types/QuotesTypes' -import { round } from 'lodash' - -export const getLastDY = (data: DividendsData): number => { - const dividends = data.cashDividends.filter( - (dividend) => dividend.label === 'RENDIMENTO', - ) - - return round(dividends[0].rate, 2) -} diff --git a/src/helpers/investidor10.ts b/src/helpers/investidor10.ts new file mode 100644 index 0000000..fa9d61d --- /dev/null +++ b/src/helpers/investidor10.ts @@ -0,0 +1,46 @@ +import * as cheerio from 'cheerio' + +export const investidor10API = async (ticket: string) => { + // const response = await fetch( + // `https://www.suno.com.br/fundos-imobiliarios/${ticket.toLowerCase()}/`, + // ) + + const result = { + totalCotas: 0, + valuePerCotas: 0, + valuePatrimonial: 0, + } + + // const data = await response.text() + // const dom = cheerio.load(data) + + // #indicadores > div.row.gx-4 > div.col-12.gx-4.col-lg-4 > div > div:nth-child(1) > div > div.style__GaugeContent-sc-7o52xg-2.paGZO > div.style__GaugeValues-sc-7o52xg-5.iISrIB.col-6 > ul > li:nth-child(1) > span:nth-child(2) + + + // const table = dom('//*[@id="indicadores"]/div[2]/div[1]/div/div[1]/div/div[2]/div[2]/ul/li[1]/span[2]').text() + // console.log(table); + + + // const valuePerCotas = table + // .match(/VAL. PATRIMONIAL P\/ COTA\s*(R\$ ([\d.,]+))/)?.[2] + // .replaceAll('.', '') + // .replaceAll(',', '.') + // .trim() + + // const totalCotas = table + // .match(/COTAS EMITIDAS\s*([\d.]+)/)?.[1] + // .replaceAll('.', '') + // .trim() + + // if (totalCotas) { + // result.totalCotas = Number(totalCotas) + // } + + // if (valuePerCotas) { + // result.valuePerCotas = Number(valuePerCotas) + // } + + // result.valuePatrimonial = result.valuePerCotas * result.totalCotas + + return result +} diff --git a/src/helpers/results.ts b/src/helpers/results.ts new file mode 100644 index 0000000..5b523cc --- /dev/null +++ b/src/helpers/results.ts @@ -0,0 +1,17 @@ +import { Result } from "@/@types/ResultsTypes"; +import { config } from "@/config"; + +const validateRequestAt = (timestamp : number): boolean => { + return timestamp + config.cache.time > new Date().getTime() +} + +export const getResultByCache = (ticker: string, results: Result[]): Result | false => { + const index = results.findIndex((result) => result.ticker === ticker) + + if (index === -1 || !validateRequestAt(results[index].requestedAt)) { + return false + } + + return results[index] +} + diff --git a/src/helpers/tickers.ts b/src/helpers/tickers.ts new file mode 100644 index 0000000..8ce33b3 --- /dev/null +++ b/src/helpers/tickers.ts @@ -0,0 +1,114 @@ +'use client' + +import { brAPI } from "./brapi" +import { DividendsData, Result as Response } from "@/@types/QuotesTypes" +import { Result } from "@/@types/ResultsTypes" +import { round, uniqBy } from "lodash" +import { Ticker } from "@/@types/TickersTypes" +import { getResultByCache } from "./results" + +const getPrice = (data: Response): number => { + return round(data.regularMarketPrice, 2) +} + +const getPVP = (data: Response): number => { + + // valuePatrimonial: number, + // // totalCotas: number, + // if (totalCotas === 0) { + // throw new Error('Não foi possível calcular o PVP!') + // } + + // console.log(valuePatrimonial, regularMarketPrice) + + // return round(regularMarketPrice / (valuePatrimonial / totalCotas), 2) + + return 1 +} + +const getDY = (data: Response): number => { + const total = data.dividendsData.cashDividends + .filter((dividend) => dividend.label === 'RENDIMENTO') + .reduce((acc, dividend) => acc + dividend.rate, 0) + + return round((total / data.regularMarketPrice) * 100, 2) +} + +const getLastDividend = (data: Response): number => { + const dividends = data.dividendsData.cashDividends.filter( + (dividend) => dividend.label === 'RENDIMENTO', + ) + + return round(dividends[0].rate, 2) +} + +export const getHistoryDividendsData = (data: DividendsData) => { + return data.cashDividends + .filter((dividend) => dividend.label === 'RENDIMENTO') + .map((dividend) => { + return { + ...dividend, + + // ? + // paymentDate: moment(dividend.paymentDate).format('MM/YYYY'), + } + }) + .reverse() +} + +export const fetchTicker = async (ticker: string): Promise => { + const brResultAPI = await brAPI(ticker) + // const company = await investidor10API(ticker) + + const requestedAt = new Date().getTime() + + if (brResultAPI === false) { + return { + ticker, + dy: 0, + pvp: 0, + price: 0, + lastDividend: 0, + requestedAt, + isError: true, + isLoading: false, + } + } + + return { + ticker, + dy: getDY(brResultAPI), + pvp: getPVP(brResultAPI), + price: getPrice(brResultAPI), + lastDividend: getLastDividend(brResultAPI), + requestedAt, + isError: false, + isLoading: false, + } +} + +export const getAllResults = async (tickers: Ticker[], results: Result[]): Promise => { + const newResults: Result[] = [] + + const uniqueTickers = uniqBy(tickers, 'ticker') + const tickersToFetch = await Promise.allSettled( + uniqueTickers.map(async (ticker) => { + const result = getResultByCache(ticker.ticker, results) + + if (result) { + console.log(ticker.ticker, 'from cache'); + return result + } + + return await fetchTicker(ticker.ticker) + }) + ) + + tickersToFetch.forEach((tickerToFetch) => { + if (tickerToFetch.status === 'fulfilled') { + newResults.push(tickerToFetch.value) + } + }) + + return newResults +} \ No newline at end of file diff --git a/src/hooks/useData.ts b/src/hooks/useData.ts new file mode 100644 index 0000000..640b527 --- /dev/null +++ b/src/hooks/useData.ts @@ -0,0 +1,14 @@ +import { useContext } from "react" + +import { DataContextType } from "@/@types/DataTypes" +import { DataContext } from "@/providers/DataProvider" + +export const useData = () => { + const context = useContext(DataContext) as DataContextType + + if (!context) { + throw new Error("useData must be used within a DataProvider"); + } + + return context +} \ No newline at end of file diff --git a/src/hooks/usePortfolios.ts b/src/hooks/usePortfolios.ts new file mode 100644 index 0000000..0667370 --- /dev/null +++ b/src/hooks/usePortfolios.ts @@ -0,0 +1,21 @@ +import { findIndex } from "lodash"; +import { useData } from "./useData"; + +export const usePortfolios = () => { + const { data } = useData() + + return { + listPortfolios: () => data.portfolios.sort((a, b) => a.name.localeCompare(b.name)), + + getPortfolio: (id: string) => { + const index = findIndex(data.portfolios, (portfolio) => portfolio.id === id); + + if(index === -1) { + throw new Error(`Portfolio not found (${id})`) + } + + return data.portfolios[index] + } + + } +} \ No newline at end of file diff --git a/src/hooks/useResults.ts b/src/hooks/useResults.ts new file mode 100644 index 0000000..05954ee --- /dev/null +++ b/src/hooks/useResults.ts @@ -0,0 +1,23 @@ +import { Result } from "@/@types/ResultsTypes"; +import { useData } from "./useData"; + +export const useResult = (ticker: string): Result => { + const { results } = useData() + + const result = results.find((r) => r.ticker === ticker) + + if(!result) { + return { + ticker, + dy: 0, + pvp: 0, + price: 0, + lastDividend: 0, + requestedAt: 0, + isError: false, + isLoading: true, + } + } + + return result +} \ No newline at end of file diff --git a/src/hooks/useTickers.ts b/src/hooks/useTickers.ts new file mode 100644 index 0000000..6e40f58 --- /dev/null +++ b/src/hooks/useTickers.ts @@ -0,0 +1,38 @@ +import { Ticker } from "@/@types/TickersTypes" +import { useData } from "./useData" + +export const useTickers = () => { + const { data, dispatch } = useData() + + return { + addTickers: (tickersList: string[], portfoliosList: string[]) => { + dispatch({ + type: 'TICKERS_INSERT', payload: { + tickersList, portfoliosList + } + }) + }, + + removeTicker: ({ ticker, portfolioId }: Ticker) => { + dispatch({ + type: 'TICKERS_REMOVE', payload: { + ticker, portfolioId + } + }) + }, + + setVisibility: ({ ticker, portfolioId, isHidden }: Ticker) => { + dispatch({ + type: 'TICKERS_SET_VISIBILITY', payload: { + ticker, + portfolioId, + isHidden: !isHidden + } + }) + }, + + listByPortfolioId: (id: string) => { + return data.tickers.filter((t) => t.portfolioId === id) + } + } +} \ No newline at end of file diff --git a/src/providers/DataProvider.tsx b/src/providers/DataProvider.tsx new file mode 100644 index 0000000..a92b696 --- /dev/null +++ b/src/providers/DataProvider.tsx @@ -0,0 +1,39 @@ +"use client" + +import { ActionsType } from '@/@types/DataTypes'; +import { Result } from '@/@types/ResultsTypes'; +import { storageActions } from '@/actions/storageActions'; +import { getAllResults } from '@/helpers/tickers'; +import { dataInitialState, dataReducer } from '@/reducers/dataReducer'; +import { ReactNode, createContext, useEffect, useReducer, useState } from 'react' + +export const DataContext = createContext({}) + +export function DataProvider({ children }: { children: ReactNode }) { + const [data, dispatchReducerData] = useReducer(dataReducer, dataInitialState); + const [results, setResult] = useState([]) + const { save } = storageActions + + const dispatch = (action: ActionsType) => { + console.log('dispatch', action); + dispatchReducerData(action) + } + + useEffect(() => { + dispatch({ type: 'LOAD' }); + }, []) + + useEffect(() => { + getAllResults(data.tickers, results).then((results) => { + setResult(results) + }) + + save(data) + }, [data]) + + return ( + + {children} + + ) +} diff --git a/src/reducers/dataReducer.ts b/src/reducers/dataReducer.ts new file mode 100644 index 0000000..9bb69cd --- /dev/null +++ b/src/reducers/dataReducer.ts @@ -0,0 +1,71 @@ +import { portfoliosActions } from '@/actions/portfoliosActions' +import { ActionsType, DataType } from '@/@types/DataTypes' +import { storageActions } from '@/actions/storageActions' +import { tickersActions } from '@/actions/tickersActions' + +export const dataInitialState: DataType = { + tickers: [ + { + "ticker": "AAGR11", + "portfolioId": "5a31ee47-6b2f-4586-8fb9-983010149ec7", + "quantity": 0, + "isHidden": false, + }, + { + "ticker": "AAZQ11", + "portfolioId": "5a31ee47-6b2f-4586-8fb9-983010149ec7", + "quantity": 0, + "isHidden": false, + }, + { + "ticker": "MXRF11", + "portfolioId": "5a31ee47-6b2f-4586-8fb9-983010149ec7", + "quantity": 0, + "isHidden": false, + } + ], + portfolios: [ + { id: '5a31ee47-6b2f-4586-8fb9-983010149ec7', name: 'Carteira #1' }, + ], +} + +export const dataReducer = (state: DataType, action: ActionsType): DataType => { + switch (action.type) { + case 'LOAD': { + return storageActions.load(state) + } + + case 'CLEAR': { + return storageActions.clear() + } + + case 'PORTFOLIOS_INSERT': { + return portfoliosActions.insert(state, action.payload) + } + + case 'PORTFOLIOS_UPDATE': { + return portfoliosActions.insert(state, action.payload) + } + + case 'PORTFOLIOS_REMOVE': { + return portfoliosActions.insert(state, action.payload) + } + + case 'TICKERS_INSERT': { + return tickersActions.insert(state, action.payload) + } + + case 'TICKERS_UPDATE': { + return tickersActions.update(state, action.payload) + } + + case 'TICKERS_REMOVE': { + return tickersActions.remove(state, action.payload) + } + + case 'TICKERS_SET_VISIBILITY': { + return tickersActions.setVisibility(state, action.payload) + } + } + +} \ No newline at end of file diff --git a/src/storage/funds.ts b/src/storage/funds.ts new file mode 100644 index 0000000..017a34a --- /dev/null +++ b/src/storage/funds.ts @@ -0,0 +1,3212 @@ +export const getFundsStorage = () => [ + { + ticker: 'AAGR11', + name: 'Asset Bank Fiagro', + serie: 'Agronegócio', + adminitrator: 'AZUMI DTVM', + }, + { + ticker: 'AAZQ11', + name: 'AZ Quest Fiagro', + serie: 'Agronegócio', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'ABCP11', + name: 'Grand Plaza Shopping', + serie: 'Shopping/Varejo', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'AFHI11', + name: 'AF Invest CRI', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'AGRX11', + name: 'Exes Araguaia Fiagro', + serie: 'Agronegócio', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'AIEC11', + name: 'Autonomy Edifícios Corporativos', + serie: 'Lajes Comerciais', + adminitrator: 'MAF', + }, + { + ticker: 'ALMI11', + name: 'Torre Almirante', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'ALZC11', + name: 'Alianza Crédito Imobiliário', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'ALZM11', + name: 'Alianza Multiestratégia', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'ALZR11', + name: 'Alianza Trust Renda Imobiliária', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'AMAZ11', + name: 'Bloxs Amazon Green Legacy', + serie: 'Agronegócio', + adminitrator: 'VÓRTX', + }, + { + ticker: 'ANCR11B', + name: 'Ancar IC', + serie: 'Shopping/Varejo', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'APTO11', + name: 'Navi Residencial', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'APXM11', + name: 'Apex Malls', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'AQLL11', + name: 'Áquilla', + serie: 'Incorporação', + adminitrator: 'RJI', + }, + { + ticker: 'ARFI11B', + name: 'AQ3 Renda', + serie: 'Recebíveis Imobiliários', + adminitrator: 'ÍNDIGO INVESTIMENTOS', + }, + { + ticker: 'AROA11', + name: 'Aroeira 333 Renda Logística', + serie: 'Outros', + adminitrator: 'VÓRTX', + }, + { + ticker: 'ARRI11', + name: 'Átrio Reit Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'ARXD11', + name: 'ARX Dover Recebíveis', + serie: 'Recebíveis Imobiliários', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'ASMT11', + name: 'ASA Metropolis', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'ASRF11', + name: 'Asa Retrofits I', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'ATCR11', + name: 'HAZ FII', + serie: 'Hoteis', + adminitrator: 'RJI', + }, + { + ticker: 'ATSA11', + name: 'Hedge Atrium Shopping Santo André', + serie: 'Shopping/Varejo', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'ATWN11', + name: 'Airport Town', + serie: 'Incorporação', + adminitrator: 'REAG', + }, + { + ticker: 'AURB11', + name: 'Alianza Urban Hub Renda', + serie: 'Logisticos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BARI11', + name: 'Barigui Rendimentos', + serie: 'Recebíveis Imobiliários', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'BBFI11B', + name: 'BB Progressivo', + serie: 'Agencias Bancárias', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BBFO11', + name: 'BB Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BB GESTAO DE RECURSOS', + }, + { + ticker: 'BBGO11', + name: 'BB Crédito Fiagro', + serie: 'Agronegócio', + adminitrator: 'BB GESTAO DE RECURSOS', + }, + { + ticker: 'BBIM11', + name: 'BB Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BB GESTAO DE RECURSOS', + }, + { + ticker: 'BBPO11', + name: 'BB Progressivo II', + serie: 'Agencias Bancárias', + adminitrator: 'VOTORANTIM ASSET', + }, + { + ticker: 'BBRC11', + name: 'BB Renda Corporativa', + serie: 'Agencias Bancárias', + adminitrator: 'BV DTVM', + }, + { + ticker: 'BCFF11', + name: 'BTG Pactual Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BCIA11', + name: 'Bradesco Carteira Imobiliária Ativa', + serie: 'Fundo de Fundos', + adminitrator: 'BANCO BRADESCO', + }, + { + ticker: 'BCRI11', + name: 'Banestes Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BDIF11', + name: 'BTG Pactual Dívida FI-Infra', + serie: 'N/D', + adminitrator: 'btg pactual', + }, + { + ticker: 'BICE11', + name: 'Brio Crédito Estruturado', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BICR11', + name: 'Inter Títulos Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'BIDB11', + name: 'Inter FI-Infra', + serie: 'N/D', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'BIME11', + name: 'Brio Multiestratégia', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BIPD11', + name: 'Brio Real Estate IV', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BJRC11', + name: 'JS Real Estate Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO J. SAFRA', + }, + { + ticker: 'BLCA11', + name: 'Catuaí VBI Triple A', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BLCP11', + name: 'Bluecap Renda Logística', + serie: 'Logisticos', + adminitrator: 'btg pactual', + }, + { + ticker: 'BLMC11', + name: 'VBI Crédito Imobiliário', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BLMG11', + name: 'BlueMacaw Logística', + serie: 'Logisticos', + adminitrator: 'VÓRTX', + }, + { + ticker: 'BLMO11', + name: 'VBI Office Fund II', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BLMR11', + name: 'VBI Renda + FOF', + serie: 'Fundo de Fundos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BLUR11', + name: 'Blue Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'BMII11', + name: 'Brasílio Machado', + serie: 'Lajes Comerciais', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'BMLC11', + name: 'BM Brascan Lajes Corporativas', + serie: 'Lajes Comerciais', + adminitrator: 'btg pactual', + }, + { + ticker: 'BNFS11', + name: 'Banrisul Novas Fronteiras', + serie: 'Agencias Bancárias', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'BODB11', + name: 'Bocaina FI-Infra', + serie: 'N/D', + adminitrator: 'btg pactual', + }, + { + ticker: 'BPFF11', + name: 'Brasil Plural Absoluto Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'BPLC11', + name: 'Basílica Partners LED Corporate', + serie: 'Híbrido', + adminitrator: 'FRAM Capital', + }, + { + ticker: 'BPMA11', + name: 'Brio Prime Malls', + serie: 'Shopping/Varejo', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BPML11', + name: 'BTG Pactual Shoppings', + serie: 'Shopping/Varejo', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BPRP11', + name: 'BRLPROP', + serie: 'Logisticos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BRCO11', + name: 'Bresco Logística', + serie: 'Logisticos', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'BRCR11', + name: 'BTG Pactual Corporate Office Fund', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BREV11', + name: 'Brazil Real Estate Victory Fund I', + serie: 'Lajes Comerciais', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'BRHT11B', + name: 'BR Hoteis', + serie: 'Hoteis', + adminitrator: 'RJI', + }, + { + ticker: 'BRIM11', + name: 'Brio Real Estate II', + serie: 'Incorporação Residencial', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BRIP11', + name: 'Brio Real Estate III', + serie: 'Incorporação Residencial', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BRIX11', + name: 'Brix FII', + serie: 'Incorporação', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BRLA11', + name: 'BRL Prop II', + serie: 'Logisticos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BROF11', + name: 'BRPR Corporate Offices', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BRSE11', + name: 'BR7 Senado', + serie: 'Outros', + adminitrator: 'FRAM Capital', + }, + { + ticker: 'BTAL11', + name: 'Btg Pactual Agro Logística', + serie: 'Agronegócio', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BTCI11', + name: 'BTG Pactual Crédito Imobiliário', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BTCR11', + name: 'BTG Pactual Crédito Imobiliário', + serie: 'Recebíveis Imobiliários', + adminitrator: 'btg pactual', + }, + { + ticker: 'BTLG11', + name: 'BTG Pactual Logística', + serie: 'Logisticos', + adminitrator: 'btg pactual', + }, + { + ticker: 'BTRA11', + name: 'BTG Pactual Terras Agrícolas', + serie: 'Agronegócio', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'BTSG11', + name: 'BTSP I', + serie: 'Incorporação', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'BTSI11', + name: 'BTSP II', + serie: 'Híbrido', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'BTWR11', + name: 'BTowers', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'BVAR11', + name: 'Brasil Varejo', + serie: 'Lajes Comerciais', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'BZEL11', + name: 'Barzel CD1', + serie: 'Híbrido', + adminitrator: 'BANCO OURINVEST S.A.', + }, + { + ticker: 'BZLI11', + name: 'Brazil Realty', + serie: 'Híbrido', + adminitrator: 'ÍNDIGO INVESTIMENTOS', + }, + { + ticker: 'CACR11', + name: 'Cartesia Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'CARE11', + name: 'Brazilian GraveyardDeath Care', + serie: 'Outros', + adminitrator: 'TRUSTEE DTVM', + }, + { + ticker: 'CBOP11', + name: 'Castello Branco Office Park', + serie: 'Lajes Comerciais', + adminitrator: 'CREDIT SUISSE', + }, + { + ticker: 'CCLB11', + name: 'Central Leblon FII', + serie: 'Híbrido', + adminitrator: 'SINGULARE', + }, + { + ticker: 'CCME11', + name: 'Canuma Capital Multiestratégia', + serie: 'Outros', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CCRF11', + name: 'RBR CRI', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CDII11', + name: 'Sparta Infra CDI', + serie: 'N/D', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CEOC11', + name: 'CEO Cyrela Commercial Properties', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CFHI11', + name: 'CF2 FII', + serie: 'Lajes Comerciais', + adminitrator: 'VÓRTX', + }, + { + ticker: 'CFII11', + name: 'CF3 FII', + serie: 'Híbrido', + adminitrator: 'SINGULARE', + }, + { + ticker: 'CIXR11', + name: 'CIX Rendimento', + serie: 'Recebíveis Imobiliários', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'CJCT11', + name: 'Cidade Jardim Continental Tower', + serie: 'Lajes Comerciais', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'CJFI11', + name: 'CJ FII', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CNES11', + name: 'Cenesp', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'COPP11', + name: 'Corporate Office Properties', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CPFF11', + name: 'Capitânia REIT FOF', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CPFO11', + name: 'Capitânia REIT FOF II', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CPSH11', + name: 'Shoppings AAA', + serie: 'Shopping/Varejo', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CPTI11', + name: 'Capitânia FI-Infra', + serie: 'N/D', + adminitrator: 'btg pactual', + }, + { + ticker: 'CPTR11', + name: 'Capitânia Agro Strategies Fiagro', + serie: 'Agronegócio', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CPTS11', + name: 'Capitânia Securities II', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CRAA11', + name: 'Sparta Fiagro', + serie: 'Agronegócio', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CRFF11', + name: 'Caixa Rio Bravo Fundo de Fundos II', + serie: 'Fundo de Fundos', + adminitrator: 'CAIXA ECONOMICA FEDERAL', + }, + { + ticker: 'CSMC11', + name: 'Cosmic', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'CTXT11', + name: 'Centro Têxtil Internacional', + serie: 'Lajes Comerciais', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'CVBI11', + name: 'VBI CRI', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'CVPR11', + name: 'CVPAR', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'CXAG11', + name: 'Caixa Agencias', + serie: 'Agencias Bancárias', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'CXCE11B', + name: 'Caixa Cedae', + serie: 'Lajes Comerciais', + adminitrator: 'CAIXA ECONOMICA FEDERAL', + }, + { + ticker: 'CXCI11', + name: 'Caixa Carteira Imobiliária', + serie: 'Fundo de Fundos', + adminitrator: 'CAIXA ECONOMICA FEDERAL', + }, + { + ticker: 'CXCO11', + name: 'Caixa Imóveis Corporativos', + serie: 'Lajes Comerciais', + adminitrator: 'VÓRTX', + }, + { + ticker: 'CXRI11', + name: 'Caixa Rio Bravo Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'CAIXA ECONOMICA FEDERAL', + }, + { + ticker: 'CXTL11', + name: 'Caixa Seq Logística Renda', + serie: 'Logisticos', + adminitrator: 'CAIXA ECONOMICA FEDERAL', + }, + { + ticker: 'CYCR11', + name: 'Cyrela Crédito', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'CYLD11', + name: 'Cyrela Desenvolvimento Logístico', + serie: 'Logisticos', + adminitrator: 'btg pactual', + }, + { + ticker: 'DAMT11B', + name: 'Diamante', + serie: 'Shopping/Varejo', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'DCRA11', + name: 'Devant Fiagro', + serie: 'Agronegócio', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'DEVA11', + name: 'Devant Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VÓRTX', + }, + { + ticker: 'DLMT11', + name: 'Del Monte Ajax', + serie: 'Lajes Comerciais', + adminitrator: 'PLANNER', + }, + { + ticker: 'DMAC11', + name: 'MAC FII', + serie: 'Incorporação Residencial', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'DOVL11B', + name: 'Dovel', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'DPRO11', + name: 'Devant Properties', + serie: 'Logisticos', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'DRIT11B', + name: 'Multigestão Renda Comercial', + serie: 'Lajes Comerciais', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'DVFF11', + name: 'Devant Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'EDFO11B', + name: 'Edifício Ourinvest', + serie: 'Lajes Comerciais', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'EDGA11', + name: 'Edifício Galeria', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'EGAF11', + name: 'Ecoagro I Fiagro', + serie: 'Agronegócio', + adminitrator: 'VÓRTX', + }, + { + ticker: 'EGYR11', + name: 'Energy Resort', + serie: 'Incorporação Residencial', + adminitrator: 'REAG', + }, + { + ticker: 'ELDO11B', + name: 'Eldorado', + serie: 'Shopping/Varejo', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'EQIR11', + name: 'EQI Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'ERCR11', + name: 'Estoque Residencial e Comercial Rio de Janeiro', + serie: 'Incorporação Residencial', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'ERPA11', + name: 'Europa 105', + serie: 'Lajes Comerciais', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'ESTQ11', + name: 'Polo Estoque II', + serie: 'Lajes Comerciais', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'EURO11', + name: 'Europar', + serie: 'Logisticos', + adminitrator: 'COINVALORES', + }, + { + ticker: 'EVBI11', + name: 'VBI Consumo Essencial', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'EXES11', + name: 'Exes', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'FAED11', + name: 'Anhanguera Educacional', + serie: 'Educacional', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'FAGL11', + name: 'Fator Renda Galpão', + serie: 'N/D', + adminitrator: 'BANCO FATOR', + }, + { + ticker: 'FAMB11B', + name: 'Edifício Almirante Barroso', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'FARU11', + name: 'Fator Renda Urbana', + serie: 'N/D', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'FATN11', + name: 'Athena I', + serie: 'Híbrido', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'FCAS11', + name: 'Edifício Castelo', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'FCFL11', + name: 'Campus Faria Lima', + serie: 'Educacional', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'FGAA11', + name: 'FG/Agro Fiagro', + serie: 'Agronegócio', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'FGPM11', + name: 'Grand Plaza Mall', + serie: 'Shopping/Varejo', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'FIGS11', + name: 'General Shopping Ativo e Renda', + serie: 'Shopping/Varejo', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'FIIB11', + name: 'Industrial do Brasil', + serie: 'Logisticos', + adminitrator: 'COINVALORES', + }, + { + ticker: 'FIIP11B', + name: 'RB Capital Renda I', + serie: 'Híbrido', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'FINF11', + name: 'Infra Real Estate', + serie: 'Logisticos', + adminitrator: 'TRUSTEE DTVM', + }, + { + ticker: 'FISC11', + name: 'SC 401', + serie: 'Lajes Comerciais', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'FISD11', + name: 'São Domingos', + serie: 'Recebíveis Imobiliários', + adminitrator: 'RJI', + }, + { + ticker: 'FIVN11', + name: 'Vida Nova', + serie: 'Incorporação Residencial', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'FLCR11', + name: 'Faria Lima Capital Recebíveis Imobiliários I', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'FLEM11', + name: '051 Agro Fazendas II', + serie: 'Agronegócio', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'FLMA11', + name: 'Continental Square Faria Lima', + serie: 'Lajes Comerciais', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'FLRP11', + name: 'Hedge Floripa Shopping', + serie: 'Shopping/Varejo', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'FMOF11', + name: 'Memorial Office', + serie: 'Lajes Comerciais', + adminitrator: 'COINVALORES', + }, + { + ticker: 'FOFT11', + name: 'Hedge TOP FOFII 2', + serie: 'Fundo de Fundos', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'FPAB11', + name: 'Projeto Água Branca', + serie: 'Lajes Comerciais', + adminitrator: 'COINVALORES', + }, + { + ticker: 'FPNG11', + name: 'Pedra Negra Renda Imobiliária', + serie: 'Lajes Comerciais', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'FRHY11', + name: 'Fronteira Multi', + serie: 'N/D', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'FTCE11B', + name: 'Opportunity', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'FTMJ11', + name: 'TMJ FII', + serie: 'Recebíveis Imobiliários', + adminitrator: 'GRADUAL', + }, + { + ticker: 'FVBI11', + name: 'VBI FL 4440', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'FVPQ11', + name: 'Via Parque', + serie: 'Shopping/Varejo', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'FZDA11', + name: '051 Agro Fiagro', + serie: 'Agronegócio', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'FZDB11', + name: '051 Agro Fazendas III', + serie: 'Agronegócio', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'GALG11', + name: 'Guardian Logística', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'GAME11', + name: 'Guardian Multiestratégia Imobiliária I', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'GCFF11', + name: 'Galapagos Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'GCOI11', + name: 'Galapagos Special Oportunities', + serie: 'Híbrido', + adminitrator: 'SINGULARE', + }, + { + ticker: 'GCRA11', + name: 'Galapagos Recebíveis do Agronegócio Fiagro', + serie: 'Agronegócio', + adminitrator: 'SINGULARE', + }, + { + ticker: 'GCRI11', + name: 'Galapagos Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'GESE11B', + name: 'General Severiano', + serie: 'Outros', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'GGRC11', + name: 'GGR Covepi', + serie: 'Logisticos', + adminitrator: 'CM CAPITAL MARKETS', + }, + { + ticker: 'GLOG11', + name: 'Genial Logística', + serie: 'Logisticos', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'GRLV11', + name: 'GR Louveira', + serie: 'Logisticos', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'GRWA11', + name: 'Greenwich Fiagro', + serie: 'Agronegócio', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'GSFI11', + name: 'General Shopping e Outlets', + serie: 'Shopping/Varejo', + adminitrator: 'TRUSTEE DTVM', + }, + { + ticker: 'GTLG11', + name: 'Gtis Brazil Logistics', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'GTWR11', + name: 'Green Towers', + serie: 'Lajes Comerciais', + adminitrator: 'BV DTVM', + }, + { + ticker: 'GURB11', + name: 'Genial Renda Urbana', + serie: 'Híbrido', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'GVBI11', + name: 'VBI GreenPower', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'GWIC11', + name: 'GWI Condomínios Logísticos', + serie: 'Logisticos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'GZIT11', + name: 'Gazit Malls', + serie: 'N/D', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'HAAA11', + name: 'Hedge AAA', + serie: 'Lajes Comerciais', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HABT11', + name: 'Habitat Recebíveis Pulverizados', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VÓRTX', + }, + { + ticker: 'HBCR11', + name: 'HBC Renda Urbana', + serie: 'Lajes Comerciais', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'HBRH11', + name: 'Multi Renda Urbana', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'HBTT11', + name: 'Habitat I', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VÓRTX', + }, + { + ticker: 'HCHG11', + name: 'Hectare Recebíveis High Grade', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VÓRTX', + }, + { + ticker: 'HCRI11', + name: 'Hospital da Criança', + serie: 'Hospital', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'HCST11', + name: 'Hectare Desenvolvimento Student Housing', + serie: 'Residencial', + adminitrator: 'VÓRTX', + }, + { + ticker: 'HCTR11', + name: 'Hectare CE', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VÓRTX', + }, + { + ticker: 'HDEL11', + name: 'Hedge Desenvolvimento Logístico', + serie: 'Logisticos', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HDOF11', + name: 'Hedge Paladin Design Offices', + serie: 'Lajes Comerciais', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HFOF11', + name: 'Hedge TOP FOFII 3', + serie: 'Fundo de Fundos', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HGAG11', + name: 'High Fiagro', + serie: 'Agronegócio', + adminitrator: 'VÓRTX', + }, + { + ticker: 'HGBS11', + name: 'Hedge Brasil Shopping', + serie: 'Shopping/Varejo', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HGCR11', + name: 'CSHG Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'CREDIT SUISSE', + }, + { + ticker: 'HGFF11', + name: 'CSHG Imobiliário FOF', + serie: 'Fundo de Fundos', + adminitrator: 'CREDIT SUISSE', + }, + { + ticker: 'HGIC11', + name: 'HGI Créditos Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'HGLG11', + name: 'CSHG Logística', + serie: 'Logisticos', + adminitrator: 'CREDIT SUISSE', + }, + { + ticker: 'HGPO11', + name: 'CSHG Prime Offices', + serie: 'Lajes Comerciais', + adminitrator: 'CREDIT SUISSE', + }, + { + ticker: 'HGRE11', + name: 'CSHG Real Estate', + serie: 'Lajes Comerciais', + adminitrator: 'CREDIT SUISSE', + }, + { + ticker: 'HGRS11', + name: 'CSHG Residencial', + serie: 'Residencial', + adminitrator: 'CREDIT SUISSE', + }, + { + ticker: 'HGRU11', + name: 'CSHG Renda Urbana', + serie: 'Híbrido', + adminitrator: 'CREDIT SUISSE', + }, + { + ticker: 'HILG11', + name: 'Hire Log I', + serie: 'Outros', + adminitrator: 'TRUSTEE DTVM', + }, + { + ticker: 'HLOG11', + name: 'Hedge Logística', + serie: 'Logisticos', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HMOC11', + name: 'Hedge Shopping Praça da Moça', + serie: 'Shopping/Varejo', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HOFC11', + name: 'Hedge Office Income', + serie: 'Lajes Comerciais', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HOSI11', + name: 'Housi', + serie: 'Residencial', + adminitrator: 'VÓRTX', + }, + { + ticker: 'HPDP11', + name: 'Hedge Shopping Parque Dom Pedro', + serie: 'Shopping/Varejo', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HRDF11', + name: 'Hedge Realty Development', + serie: 'Incorporação', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HREC11', + name: 'Hedge Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'HSAF11', + name: 'HSI Ativos Financeiros', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'HSLG11', + name: 'HSI Logística', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'HSML11', + name: 'HSI Malls', + serie: 'Shopping/Varejo', + adminitrator: 'SANTANDER CACEIS', + }, + { + ticker: 'HSRE11', + name: 'HSI Renda Imobiliária', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'HTMX11', + name: 'Hotel Maxinvest', + serie: 'Hoteis', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'HUCG11', + name: 'Hospital Unimed Campina Grande', + serie: 'Hospital', + adminitrator: 'COINVALORES', + }, + { + ticker: 'HUSC11', + name: 'Hospital Unimed Sul Capixaba', + serie: 'Hospital', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'HUSI11', + name: 'HUSI', + serie: 'Hospital', + adminitrator: 'TRUSTEE DTVM', + }, + { + ticker: 'IAAG11', + name: 'Inter Amerra', + serie: 'Agronegócio', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'IAGR11', + name: 'SFI Investimentos do Agronegócio Fiagro', + serie: 'Agronegócio', + adminitrator: 'WARREN', + }, + { + ticker: 'IBCR11', + name: 'CRI Integral Brei', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'IBFF11', + name: 'FOF Integral Brei', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'IDFI11', + name: 'Unidades Autônomas', + serie: 'Híbrido', + adminitrator: 'ID CORRETORA DE TITULOS E VALORES MOBILIARIOS S.A.', + }, + { + ticker: 'IDGR11', + name: 'Unidades Autônomas II', + serie: 'Híbrido', + adminitrator: 'ID CORRETORA DE TITULOS E VALORES MOBILIARIOS S.A.', + }, + { + ticker: 'IFIX', + name: 'IFIX Índice de Fundos Imobiliários', + serie: 'N/D', + adminitrator: 'N/D', + }, + { + ticker: 'IFRA11', + name: 'Itaú FIC FI-Infra', + serie: 'N/D', + adminitrator: 'INTRAG', + }, + { + ticker: 'IMOF11', + name: 'Propp I', + serie: 'Híbrido', + adminitrator: 'BEM DTVM', + }, + { + ticker: 'IRDM11', + name: 'Iridium Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'IRIM11', + name: 'Iridium', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'ITIP11', + name: 'Inter Teva Índice de Papel', + serie: 'Fundo de Fundos', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'ITIT11', + name: 'Inter Teva Índice de Tijolo', + serie: 'Fundo de Fundos', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'JASC11', + name: 'Jasc Renda Varejo FII', + serie: 'Outros', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'JBFO11', + name: 'JBFO FOF', + serie: 'Fundo de Fundos', + adminitrator: 'BEM DTVM', + }, + { + ticker: 'JCDA11', + name: 'Jacarandá I', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'JCDB11', + name: 'Jacarandá II', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'JFLL11', + name: 'JFL Living', + serie: 'Residencial', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'JGPX11', + name: 'JGP Crédito Fiagro', + serie: 'Agronegócio', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'JPPA11', + name: 'JPP Capital Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'FINAXIS CORRETORA', + }, + { + ticker: 'JPPC11', + name: 'JPP Capital', + serie: 'Incorporação', + adminitrator: 'BANCO FINAXIS', + }, + { + ticker: 'JRDM11', + name: 'Shopping Jardim Sul', + serie: 'Shopping/Varejo', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'JSAF11', + name: 'JS Ativos Financeiros', + serie: 'Fundo de Fundos', + adminitrator: 'BANCO J. SAFRA', + }, + { + ticker: 'JSIM11', + name: 'JS Real Estate Renda Imobiliária', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO J. SAFRA', + }, + { + ticker: 'JSRE11', + name: 'JS Real Estate Multigestão', + serie: 'Lajes Comerciais', + adminitrator: 'BANCO J. SAFRA', + }, + { + ticker: 'JTPR11', + name: 'JT PREV Desenvolvimento Habitacional', + serie: 'Incorporação Residencial', + adminitrator: 'PLANNER', + }, + { + ticker: 'JURO11', + name: 'Sparta FI-Infra', + serie: 'N/D', + adminitrator: 'btg pactual', + }, + { + ticker: 'KCRE11', + name: 'Kinea Creditas', + serie: 'Recebíveis Imobiliários', + adminitrator: 'INTRAG', + }, + { + ticker: 'KDIF11', + name: 'Kinea FI-Infra', + serie: 'N/D', + adminitrator: 'INTRAG', + }, + { + ticker: 'KEVE11', + name: 'Even II', + serie: 'Incorporação Residencial', + adminitrator: 'INTRAG', + }, + { + ticker: 'KFOF11', + name: 'Kinea Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'INTRAG', + }, + { + ticker: 'KINP11', + name: 'Even Permuta Kinea', + serie: 'Incorporação Residencial', + adminitrator: 'INTRAG', + }, + { + ticker: 'KISU11', + name: 'Kilima FoF Suno 30', + serie: 'Fundo de Fundos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'KIVO11', + name: 'Kilima Volkano Recebíveis', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'KNCA11', + name: 'Kinea Crédito Agro Fiagro', + serie: 'Agronegócio', + adminitrator: 'INTRAG', + }, + { + ticker: 'KNCR11', + name: 'Kinea Rendimentos Imobiliários FII', + serie: 'Recebíveis Imobiliários', + adminitrator: 'INTRAG', + }, + { + ticker: 'KNHF11', + name: 'Kinea Hedge Fund', + serie: 'Híbrido', + adminitrator: 'INTRAG', + }, + { + ticker: 'KNHY11', + name: 'Kinea High Yield CRI', + serie: 'Recebíveis Imobiliários', + adminitrator: 'INTRAG', + }, + { + ticker: 'KNIP11', + name: 'Kinea Índices de Preços', + serie: 'Recebíveis Imobiliários', + adminitrator: 'INTRAG', + }, + { + ticker: 'KNPR11', + name: 'Kinea Premium Properties FII', + serie: 'Fundo de Fundos', + adminitrator: 'INTRAG', + }, + { + ticker: 'KNRE11', + name: 'Kinea II Real Estate Equity', + serie: 'Incorporação Residencial', + adminitrator: 'INTRAG', + }, + { + ticker: 'KNRI11', + name: 'Kinea Renda Imobiliária', + serie: 'Híbrido', + adminitrator: 'INTRAG', + }, + { + ticker: 'KNSC11', + name: 'Kinea Securities', + serie: 'Recebíveis Imobiliários', + adminitrator: 'INTRAG', + }, + { + ticker: 'KNUQ11', + name: 'Kinea Unique HY CDI', + serie: 'Recebíveis Imobiliários', + adminitrator: 'INTRAG', + }, + { + ticker: 'LASC11', + name: 'Legatus Shoppings', + serie: 'Shopping/Varejo', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'LATR11B', + name: 'Lateres', + serie: 'Incorporação Residencial', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'LAVF11', + name: 'Lavoura', + serie: 'Híbrido', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'LFTT11', + name: 'Loft II', + serie: 'Incorporação Residencial', + adminitrator: 'MAF', + }, + { + ticker: 'LGCP11', + name: 'Log CP Inter', + serie: 'Logisticos', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'LIFE11', + name: 'Life Capital', + serie: 'Outros', + adminitrator: 'VÓRTX', + }, + { + ticker: 'LKDV11', + name: 'Development V1', + serie: 'Híbrido', + adminitrator: null, + }, + { + ticker: 'LLAO11', + name: 'BS2 Allinvestments', + serie: 'Híbrido', + adminitrator: 'SINGULARE', + }, + { + ticker: 'LOFT11B', + name: 'Loft I (Cota Sênior)', + serie: 'Incorporação Residencial', + adminitrator: 'MAF', + }, + { + ticker: 'LOFT13B', + name: 'Loft I (Cota Subordinada)', + serie: 'Incorporação Residencial', + adminitrator: 'MAF', + }, + { + ticker: 'LPLP11', + name: 'Lago da Pedra', + serie: 'Residencial', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'LRDI11', + name: 'Leblon Realty Desenvolvimento I', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'LSAG11', + name: 'Leste Fiagro', + serie: 'Agronegócio', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'LSPA11', + name: 'Leste Riva Equity Preferencial I', + serie: 'Incorporação Residencial', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'LUGG11', + name: 'Luggo', + serie: 'Residencial', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'LVBI11', + name: 'VBI Logístico', + serie: 'Logisticos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MADS11', + name: 'Mauá Capital Desenvolvimento I', + serie: 'Incorporação', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MALL11', + name: 'Genial Malls', + serie: 'Shopping/Varejo', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'MANA11', + name: 'Manatí Capital Hedge Fund', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'MATV11', + name: 'More Gestão Ativa de Recebíveis', + serie: 'Recebíveis Imobiliários', + adminitrator: 'btg pactual', + }, + { + ticker: 'MAVC11', + name: 'MAV Crédito Fiagro', + serie: 'Agronegócio', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'MAXR11', + name: 'Max Retail', + serie: 'Shopping/Varejo', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MCCI11', + name: 'Mauá Capital Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MCHF11', + name: 'Mauá Capital Hedge Fund', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MCHY11', + name: 'Mauá High Yield', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MFAI11', + name: 'Mérito Fundos e Ações Imobiliárias', + serie: 'Fundo de Fundos', + adminitrator: 'MÉRITO', + }, + { + ticker: 'MFCR11', + name: 'Merito Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'MÉRITO', + }, + { + ticker: 'MFII11', + name: 'Mérito Desenvolvimento Imobiliário I', + serie: 'Incorporação Residencial', + adminitrator: 'MÉRITO', + }, + { + ticker: 'MGCR11', + name: 'Mogno CRIs Multiestratégia', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MGFF11', + name: 'Mogno Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MGHT11', + name: 'Mogno Hoteis', + serie: 'Hoteis', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MGIM11', + name: 'Mogno Real Estate Impact Development', + serie: 'Híbrido', + adminitrator: 'btg pactual', + }, + { + ticker: 'MGRI11', + name: 'Mogno Properties', + serie: 'Híbrido', + adminitrator: 'SINGULARE', + }, + { + ticker: 'MINT11', + name: 'Mint Educacional', + serie: 'Educacional', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MMPD11', + name: 'Mauá Capital MPD Desenvolvimento Residencial', + serie: 'Outros', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MMVE11', + name: 'Maresias', + serie: 'Híbrido', + adminitrator: 'SINGULARE', + }, + { + ticker: 'MOFF11', + name: 'Multioffices 2', + serie: 'Lajes Comerciais', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'MORC11', + name: 'More Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MORE11', + name: 'More Real Estate FOF', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MSHP11', + name: 'Mais Shopping Largo 13', + serie: 'Shopping/Varejo', + adminitrator: 'BEM DTVM', + }, + { + ticker: 'MTOF11', + name: 'Alianza Multioffices', + serie: 'Híbrido', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'MTRS11', + name: 'Metropolis', + serie: 'Outros', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MVFI11', + name: 'MV9 FII', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MXRF11', + name: 'Maxi Renda', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'MYDW11', + name: 'Riza Meyenii', + serie: 'Híbrido', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'NAVT11', + name: 'Navi Imobiliário Total Return', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'NCHB11', + name: 'NCH Brasil Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'NCRA11', + name: 'NCH Recebíveis do Agronegócio Fiagro', + serie: 'Agronegócio', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'NCRI11', + name: 'Navi Crédito Imobiliário', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'NEWL11', + name: 'Newport Logística', + serie: 'Logisticos', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'NEWU11', + name: 'Newport Renda Urbana', + serie: 'Lajes Comerciais', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'NPAR11', + name: 'Nestpar', + serie: 'Incorporação', + adminitrator: 'PLANNER', + }, + { + ticker: 'NSLU11', + name: 'Hospital Nossa Senhora de Lourdes', + serie: 'Hospital', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'NVHO11', + name: 'Novo Horizonte', + serie: 'Hospital', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'NVIF11B', + name: 'Nova I', + serie: 'Híbrido', + adminitrator: 'MAF', + }, + { + ticker: 'OCRE11', + name: 'Octo FII', + serie: 'Recebíveis Imobiliários', + adminitrator: 'ID CORRETORA DE TITULOS E VALORES MOBILIARIOS S.A.', + }, + { + ticker: 'OGHY11', + name: 'Órama High Yield', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'OGIN11', + name: 'Órama FIC-INFRA', + serie: 'N/D', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'OIAG11', + name: 'Ourinvest Innovation Fiagro', + serie: 'Agronegócio', + adminitrator: 'SINGULARE', + }, + { + ticker: 'ONEF11', + name: 'The One', + serie: 'Lajes Comerciais', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'OPTM11', + name: 'Patrimonial IV', + serie: 'Híbrido', + adminitrator: 'FRAM Capital', + }, + { + ticker: 'ORPD11', + name: 'Ouro Verde Desenvolvimento Imobiliário', + serie: 'Recebíveis Imobiliários', + adminitrator: 'TRUSTEE DTVM', + }, + { + ticker: 'OUFF11', + name: 'Ourinvest Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BANCO OURINVEST S.A.', + }, + { + ticker: 'OUJP11', + name: 'Ourinvest JPP', + serie: 'Recebíveis Imobiliários', + adminitrator: 'FINAXIS CORRETORA', + }, + { + ticker: 'OULG11', + name: 'Ourinvest Logística', + serie: 'Logisticos', + adminitrator: 'BANCO OURINVEST S.A.', + }, + { + ticker: 'OURE11', + name: 'Ourinvest Renda Estruturada', + serie: 'Híbrido', + adminitrator: 'BANCO OURINVEST S.A.', + }, + { + ticker: 'PABY11', + name: 'Panamby', + serie: 'Incorporação', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'PATB11', + name: 'Pateo Bandeirantes', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'PATC11', + name: 'Pátria Edifícios Corporativos', + serie: 'Lajes Comerciais', + adminitrator: 'MAF', + }, + { + ticker: 'PATL11', + name: 'Pátria Logística', + serie: 'Logisticos', + adminitrator: 'VÓRTX', + }, + { + ticker: 'PBLV11', + name: 'Prologis Brazil Logistics Venture', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'PBYR11', + name: 'Panamby Renda Master', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'PCAS11', + name: 'Praia do Castelo', + serie: 'Outros', + adminitrator: 'PLANNER', + }, + { + ticker: 'PEMA11', + name: 'Performa Real Estate', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'PLCA11', + name: 'Plural BRB Crédito Agro', + serie: 'Agronegócio', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'PLCR11', + name: 'Plural Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'PLRI11', + name: 'Polo', + serie: 'Recebíveis Imobiliários', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'PNCR11', + name: 'Panorama Crédito Residencial', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'PNDL11', + name: 'Panorama Desenvolvimento Logístico', + serie: 'Incorporação', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'PNLM11', + name: 'Panorama Last Mile SBC', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'PNPR11', + name: 'Panorama Properties', + serie: 'Incorporação', + adminitrator: 'SINGULARE', + }, + { + ticker: 'PNRC11', + name: 'Panorama Real Estate Crédito', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'PORD11', + name: 'Polo Crédito Imobiliário', + serie: 'Recebíveis Imobiliários', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'PQAG11', + name: 'Parque Anhanguera', + serie: 'Logisticos', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'PQDP11', + name: 'Parque Dom Pedro Shopping Center', + serie: 'Shopping/Varejo', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'PRSN11B', + name: 'Personale I', + serie: 'Incorporação Residencial', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'PRSV11', + name: 'Presidente Vargas', + serie: 'Lajes Comerciais', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'PRTS11', + name: 'Multi Properties', + serie: 'Shopping/Varejo', + adminitrator: 'MAF', + }, + { + ticker: 'PRZS11', + name: 'Prazo', + serie: 'Híbrido', + adminitrator: 'SINGULARE', + }, + { + ticker: 'PURB11', + name: 'Plural Renda Urbana', + serie: 'Híbrido', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'PVBI11', + name: 'VBI Prime Properties', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'QAGR11', + name: 'Quasar Agro', + serie: 'Agronegócio', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'QAMI11', + name: 'Quasar Crédito', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'QIRI11', + name: 'Quatá Imob Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RBAG11', + name: 'RB Capital Agre', + serie: 'Incorporação Residencial', + adminitrator: 'CITIBANK DTVM', + }, + { + ticker: 'RBBV11', + name: 'JHSF Rio Bravo Fazenda Boa Vista', + serie: 'Incorporação', + adminitrator: 'CAIXA ECONOMICA FEDERAL', + }, + { + ticker: 'RBCB11', + name: 'Rio Bravo Crédito Imobiliário I', + serie: 'Recebíveis Imobiliários', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'RBDS11', + name: 'RB Capital Desenvolvimento Residencial II', + serie: 'Incorporação Residencial', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'RBED11', + name: 'Rio Bravo Renda Educacional', + serie: 'Educacional', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'RBFF11', + name: 'Rio Bravo Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'RBGS11', + name: 'RB Capital General Shopping Sulacap', + serie: 'Shopping/Varejo', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'RBHG11', + name: 'Rio Bravo Crédito Imobiliário High Grade', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RBHY11', + name: 'Rio Bravo Crédito Imobiliário High Yield', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RBIF11', + name: 'Rio Bravo ESG FIC FI FI-Infra', + serie: 'N/D', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'RBIR11', + name: 'RB Capital Desenvolvimento Residencial IV', + serie: 'Incorporação Residencial', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'RBLG11', + name: 'RB Capital Logístico', + serie: 'Logisticos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RBOP11', + name: 'Rio Bravo Oportunidades Imobiliárias', + serie: 'Lajes Comerciais', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'RBPD11', + name: 'RB Capital Prime Realty II', + serie: 'Recebíveis Imobiliários', + adminitrator: 'CITIBANK DTVM', + }, + { + ticker: 'RBPR11', + name: 'RB Capital Prime Realty I', + serie: 'Incorporação Residencial', + adminitrator: 'CITIBANK DTVM', + }, + { + ticker: 'RBRD11', + name: 'RB Capital Renda II', + serie: 'Híbrido', + adminitrator: 'VOTORANTIM ASSET', + }, + { + ticker: 'RBRF11', + name: 'RBR Alpha Multiestratégia Real Estate', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RBRI11', + name: 'RBR Desenvolvimento III', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RBRL11', + name: 'RBR Log', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RBRM11', + name: 'RBR Desenvolvimento', + serie: 'Incorporação', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RBRP11', + name: 'RBR Properties FII', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RBRR11', + name: 'RBR Rendimentos High Grade', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RBRS11', + name: 'Rio Bravo Renda Residencial', + serie: 'Residencial', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'RBRU11', + name: 'RB Capital Renda Urbana', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RBRX11', + name: 'RBR Plus Multiestratégia Real Estate', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RBRY11', + name: 'RBR Crédito Imobiliário Estruturado', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RBTS11', + name: 'RB Capital TFO Situs', + serie: 'Incorporação', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'RBVA11', + name: 'Rio Bravo Renda Varejo', + serie: 'Híbrido', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'RBVO11', + name: 'Rio Bravo Crédito Imobiliário II', + serie: 'Recebíveis Imobiliários', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'RCCS11', + name: 'REP 1 CCS', + serie: 'Shopping/Varejo', + adminitrator: 'CREDIT SUISSE', + }, + { + ticker: 'RCFA11', + name: 'Grupo RCFA', + serie: 'Incorporação', + adminitrator: 'TERRA', + }, + { + ticker: 'RCFF11', + name: 'RBR Desenvolvimento Comercial Feeder FOF', + serie: 'Fundo de Fundos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RCKF11', + name: 'Rock FII', + serie: 'N/D', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RCRB11', + name: 'Rio Bravo Renda Corporativa', + serie: 'Lajes Comerciais', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'RCRI11B', + name: 'RB Capital Rendimentos', + serie: 'Recebíveis Imobiliários', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'RDPD11', + name: 'V2 Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RECR11', + name: 'REC Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RECT11', + name: 'REC Renda Imobiliária', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RECX11', + name: 'REC Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'REIT11', + name: 'Singulare FII', + serie: 'Recebíveis Imobiliários', + adminitrator: 'SINGULARE', + }, + { + ticker: 'RELG11', + name: 'REC Logística', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'REON11', + name: 'Residenciais One', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RFOF11', + name: 'RB Capital I Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RINV11', + name: 'Real Investor FII', + serie: 'Híbrido', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'RMAI11', + name: 'REAG Multi Ativos Imobiliários', + serie: 'Híbrido', + adminitrator: 'REAG', + }, + { + ticker: 'RNDP11', + name: 'Fundo BB Renda de Papéis', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VOTORANTIM ASSET', + }, + { + ticker: 'RNGO11', + name: 'Rio Negro', + serie: 'Lajes Comerciais', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'ROOF11', + name: 'Rooftop I', + serie: 'Incorporação Residencial', + adminitrator: 'VÓRTX', + }, + { + ticker: 'RPRI11', + name: 'RBR Premium Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'INTRAG', + }, + { + ticker: 'RRCI11', + name: 'RB Capital Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RSBU11B', + name: 'RSB 1', + serie: 'Híbrido', + adminitrator: 'NSG CAPITAL DTVM', + }, + { + ticker: 'RSPD11', + name: 'RB Capital Desenvolvimento Residencial III', + serie: 'Incorporação Residencial', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'RURA11', + name: 'Itaú Asset Rural Fiagro', + serie: 'Agronegócio', + adminitrator: 'INTRAG', + }, + { + ticker: 'RURD11', + name: 'Itaú Asset Rural Dólar Fiagro', + serie: 'Agronegócio', + adminitrator: 'INTRAG', + }, + { + ticker: 'RVBI11', + name: 'VBI Reits FOF', + serie: 'Fundo de Fundos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'RZAG11', + name: 'Riza Agro Fiagro', + serie: 'Agronegócio', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'RZAK11', + name: 'Riza Akin', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RZAT11', + name: 'Riza Arctium Real Estate', + serie: 'Logisticos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'RZEO11', + name: 'Riza Eos Fiagro', + serie: 'Agronegócio', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'RZTR11', + name: 'Riza Terrax', + serie: 'Agronegócio', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'SAAG11', + name: 'Santander Agências', + serie: 'Agencias Bancárias', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'SACL11', + name: 'São Carlos Renda Imobiliária', + serie: 'N/D', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'SADI11', + name: 'Santander Papéis Imobiliários CDI', + serie: 'Recebíveis Imobiliários', + adminitrator: 'SANTANDER CACEIS', + }, + { + ticker: 'SAIC11B', + name: 'SIA Corporate', + serie: 'Lajes Comerciais', + adminitrator: 'BRB DTVM', + }, + { + ticker: 'SALI11', + name: 'Vênus', + serie: 'Outros', + adminitrator: 'VÓRTX', + }, + { + ticker: 'SARE11', + name: 'Santander Renda de Aluguéis', + serie: 'Híbrido', + adminitrator: 'SANTANDER SECURITIES', + }, + { + ticker: 'SBCL11', + name: 'FRAM Capital SBCLog', + serie: 'Logisticos', + adminitrator: 'FRAM Capital', + }, + { + ticker: 'SCPF11', + name: 'SCP', + serie: 'Shopping/Varejo', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'SDIL11', + name: 'SDI Rio Bravo Renda Logística', + serie: 'Logisticos', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'SEED11', + name: 'Hedge Seed', + serie: 'Híbrido', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'SEQR11', + name: 'Sequóia III Renda Imobiliária', + serie: 'Híbrido', + adminitrator: 'VÓRTX', + }, + { + ticker: 'SFND11', + name: 'São Fernando', + serie: 'Lajes Comerciais', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'SFRO11', + name: 'São Francisco 34', + serie: 'Híbrido', + adminitrator: 'CM CAPITAL MARKETS', + }, + { + ticker: 'SHDP11B', + name: 'Shopping Parque Dom Pedro', + serie: 'Shopping/Varejo', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'SHOP11', + name: 'Multi Shoppings', + serie: 'Shopping/Varejo', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'SHPH11', + name: 'Shopping Pátio Higienópolis', + serie: 'Shopping/Varejo', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'SHSO11', + name: 'SH Special Opps', + serie: 'Recebíveis Imobiliários', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'SIGR11', + name: 'SIG Capital Recebíveis Pulverizados', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'SJAU11', + name: 'SJ AU Logística', + serie: 'Logisticos', + adminitrator: 'VÓRTX', + }, + { + ticker: 'SLDZ11', + name: 'LAV SLDZ Desenvolvimento Imobiliário', + serie: 'N/D', + adminitrator: 'VÓRTX', + }, + { + ticker: 'SNAG11', + name: 'Suno Agro Fiagro', + serie: 'Agronegócio', + adminitrator: 'SINGULARE', + }, + { + ticker: 'SNCI11', + name: 'Suno Recebíveis', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'SNEL11', + name: 'Suno Energias Limpas FII', + serie: 'Outros', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'SNFF11', + name: 'Suno Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'SNID11', + name: 'Suno Infra', + serie: 'N/D', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'SNLG11', + name: 'Suno Log FII', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'SOLR11', + name: 'Solarium', + serie: 'Híbrido', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'SPAF11', + name: 'Spa', + serie: 'Shopping/Varejo', + adminitrator: 'PLURAL', + }, + { + ticker: 'SPDE11', + name: 'WHG Finvest SP Realty', + serie: 'Residencial', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'SPMO11', + name: 'Supremo FII', + serie: 'Híbrido', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'SPTW11', + name: 'SP Downtown', + serie: 'Lajes Comerciais', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'SPVJ11', + name: 'Sucesspar Varejo', + serie: 'Shopping/Varejo', + adminitrator: 'VÓRTX', + }, + { + ticker: 'SPXS11', + name: 'SPX SYN Multiestratégia', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'SRVD11', + name: 'Serra Verde', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VÓRTX', + }, + { + ticker: 'STFI11', + name: 'Santander Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'SANTANDER SECURITIES', + }, + { + ticker: 'STRX11', + name: 'StarX', + serie: 'Shopping/Varejo', + adminitrator: 'INTER DTVM', + }, + { + ticker: 'TBOF11', + name: 'TB Office', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'TCIN11', + name: 'G5 Cidade Nova', + serie: 'Lajes Comerciais', + adminitrator: 'SINGULARE', + }, + { + ticker: 'TCIN12', + name: 'G5 Cidade Nova (Cota Ordinária)', + serie: 'Lajes Comerciais', + adminitrator: 'SINGULARE', + }, + { + ticker: 'TCPF11', + name: 'Treecorp Real Estate I', + serie: 'Incorporação', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'TELD11', + name: 'Tellus Desenvolvimento Logístico', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'TELF11', + name: 'Tellus Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'TELM11', + name: 'Tellus Multiestratégia', + serie: 'Outros', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'TEPP11', + name: 'Tellus Properties', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'TFOF11', + name: 'Hedge TOP FOFII', + serie: 'Fundo de Fundos', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'TGAR11', + name: 'TG Ativo Real', + serie: 'Híbrido', + adminitrator: 'VÓRTX', + }, + { + ticker: 'THRA11', + name: 'Cyrela Thera Corporate', + serie: 'Lajes Comerciais', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'TJKB11', + name: 'Tjk Renda Imobiliária', + serie: 'Lajes Comerciais', + adminitrator: 'BR-CAPITAL', + }, + { + ticker: 'TMPS11', + name: 'Itaú Tempus', + serie: 'Fundo de Fundos', + adminitrator: 'INTRAG', + }, + { + ticker: 'TORD11', + name: 'Tordesilhas EI', + serie: 'Híbrido', + adminitrator: 'VÓRTX', + }, + { + ticker: 'TORM11', + name: 'Tourmalet I', + serie: 'Incorporação', + adminitrator: 'VÓRTX', + }, + { + ticker: 'TOUR11', + name: 'Tourmalet II', + serie: 'Incorporação', + adminitrator: 'VÓRTX', + }, + { + ticker: 'TRNT11', + name: 'Torre Norte', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'TRXB11', + name: 'TRX Real Estate II', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'TRXF11', + name: 'TRX Real Estate', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'TSER11', + name: 'Tishman Speyer Renda Corporativa', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'TSNC11', + name: 'Transinc', + serie: 'Lajes Comerciais', + adminitrator: 'btg pactual', + }, + { + ticker: 'UMED11', + name: 'Unimed Investcoop Nacional', + serie: 'Outros', + adminitrator: 'COINVALORES', + }, + { + ticker: 'URPR11', + name: 'Urca Prime Renda', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VÓRTX', + }, + { + ticker: 'VCJR11', + name: 'Vectis Juros Real', + serie: 'Recebíveis Imobiliários', + adminitrator: 'INTRAG', + }, + { + ticker: 'VCRA11', + name: 'Vectis Datagro Crédito Agronegócio Fiagro', + serie: 'Agronegócio', + adminitrator: 'INTRAG', + }, + { + ticker: 'VCRI11', + name: 'Vinci Credit Securities', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'VCRR11', + name: 'Vectis Renda Residencial', + serie: 'Residencial', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'VDSV11', + name: 'Vic Desenvolvimento Vintage 22/23', + serie: 'N/D', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'VERE11', + name: 'Vereda', + serie: 'Lajes Comerciais', + adminitrator: 'VÓRTX', + }, + { + ticker: 'VGHF11', + name: 'Valora Hedge Fund', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO DAYCOVAL', + }, + { + ticker: 'VGIA11', + name: 'Valora CRA Fiagro', + serie: 'Agronegócio', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'VGIP11', + name: 'Valora CRI Índice de Preço', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'VGIR11', + name: 'Valora CRI CDI', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'VIDS11', + name: 'Vic Desenvolvimento - Vintage 20/21', + serie: 'Incorporação', + adminitrator: 'BANCO GENIAL', + }, + { + ticker: 'VIFI11', + name: 'Vinci Instrumentos Financeiros', + serie: 'Fundo de Fundos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'VILG11', + name: 'Vinci Logística', + serie: 'Logisticos', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'VINO11', + name: 'Vinci Offices', + serie: 'Lajes Comerciais', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'VISC11', + name: 'Vinci Shopping Centers', + serie: 'Shopping/Varejo', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'VIUR11', + name: 'Vinci Imóveis Urbanos', + serie: 'Híbrido', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'VJFD11', + name: 'JFDCAM', + serie: 'Híbrido', + adminitrator: 'SINGULARE', + }, + { + ticker: 'VLJS11', + name: 'Vector Queluz Lajes Corporativas', + serie: 'Lajes Comerciais', + adminitrator: 'PLANNER', + }, + { + ticker: 'VLOL11', + name: 'Vila Olímpia Corporate', + serie: 'Lajes Comerciais', + adminitrator: 'OLIVEIRA TRUST', + }, + { + ticker: 'VOTS11', + name: 'Votorantim Securities Master', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BV DTVM', + }, + { + ticker: 'VPSI11', + name: 'Polo Shopping Indaiatuba', + serie: 'Shopping/Varejo', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'VRTA11', + name: 'Fator Verità', + serie: 'Recebíveis Imobiliários', + adminitrator: 'BANCO FATOR', + }, + { + ticker: 'VSEC11', + name: 'Votorantim Securities', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VOTORANTIM ASSET', + }, + { + ticker: 'VSHO11', + name: 'Votorantim Shopping', + serie: 'Shopping/Varejo', + adminitrator: 'VOTORANTIM ASSET', + }, + { + ticker: 'VSLH11', + name: 'Versalhes Recebíveis Imobiliários', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VÓRTX', + }, + { + ticker: 'VTLT11', + name: 'Votorantim Logística', + serie: 'Logisticos', + adminitrator: 'BV DTVM', + }, + { + ticker: 'VTPA11', + name: 'Votorantim Patrimonial V', + serie: 'Lajes Comerciais', + adminitrator: 'BV DTVM', + }, + { + ticker: 'VTPL11', + name: 'FII Plus', + serie: 'Logisticos', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'VTRT11', + name: 'Votorantim Securities III', + serie: 'Recebíveis Imobiliários', + adminitrator: 'VOTORANTIM ASSET', + }, + { + ticker: 'VTVI11', + name: 'Parking Partners', + serie: 'Shopping/Varejo', + adminitrator: 'VOTORANTIM ASSET', + }, + { + ticker: 'VTXI11', + name: 'Votorantim Patrimonial XII', + serie: 'Incorporação', + adminitrator: 'BV DTVM', + }, + { + ticker: 'VVCO11', + name: 'V2 Edifícios Corporativos', + serie: 'Lajes Comerciais', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'VVPR11', + name: 'V2 Properties', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'VVRI11', + name: 'V2 Renda Imobiliária', + serie: 'Híbrido', + adminitrator: 'BTG PACTUAL', + }, + { + ticker: 'VXXV11', + name: 'Genesis Multiestratégia', + serie: 'Incorporação', + adminitrator: 'PLANNER', + }, + { + ticker: 'WHGR11', + name: 'WHG Real Estate', + serie: 'Híbrido', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'WMRB11B', + name: 'WM RB Capital', + serie: 'Recebíveis Imobiliários', + adminitrator: 'CITIBANK DTVM', + }, + { + ticker: 'WPLZ11', + name: 'West Plaza', + serie: 'Shopping/Varejo', + adminitrator: 'HEDGE INVESTMENTS', + }, + { + ticker: 'WSEC11', + name: 'Warren Securities', + serie: 'Recebíveis Imobiliários', + adminitrator: 'WARREN', + }, + { + ticker: 'WTSP11B', + name: 'Ourinvest RE I', + serie: 'Lajes Comerciais', + adminitrator: 'BANCO OURINVEST S.A.', + }, + { + ticker: 'XBXO11', + name: 'R Cap 1810 Fundo de Fundos', + serie: 'Fundo de Fundos', + adminitrator: 'Monetar', + }, + { + ticker: 'XPCA11', + name: 'XP Crédito Agrícola Fiagro', + serie: 'Agronegócio', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'XPCI11', + name: 'XP Crédito', + serie: 'Recebíveis Imobiliários', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'XPCM11', + name: 'XP Corporate Macaé', + serie: 'Lajes Comerciais', + adminitrator: 'RIO BRAVO', + }, + { + ticker: 'XPGA11', + name: 'XP Recebíveis', + serie: 'Recebíveis Imobiliários', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'XPHT11', + name: 'XP Hotéis (Cota Sênior)', + serie: 'Hoteis', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'XPHT12', + name: 'XP Hotéis (Cota Ordinária)', + serie: 'Hoteis', + adminitrator: 'GENIAL INVESTIMENTOS', + }, + { + ticker: 'XPID11', + name: 'XP FIC FI-Infra', + serie: 'N/D', + adminitrator: 'PLURAL', + }, + { + ticker: 'XPIN11', + name: 'XP Industrial', + serie: 'Logisticos', + adminitrator: 'VÓRTX', + }, + { + ticker: 'XPLG11', + name: 'XP Log', + serie: 'Logisticos', + adminitrator: 'VÓRTX', + }, + { + ticker: 'XPML11', + name: 'XP Malls', + serie: 'Shopping/Varejo', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'XPPR11', + name: 'XP Properties', + serie: 'Lajes Comerciais', + adminitrator: 'VÓRTX', + }, + { + ticker: 'XPSF11', + name: 'XP Selection', + serie: 'Fundo de Fundos', + adminitrator: 'XP INVESTIMENTOS', + }, + { + ticker: 'YUFI11', + name: 'Yuca', + serie: 'Residencial', + adminitrator: 'BRL TRUST', + }, + { + ticker: 'ZAVI11', + name: 'Zavit Real Estate Fund', + serie: 'Híbrido', + adminitrator: 'VÓRTX', + }, + { + ticker: 'ZIFI11', + name: 'Zion Capital', + serie: 'Outros', + adminitrator: 'TRUSTEE DTVM', + }, +] diff --git a/src/styles/globals.css b/src/styles/globals.css index a90f074..b5c61c9 100644 --- a/src/styles/globals.css +++ b/src/styles/globals.css @@ -1,4 +1,3 @@ @tailwind base; @tailwind components; @tailwind utilities; - diff --git a/src/styles/output.css b/src/styles/output.css index f17f960..2fa0e92 100644 --- a/src/styles/output.css +++ b/src/styles/output.css @@ -1,5 +1,5 @@ /* -! tailwindcss v3.3.1 | MIT License | https://tailwindcss.com +! tailwindcss v3.3.2 | MIT License | https://tailwindcss.com */ /* @@ -436,6 +436,9 @@ video { --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; @@ -483,6 +486,9 @@ video { --tw-pan-y: ; --tw-pinch-zoom: ; --tw-scroll-snap-strictness: proximity; + --tw-gradient-from-position: ; + --tw-gradient-via-position: ; + --tw-gradient-to-position: ; --tw-ordinal: ; --tw-slashed-zero: ; --tw-numeric-figure: ; @@ -516,83 +522,6 @@ video { --tw-backdrop-sepia: ; } -.container { - width: 100%; -} - -@media (min-width: 640px) { - .container { - max-width: 640px; - } -} - -@media (min-width: 768px) { - .container { - max-width: 768px; - } -} - -@media (min-width: 1024px) { - .container { - max-width: 1024px; - } -} - -@media (min-width: 1280px) { - .container { - max-width: 1280px; - } -} - -@media (min-width: 1536px) { - .container { - max-width: 1536px; - } -} - -.sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.not-sr-only { - position: static; - width: auto; - height: auto; - padding: 0; - margin: 0; - overflow: visible; - clip: auto; - white-space: normal; -} - -.visible { - visibility: visible; -} - -.invisible { - visibility: hidden; -} - -.collapse { - visibility: collapse; -} - -.static { - position: static; -} - -.fixed { - position: fixed; -} - .absolute { position: absolute; } @@ -645,6 +574,10 @@ video { bottom: 1.5rem; } +.bottom-8 { + bottom: 2rem; +} + .bottom-px { bottom: 1px; } @@ -693,6 +626,10 @@ video { left: 1.5rem; } +.left-8 { + left: 2rem; +} + .left-px { left: 1px; } @@ -741,6 +678,10 @@ video { right: 1.5rem; } +.right-8 { + right: 2rem; +} + .right-px { right: 1px; } @@ -785,16 +726,12 @@ video { top: 1.5rem; } -.top-px { - top: 1px; -} - -.isolate { - isolation: isolate; +.top-8 { + top: 2rem; } -.isolation-auto { - isolation: auto; +.top-px { + top: 1px; } .z-10 { @@ -877,6 +814,10 @@ video { grid-column-start: 7; } +.m-4 { + margin: 1rem; +} + .mx-auto { margin-left: auto; margin-right: auto; @@ -922,6 +863,10 @@ video { margin-bottom: -1.5rem; } +.-mb-8 { + margin-bottom: -2rem; +} + .-mb-px { margin-bottom: -1px; } @@ -966,6 +911,10 @@ video { margin-left: -1.5rem; } +.-ml-8 { + margin-left: -2rem; +} + .-ml-px { margin-left: -1px; } @@ -1010,6 +959,10 @@ video { margin-right: -1.5rem; } +.-mr-8 { + margin-right: -2rem; +} + .-mr-px { margin-right: -1px; } @@ -1054,6 +1007,10 @@ video { margin-top: -1.5rem; } +.-mt-8 { + margin-top: -2rem; +} + .-mt-px { margin-top: -1px; } @@ -1098,6 +1055,10 @@ video { margin-bottom: 1.5rem; } +.mb-8 { + margin-bottom: 2rem; +} + .mb-px { margin-bottom: 1px; } @@ -1142,6 +1103,10 @@ video { margin-left: 1.5rem; } +.ml-8 { + margin-left: 2rem; +} + .ml-px { margin-left: 1px; } @@ -1186,6 +1151,10 @@ video { margin-right: 1.5rem; } +.mr-8 { + margin-right: 2rem; +} + .mr-px { margin-right: 1px; } @@ -1226,10 +1195,18 @@ video { margin-top: 1rem; } +.mt-5 { + margin-top: 1.25rem; +} + .mt-6 { margin-top: 1.5rem; } +.mt-8 { + margin-top: 2rem; +} + .mt-px { margin-top: 1px; } @@ -1238,14 +1215,6 @@ video { display: block; } -.inline-block { - display: inline-block; -} - -.inline { - display: inline; -} - .flex { display: flex; } @@ -1258,62 +1227,10 @@ video { display: table; } -.inline-table { - display: inline-table; -} - -.table-caption { - display: table-caption; -} - -.table-cell { - display: table-cell; -} - -.table-column { - display: table-column; -} - -.table-column-group { - display: table-column-group; -} - -.table-footer-group { - display: table-footer-group; -} - -.table-header-group { - display: table-header-group; -} - -.table-row-group { - display: table-row-group; -} - -.table-row { - display: table-row; -} - -.flow-root { - display: flow-root; -} - .grid { display: grid; } -.inline-grid { - display: inline-grid; -} - -.contents { - display: contents; -} - -.list-item { - display: list-item; -} - .hidden { display: none; } @@ -1374,8 +1291,8 @@ video { height: 100%; } -.max-h-72 { - max-height: 18rem; +.max-h-\[228px\] { + max-height: 228px; } .max-h-fit { @@ -1415,6 +1332,10 @@ video { width: 1rem; } +.w-4\/5 { + width: 80%; +} + .w-48 { width: 12rem; } @@ -1473,22 +1394,10 @@ video { flex-shrink: 0; } -.shrink { - flex-shrink: 1; -} - .shrink-0 { flex-shrink: 0; } -.grow { - flex-grow: 1; -} - -.border-collapse { - border-collapse: collapse; -} - .-translate-x-1\/2 { --tw-translate-x: -50%; transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); @@ -1534,10 +1443,9 @@ video { resize: both; } -.appearance-none { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; +.columns-auto { + -moz-columns: auto; + columns: auto; } .grid-cols-1 { @@ -1660,6 +1568,14 @@ video { justify-content: space-evenly; } +.gap-4 { + gap: 1rem; +} + +.gap-8 { + gap: 2rem; +} + .space-x-0 > :not([hidden]) ~ :not([hidden]) { --tw-space-x-reverse: 0; margin-right: calc(0px * var(--tw-space-x-reverse)); @@ -1738,18 +1654,10 @@ video { margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); } -.space-y-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-y-reverse: 1; -} - -.space-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-space-x-reverse: 1; -} - -.divide-x > :not([hidden]) ~ :not([hidden]) { - --tw-divide-x-reverse: 0; - border-right-width: calc(1px * var(--tw-divide-x-reverse)); - border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); +.space-y-4 > :not([hidden]) ~ :not([hidden]) { + --tw-space-y-reverse: 0; + margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1rem * var(--tw-space-y-reverse)); } .divide-y > :not([hidden]) ~ :not([hidden]) { @@ -1758,14 +1666,6 @@ video { border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); } -.divide-y-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-divide-y-reverse: 1; -} - -.divide-x-reverse > :not([hidden]) ~ :not([hidden]) { - --tw-divide-x-reverse: 1; -} - .divide-amber-100 > :not([hidden]) ~ :not([hidden]) { --tw-divide-opacity: 1; border-color: rgb(254 243 199 / var(--tw-divide-opacity)); @@ -2901,14 +2801,6 @@ video { white-space: nowrap; } -.text-ellipsis { - text-overflow: ellipsis; -} - -.text-clip { - text-overflow: clip; -} - .whitespace-nowrap { white-space: nowrap; } @@ -3033,22 +2925,6 @@ video { border-top-right-radius: 0px; } -.rounded-bl { - border-bottom-left-radius: 0.25rem; -} - -.rounded-br { - border-bottom-right-radius: 0.25rem; -} - -.rounded-tl { - border-top-left-radius: 0.25rem; -} - -.rounded-tr { - border-top-right-radius: 0.25rem; -} - .border { border-width: 1px; } @@ -3065,16 +2941,6 @@ video { border-width: 4px; } -.border-x { - border-left-width: 1px; - border-right-width: 1px; -} - -.border-y { - border-top-width: 1px; - border-bottom-width: 1px; -} - .border-b { border-bottom-width: 1px; } @@ -3139,6 +3005,14 @@ video { border-top-width: 4px; } +.border-solid { + border-style: solid; +} + +.border-dashed { + border-style: dashed; +} + .border-amber-100 { --tw-border-opacity: 1; border-color: rgb(254 243 199 / var(--tw-border-opacity)); @@ -4248,6 +4122,11 @@ video { border-color: rgb(24 24 27 / var(--tw-border-opacity)); } +.border-b-gray-500 { + --tw-border-opacity: 1; + border-bottom-color: rgb(107 114 128 / var(--tw-border-opacity)); +} + .bg-amber-100 { --tw-bg-opacity: 1; background-color: rgb(254 243 199 / var(--tw-bg-opacity)); @@ -5361,10 +5240,6 @@ video { background-color: rgb(24 24 27 / var(--tw-bg-opacity)); } -.bg-repeat { - background-repeat: repeat; -} - .p-0 { padding: 0px; } @@ -5405,6 +5280,10 @@ video { padding: 1.5rem; } +.p-8 { + padding: 2rem; +} + .p-px { padding: 1px; } @@ -5459,6 +5338,11 @@ video { padding-right: 1.5rem; } +.px-8 { + padding-left: 2rem; + padding-right: 2rem; +} + .px-px { padding-left: 1px; padding-right: 1px; @@ -5514,6 +5398,11 @@ video { padding-bottom: 1.5rem; } +.py-8 { + padding-top: 2rem; + padding-bottom: 2rem; +} + .py-px { padding-top: 1px; padding-bottom: 1px; @@ -5559,6 +5448,10 @@ video { padding-bottom: 1.5rem; } +.pb-8 { + padding-bottom: 2rem; +} + .pb-px { padding-bottom: 1px; } @@ -5603,6 +5496,10 @@ video { padding-left: 1.5rem; } +.pl-8 { + padding-left: 2rem; +} + .pl-px { padding-left: 1px; } @@ -5647,6 +5544,10 @@ video { padding-right: 1.5rem; } +.pr-8 { + padding-right: 2rem; +} + .pr-px { padding-right: 1px; } @@ -5691,6 +5592,10 @@ video { padding-top: 1.5rem; } +.pt-8 { + padding-top: 2rem; +} + .pt-px { padding-top: 1px; } @@ -5707,6 +5612,10 @@ video { text-align: right; } +.text-start { + text-align: start; +} + .align-top { vertical-align: top; } @@ -5715,6 +5624,11 @@ video { vertical-align: middle; } +.text-2xl { + font-size: 1.5rem; + line-height: 2rem; +} + .text-3xl { font-size: 1.875rem; line-height: 2.25rem; @@ -5757,67 +5671,21 @@ video { font-weight: 600; } -.uppercase { - text-transform: uppercase; -} - -.lowercase { - text-transform: lowercase; -} - .capitalize { text-transform: capitalize; } -.normal-case { - text-transform: none; -} - .italic { font-style: italic; } -.not-italic { - font-style: normal; -} - -.normal-nums { - font-variant-numeric: normal; -} - -.ordinal { - --tw-ordinal: ordinal; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.slashed-zero { - --tw-slashed-zero: slashed-zero; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.lining-nums { - --tw-numeric-figure: lining-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.oldstyle-nums { - --tw-numeric-figure: oldstyle-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - -.proportional-nums { - --tw-numeric-spacing: proportional-nums; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); -} - .tabular-nums { --tw-numeric-spacing: tabular-nums; font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); } -.diagonal-fractions { - --tw-numeric-fraction: diagonal-fractions; - font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction); +.leading-8 { + line-height: 2rem; } .text-amber-100 { @@ -6933,32 +6801,10 @@ video { color: rgb(24 24 27 / var(--tw-text-opacity)); } -.underline { - text-decoration-line: underline; -} - -.overline { - text-decoration-line: overline; -} - -.line-through { - text-decoration-line: line-through; -} - .no-underline { text-decoration-line: none; } -.antialiased { - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.subpixel-antialiased { - -webkit-font-smoothing: auto; - -moz-osx-font-smoothing: auto; -} - .opacity-50 { opacity: 0.5; } @@ -6979,12 +6825,23 @@ video { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.shadow-none { + --tw-shadow: 0 0 #0000; + --tw-shadow-colored: 0 0 #0000; + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + .shadow-sm { --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color); box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.outline-none { + outline: 2px solid transparent; + outline-offset: 2px; +} + .outline { outline-style: solid; } @@ -7895,10 +7752,6 @@ video { box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); } -.ring-inset { - --tw-ring-inset: inset; -} - .ring-amber-100 { --tw-ring-opacity: 1; --tw-ring-color: rgb(254 243 199 / var(--tw-ring-opacity)); @@ -9013,59 +8866,10 @@ video { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } -.drop-shadow { - --tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / 0.1)) drop-shadow(0 1px 1px rgb(0 0 0 / 0.06)); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.grayscale { - --tw-grayscale: grayscale(100%); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.invert { - --tw-invert: invert(100%); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - -.sepia { - --tw-sepia: sepia(100%); - filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); -} - .filter { filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); } -.backdrop-blur { - --tw-backdrop-blur: blur(8px); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-grayscale { - --tw-backdrop-grayscale: grayscale(100%); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-invert { - --tw-backdrop-invert: invert(100%); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-sepia { - --tw-backdrop-sepia: sepia(100%); - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - -.backdrop-filter { - -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); - backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia); -} - .transition { transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; @@ -9080,18 +8884,6 @@ video { transition-duration: 150ms; } -.ease-in { - transition-timing-function: cubic-bezier(0.4, 0, 1, 1); -} - -.ease-in-out { - transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); -} - -.ease-out { - transition-timing-function: cubic-bezier(0, 0, 0.2, 1); -} - .placeholder\:text-gray-400::-moz-placeholder { --tw-text-opacity: 1; color: rgb(156 163 175 / var(--tw-text-opacity)); @@ -14841,6 +14633,14 @@ video { grid-column: span 9 / span 9; } + .md\:grid { + display: grid; + } + + .md\:w-96 { + width: 24rem; + } + .md\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)); } @@ -14892,6 +14692,14 @@ video { .md\:grid-cols-none { grid-template-columns: none; } + + .md\:gap-4 { + gap: 1rem; + } + + .md\:text-center { + text-align: center; + } } @media (min-width: 1024px) { @@ -14995,4 +14803,3 @@ video { grid-template-columns: none; } } - diff --git a/tailwind.config.js b/tailwind.config.js index dec5ae4..cb55329 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,12 +1,8 @@ /** @type {import('tailwindcss').Config} */ module.exports = { content: [ - './pages/**/*.{js,ts,jsx,tsx}', - './app/**/*.{js,ts,jsx,tsx}', - './components/**/*.{js,ts,jsx,tsx}', - - // Path to the tremor module './node_modules/@tremor/**/*.{js,ts,jsx,tsx}', + './src/**/*.{js,ts,jsx,tsx}', ], theme: { extend: {},