diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml new file mode 100644 index 00000000..80b6715c --- /dev/null +++ b/.github/workflows/github-pages.yml @@ -0,0 +1,41 @@ +name: github-pages + +on: + push: + branches: + - master + + workflow_run: + workflows: [run-cron] + types: + - completed + + workflow_dispatch: + +jobs: + build-and-deploy: + runs-on: ubuntu-latest + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Install dependencies and build + uses: actions/setup-node@v3 + with: + node-version: '14' + - run: npm ci + - run: npm run build + + - name: Check GitHub Pages status + uses: crazy-max/ghaction-github-status@v3 + with: + pages_threshold: major_outage + + - name: Deploy to gh-pages branch + if: success() + uses: crazy-max/ghaction-github-pages@v3 + with: + target_branch: gh-pages + build_dir: build + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/run-cron.yml b/.github/workflows/run-cron.yml new file mode 100644 index 00000000..4323290d --- /dev/null +++ b/.github/workflows/run-cron.yml @@ -0,0 +1,27 @@ +name: run-cron + +on: + schedule: + - cron: '0 12 * * 0' + + workflow_dispatch: + +jobs: + update: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v4 + with: + python-version: '3.x' + architecture: 'x64' + - run: | + python -m pip install --upgrade pip + pip install requests python-leetcode + - run: | + python cron/update_questions.py + env: + LEETCODE_SESSION_TOKEN: ${{ secrets.LEETCODE_SESSION_TOKEN }} + - uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: Update questions via run-cron GitHub Action diff --git a/.gitignore b/.gitignore index 8692cf66..566a640a 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* + +__pycache__ diff --git a/README.md b/README.md index d4a85be3..7b801b7a 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,12 @@ -# Leetcode Patterns +# Leetcode Patterns [![github-pages](https://github.com/seanprashad/leetcode-patterns/actions/workflows/github-pages.yml/badge.svg)](https://github.com/seanprashad/leetcode-patterns/actions/workflows/github-pages.yml) [![run-cron](https://github.com/seanprashad/leetcode-patterns/actions/workflows/run-cron.yml/badge.svg)](https://github.com/seanprashad/leetcode-patterns/actions/workflows/run-cron.yml) ## Table of Contents - [Background](#background) -- [Preface](#preface) +- [Fundamentals](#fundamentals) - [Notes](#notes) - [Question List](#question-list) - [Solutions](#solutions) -- [Leetcode Discuss](#leetcode-discuss) -- [Tips to Consider](#tips-to-consider) - [Suggestions](#suggestions) - [Acknowledgements](#acknowledgements) @@ -22,10 +20,11 @@ repeatedly applying common patterns rather than randomly tackling questions. All questions are available on [leetcode.com] with some requiring [leetcode premium]. -## Preface +## Fundamentals -It is highly recommended to read chapters 1, 2, 3, 4, 8, and 10 of [Cracking The Coding Interview] -to familiarize yourself with the following data structures and their operations: +To find the greatest amount of success when practicing, it is highly recommended +to know the methods and runtimes of the following data structures and their +operations: - Arrays - Maps @@ -45,7 +44,7 @@ In addition, you should have a good grasp on common algorithms such as: ## Notes -[This pdf] contains useful information for the built-in data structures in Java. +[This pdf] contains information for the main data structures in Java. Other useful methods to know include [`substring()`](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#substring-int-int-), [`toCharArray()`](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#toCharArray--), [`Math.max()`](https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#max-int-int-), [`Math.min()`](https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html#min-int-int-), and [`Arrays.fill()`](https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html#fill-int:A-int-). @@ -55,63 +54,10 @@ Other useful methods to know include [`substring()`](https://docs.oracle.com/jav The entire question list can be found here: https://seanprashad.com/leetcode-patterns/. -In addition to viewing the question list, companies that have previously asked -the question in the past 6 months (_as of May 2021_) will be listed. You can -also use the checkboxes to mark which questions you've completed! - ## Solutions Solutions written in Java can be found in the [solutions] branch. -## Leetcode Discuss - -[Leetcode discuss] is an amazing resource and features previous interview -questions, as well as compensation and general career advice. - -## Tips to Consider - -``` -If input array is sorted then - - Binary search - - Two pointers - -If asked for all permutations/subsets then - - Backtracking - -If given a tree then - - DFS - - BFS - -If given a graph then - - DFS - - BFS - -If given a linked list then - - Two pointers - -If recursion is banned then - - Stack - -If must solve in-place then - - Swap corresponding values - - Store one or more different values in the same pointer - -If asked for maximum/minimum subarray/subset/options then - - Dynamic programming - -If asked for top/least K items then - - Heap - - QuickSelect - -If asked for common strings then - - Map - - Trie - -Else - - Map/Set for O(1) time & O(n) space - - Sort input for O(nlogn) time and O(1) space -``` - ## Suggestions Think a question should/shouldn't be included? Wish there was another feature? @@ -126,12 +72,7 @@ on [14 patterns to ace any coding interview question]. [leetcode.com]: https://leetcode.com [leetcode premium]: https://leetcode.com/subscribe/ [this pdf]: https://drive.google.com/open?id=1ao4ZA28zzBttDkuS6MLQI52gDs_CJZEm -[cracking the coding interview]: http://www.crackingthecodinginterview.com/contents.html -[here]: https://hackernoon.com/14-patterns-to-ace-any-coding-interview-question-c5bb3357f6ed -[topcoder]: https://www.topcoder.com/community/competitive-programming/tutorials/dynamic-programming-from-novice-to-advanced/ -[back to back swe youtube channel]: https://www.youtube.com/watch?v=jgiZlGzXMBw [solutions]: https://github.com/SeanPrashad/leetcode-patterns/tree/solutions -[leetcode discuss]: https://leetcode.com/discuss/interview-question [grokking the coding interview]: https://www.educative.io/courses/grokking-the-coding-interview [issue]: https://github.com/SeanPrashad/leetcode-patterns/issues/new [blind 75 list]: https://www.teamblind.com/article/New-Year-Gift---Curated-List-of-Top-100-LeetCode-Questions-to-Save-Your-Time-OaM1orEU?utm_source=share&utm_medium=ios_app diff --git a/cron/update_questions.py b/cron/update_questions.py new file mode 100644 index 00000000..d16eaf72 --- /dev/null +++ b/cron/update_questions.py @@ -0,0 +1,132 @@ +import os +import json +import leetcode +import leetcode.auth +from datetime import datetime +from leetcode.rest import ApiException + + +def create_leetcode_api(): + LEETCODE_SESSION_TOKEN = os.environ.get("LEETCODE_SESSION_TOKEN") + csrf_token = os.environ.get("LEETCODE_CSRF_TOKEN") + + configuration = leetcode.Configuration() + + configuration.api_key["x-csrftoken"] = csrf_token + configuration.api_key["csrftoken"] = csrf_token + configuration.api_key["LEETCODE_SESSION"] = LEETCODE_SESSION_TOKEN + configuration.api_key["Referer"] = "https://leetcode.com" + configuration.debug = False + + return leetcode.DefaultApi(leetcode.ApiClient(configuration)) + + +def get_question_metadata(api, title_slug): + graphql_request = leetcode.GraphqlQuery( + query='''query questionData($titleSlug: String!) { + question(titleSlug: $titleSlug) { + title + difficulty + companyTagStats + isPaidOnly + } + } + ''', + variables=leetcode.GraphqlQueryGetQuestionDetailVariables( + title_slug=title_slug) + ) + + try: + response = api.graphql_post(body=graphql_request) + return response + except ApiException as e: + print( + f'Exception occurred when contacting the Leetcode GraphQL API: ${e}') + exit() + + +def construct_company_tag_list(company_tags_json, sections): + companies = [] + + for section in sections: + for company in company_tags_json[section]: + companies.append({ + "name": company["name"], + "slug": company["slug"], + "frequency": company["timesEncountered"] + }) + + return sorted(companies, key=lambda d: d['frequency'], reverse=True) + + +def update_question_metadata(question, response): + print(f'''🔄 Updating question metadata for {question["title"]}''') + + question_title = response.data.question.title + question_difficulty = response.data.question.difficulty + question_company_tags = json.loads( + response.data.question.company_tag_stats) + question_is_premium = response.data.question.is_paid_only + + # Retrieve companies who have asked this question for the following two + # company_tag_stat sections: + # 1. 0-6 months + # 2. 6 months to 1 year + companies = construct_company_tag_list( + question_company_tags, ["1", "2"]) + + question["title"] = question_title + question["difficulty"] = question_difficulty + question["companies"] = companies + question["premium"] = question_is_premium + + +def read_questions(file_name): + print(f"💾 Loading {file_name}") + + try: + with open(file_name, "r") as file: + questions = json.load(file) + print(f"✅ Finished loading {file_name}") + return questions + except Exception as e: + print( + f"❌ Exception occurred when reading {file_name}: {e}") + exit() + + +def write_questions(file_name, questions): + print(f"💾 Updating {file_name}") + + try: + with open(file_name, "w") as file: + questions["updated"] = str(datetime.now().isoformat()) + json.dump(questions, file, indent=2) + print(f"✅ Finished updating {file_name}") + except Exception as e: + print( + f"❌ Exception occurred when writing {file_name}: {e}") + exit() + + +def main(file_name): + api = create_leetcode_api() + questions = read_questions(file_name) + + for question in questions["data"]: + title_slug = question["slug"] + + response = get_question_metadata(api, title_slug) + + update_question_metadata(question, response) + + write_questions(file_name, questions) + + +if __name__ == "__main__": + file_name = os.getcwd() + "/src/data/questions.json" + startTime = datetime.now() + + main(file_name) + + print(f"⏱️ Data updated in {datetime.now() - startTime} seconds") diff --git a/package-lock.json b/package-lock.json index e2304b67..e5427d0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,13 +15,15 @@ "classnames": "^2.2.6", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.5", - "gh-pages": "^2.2.0", + "gh-pages": "^5.0.0", + "prop-types": "^15.8.1", "react": "^16.14.0", "react-dom": "^16.14.0", - "react-ga": "^2.7.0", + "react-ga4": "^2.1.0", "react-icons": "^3.11.0", "react-markdown": "^4.3.1", - "react-scripts": "4.0.0", + "react-minimal-pie-chart": "^8.4.0", + "react-scripts": "^4.0.0", "react-scroll": "^1.8.0", "react-table": "^7.6.3", "react-test-renderer": "^16.14.0", @@ -45,11 +47,15 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dependencies": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { @@ -92,21 +98,17 @@ } }, "node_modules/@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dependencies": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" } }, "node_modules/@babel/helper-annotate-as-pure": { @@ -168,6 +170,14 @@ "lodash": "^4.17.19" } }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-explode-assignable-expression": { "version": "7.12.1", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", @@ -177,29 +187,26 @@ } }, "node_modules/@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", - "dependencies": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dependencies": { - "@babel/types": "^7.12.10" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dependencies": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { @@ -285,17 +292,31 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dependencies": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } }, "node_modules/@babel/helper-validator-option": { "version": "7.12.11", @@ -324,19 +345,22 @@ } }, "node_modules/@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1117,39 +1141,49 @@ } }, "node_modules/@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dependencies": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, "node_modules/@bcoe/v8-coverage": { @@ -1281,48 +1315,6 @@ "node": ">=6" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -1560,18 +1552,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@jest/core/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/core/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1598,28 +1578,6 @@ "node": ">= 10.14.2" } }, - "node_modules/@jest/core/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/core/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -1634,14 +1592,6 @@ "node": ">=8" } }, - "node_modules/@jest/core/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/core/node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -2127,18 +2077,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/@jest/reporters/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/reporters/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -2165,28 +2103,6 @@ "node": ">= 10.14.2" } }, - "node_modules/@jest/reporters/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/reporters/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -2201,14 +2117,6 @@ "node": ">=8" } }, - "node_modules/@jest/reporters/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/reporters/node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -2557,12 +2465,12 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/@nodelib/fs.scandir": { @@ -3220,6 +3128,11 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==" }, + "node_modules/@types/svg-path-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/svg-path-parser/-/svg-path-parser-1.1.3.tgz", + "integrity": "sha512-F1Y6lQIto5b2sKCseVUsFfY5J+8PIhhX4jrDVxpth4m7hwM2OdySh3iTLeR35lEhl/K4ZMEF+GDAwTl7yJcO5Q==" + }, "node_modules/@types/tapable": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", @@ -3427,9 +3340,9 @@ } }, "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "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" }, @@ -3544,9 +3457,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "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" }, @@ -3742,12 +3655,12 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" }, "node_modules/accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dependencies": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { "node": ">= 0.6" @@ -4243,6 +4156,21 @@ "autoprefixer": "bin/autoprefixer" } }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "license": "MIT", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/axe-core": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.1.tgz", @@ -4414,9 +4342,9 @@ } }, "node_modules/babel-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -4876,34 +4804,37 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, "node_modules/body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dependencies": { - "bytes": "3.1.0", - "content-type": "~1.0.4", + "bytes": "3.1.2", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } @@ -4916,19 +4847,19 @@ "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/ms": { + "node_modules/body-parser/node_modules/depd": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { - "node": ">=0.6" + "node": ">= 0.8" } }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, "node_modules/bonjour": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", @@ -4953,9 +4884,10 @@ "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" }, "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5026,25 +4958,28 @@ } }, "node_modules/browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", "dependencies": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", + "elliptic": "^6.5.4", "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 4" } }, "node_modules/browserify-sign/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5219,12 +5154,50 @@ } }, "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/caller-callsite": { @@ -5758,20 +5731,39 @@ } }, "node_modules/content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dependencies": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" }, "engines": { "node": ">= 0.6" } }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "engines": { "node": ">= 0.6" } @@ -5785,9 +5777,9 @@ } }, "node_modules/cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", "engines": { "node": ">= 0.6" } @@ -6092,9 +6084,9 @@ } }, "node_modules/css-loader/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "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" }, @@ -6423,9 +6415,9 @@ "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" }, "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "engines": { "node": ">=0.10" } @@ -6473,6 +6465,22 @@ "node": ">=6" } }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -6590,9 +6598,13 @@ } }, "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, "node_modules/detect-newline": { "version": "3.1.0", @@ -6839,6 +6851,20 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -6858,7 +6884,7 @@ "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "node_modules/ejs": { "version": "2.7.4", @@ -6875,9 +6901,10 @@ "integrity": "sha512-cev+jOrz/Zm1i+Yh334Hed6lQVOkkemk2wRozfMF4MtTR7pxf3r3L5Rbd7uX1zMcEqVJ7alJBnJL7+JffkC6FQ==" }, "node_modules/elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", + "license": "MIT", "dependencies": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -6894,9 +6921,9 @@ "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" }, "node_modules/email-addresses": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", - "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==" }, "node_modules/emittery": { "version": "0.7.2", @@ -6920,9 +6947,9 @@ } }, "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "engines": { "node": ">= 0.8" } @@ -7095,6 +7122,35 @@ "node": ">= 0.4" } }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -7815,9 +7871,9 @@ } }, "node_modules/eslint-plugin-testing-library/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "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" }, @@ -8002,9 +8058,9 @@ } }, "node_modules/eslint/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "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" }, @@ -8165,7 +8221,7 @@ "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "engines": { "node": ">= 0.6" } @@ -8477,43 +8533,48 @@ } }, "node_modules/express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "dependencies": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", + "depd": "2.0.0", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.3.1", "fresh": "0.5.2", - "merge-descriptors": "1.0.1", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, "engines": { "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, "node_modules/express/node_modules/array-flatten": { @@ -8529,17 +8590,44 @@ "ms": "2.0.0" } }, + "node_modules/express/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/express/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "node_modules/express/node_modules/qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "engines": { - "node": ">=0.6" + "node": ">= 0.8" } }, "node_modules/ext": { @@ -8770,36 +8858,27 @@ "optional": true }, "node_modules/filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", "dependencies": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", "trim-repeated": "^1.0.0" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/filenamify-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", - "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", - "dependencies": { - "filenamify": "^1.0.0", - "humanize-url": "^1.0.0" + "node": ">=8" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/filesize": { @@ -8822,16 +8901,16 @@ } }, "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "dependencies": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "engines": { @@ -8849,7 +8928,15 @@ "node_modules/finalhandler/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/finalhandler/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/find-cache-dir": { "version": "2.1.0", @@ -8864,6 +8951,40 @@ "node": ">=6" } }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -8907,9 +9028,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.14.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", - "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==", + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", "funding": [ { "type": "individual", @@ -8925,6 +9046,21 @@ } } }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "license": "MIT", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -9078,9 +9214,9 @@ } }, "node_modules/forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { "node": ">= 0.6" } @@ -9099,7 +9235,7 @@ "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { "node": ">= 0.6" } @@ -9158,16 +9294,20 @@ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", "os": [ - "darwin" + "darwin", + "win32" ], "engines": { "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/function.prototype.name": { "version": "1.1.3", @@ -9210,13 +9350,27 @@ } }, "node_modules/get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/get-own-enumerable-property-symbols": { @@ -9232,6 +9386,19 @@ "node": ">=8.0.0" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -9252,14 +9419,15 @@ } }, "node_modules/gh-pages": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz", - "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", + "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", "dependencies": { - "async": "^2.6.1", + "async": "^3.2.4", "commander": "^2.18.0", - "email-addresses": "^3.0.1", - "filenamify-url": "^1.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", "fs-extra": "^8.1.0", "globby": "^6.1.0" }, @@ -9268,7 +9436,61 @@ "gh-pages-clean": "bin/gh-pages-clean.js" }, "engines": { - "node": ">=6" + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/gh-pages/node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/gh-pages/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gh-pages/node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gh-pages/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" } }, "node_modules/glob": { @@ -9345,6 +9567,18 @@ "node": ">=0.10.0" } }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", @@ -9410,12 +9644,42 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/has-value": { @@ -9516,6 +9780,17 @@ "minimalistic-assert": "^1.0.1" } }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -9688,9 +9963,9 @@ } }, "node_modules/html-webpack-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -9737,24 +10012,35 @@ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" }, "node_modules/http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/http-errors/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "node_modules/http-errors/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/http-proxy": { "version": "1.18.1", @@ -9934,18 +10220,6 @@ "node": ">=8.12.0" } }, - "node_modules/humanize-url": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", - "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", - "dependencies": { - "normalize-url": "^1.0.0", - "strip-url-auth": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/husky": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz", @@ -9988,19 +10262,6 @@ "node": ">=4" } }, - "node_modules/husky/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/husky/node_modules/get-stdin": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", @@ -10023,30 +10284,6 @@ "node": ">=4" } }, - "node_modules/husky/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/husky/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/husky/node_modules/parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -10060,15 +10297,6 @@ "node": ">=4" } }, - "node_modules/husky/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/husky/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -10242,48 +10470,6 @@ "node": ">=8" } }, - "node_modules/import-local/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/import-local/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/import-local/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -10495,11 +10681,15 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "node_modules/is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "license": "MIT", "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-ci": { @@ -10815,6 +11005,21 @@ "node": ">= 0.4" } }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "license": "MIT", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -10890,9 +11095,9 @@ } }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -10930,9 +11135,9 @@ } }, "node_modules/istanbul-lib-report/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -11491,18 +11696,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/jest-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-config/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -11537,28 +11730,6 @@ "node": ">= 10.14.2" } }, - "node_modules/jest-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-config/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -11573,14 +11744,6 @@ "node": ">=8" } }, - "node_modules/jest-config/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-config/node_modules/pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -12924,18 +13087,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/jest-resolve/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-resolve/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -12944,28 +13095,6 @@ "node": ">=8" } }, - "node_modules/jest-resolve/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-resolve/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -12980,14 +13109,6 @@ "node": ">=8" } }, - "node_modules/jest-resolve/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-resolve/node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -13134,18 +13255,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/jest-runner/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runner/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -13172,28 +13281,6 @@ "node": ">= 10.14.2" } }, - "node_modules/jest-runner/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runner/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -13208,14 +13295,6 @@ "node": ">=8" } }, - "node_modules/jest-runner/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runner/node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -13403,18 +13482,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "node_modules/jest-runtime/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runtime/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -13449,28 +13516,6 @@ "node": ">= 10.14.2" } }, - "node_modules/jest-runtime/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runtime/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -13485,14 +13530,6 @@ "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-runtime/node_modules/read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -13741,18 +13778,6 @@ "node": ">= 10.14.2" } }, - "node_modules/jest-snapshot/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-snapshot/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -13815,17 +13840,6 @@ "node": ">= 10.14.2" } }, - "node_modules/jest-snapshot/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-snapshot/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -13837,17 +13851,6 @@ "node": ">=10" } }, - "node_modules/jest-snapshot/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-snapshot/node_modules/parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -13862,14 +13865,6 @@ "node": ">=8" } }, - "node_modules/jest-snapshot/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/jest-snapshot/node_modules/pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -13925,9 +13920,9 @@ } }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "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" }, @@ -14535,18 +14530,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "node_modules/jest/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -14589,36 +14572,6 @@ "node": ">= 10.14.2" } }, - "node_modules/jest/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/jest/node_modules/string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -14810,12 +14763,9 @@ "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" }, "node_modules/json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "dependencies": { - "minimist": "^1.2.5" - }, + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": { "json5": "lib/cli.js" }, @@ -15106,6 +15056,15 @@ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -15132,7 +15091,7 @@ "node_modules/media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { "node": ">= 0.6" } @@ -15147,9 +15106,12 @@ } }, "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/merge-stream": { "version": "2.0.0", @@ -15218,19 +15180,19 @@ } }, "node_modules/mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { - "mime-db": "1.45.0" + "mime-db": "1.52.0" }, "engines": { "node": ">= 0.6" @@ -15267,9 +15229,9 @@ } }, "node_modules/mini-css-extract-plugin/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -15520,9 +15482,15 @@ "optional": true }, "node_modules/nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -15582,9 +15550,9 @@ } }, "node_modules/negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "engines": { "node": ">= 0.6" } @@ -15701,9 +15669,9 @@ } }, "node_modules/node-notifier/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "optional": true, "dependencies": { "lru-cache": "^6.0.0" @@ -15858,9 +15826,15 @@ } }, "node_modules/object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/object-is": { "version": "1.1.4", @@ -15979,9 +15953,9 @@ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dependencies": { "ee-first": "1.1.1" }, @@ -16291,6 +16265,14 @@ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -16318,30 +16300,88 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" }, "node_modules/pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz", + "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==", + "license": "MIT", "dependencies": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "~1.1.3", + "create-hmac": "^1.1.7", + "ripemd160": "=2.0.1", + "safe-buffer": "^5.2.1", + "sha.js": "^2.4.11", + "to-buffer": "^1.2.0" }, "engines": { "node": ">=0.12" } }, + "node_modules/pbkdf2/node_modules/create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" + } + }, + "node_modules/pbkdf2/node_modules/hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1" + } + }, + "node_modules/pbkdf2/node_modules/ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==", + "license": "MIT", + "dependencies": { + "hash-base": "^2.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/pbkdf2/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "node_modules/picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", @@ -16486,17 +16526,29 @@ "node": ">=0.10.0" } }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "dependencies": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "picocolors": "^0.2.1", + "source-map": "^0.6.1" }, "engines": { "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" } }, "node_modules/postcss-attribute-case-insensitive": { @@ -16947,9 +16999,9 @@ } }, "node_modules/postcss-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -17558,14 +17610,33 @@ "node": ">=10.0" } }, + "node_modules/postcss-safe-parser/node_modules/picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, "node_modules/postcss-safe-parser/node_modules/postcss": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz", - "integrity": "sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "colorette": "^1.2.1", - "nanoid": "^3.1.20", - "source-map": "^0.6.1" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" @@ -17653,17 +17724,6 @@ "node": ">=6.14.4" } }, - "node_modules/postcss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/prelude-ls": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", @@ -17789,19 +17849,6 @@ "node": "^8.12.0 || >=9.7.0" } }, - "node_modules/pretty-quick/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/pretty-quick/node_modules/get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -17823,18 +17870,6 @@ "node": ">=8" } }, - "node_modules/pretty-quick/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/pretty-quick/node_modules/npm-run-path": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", @@ -17856,27 +17891,6 @@ "node": ">=8" } }, - "node_modules/pretty-quick/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pretty-quick/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/pretty-quick/node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -17969,13 +17983,13 @@ } }, "node_modules/prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "react-is": "^16.13.1" } }, "node_modules/prop-types-exact": { @@ -17989,11 +18003,11 @@ } }, "node_modules/proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dependencies": { - "forwarded": "~0.1.2", + "forwarded": "0.2.0", "ipaddr.js": "1.9.1" }, "engines": { @@ -18073,6 +18087,20 @@ "teleport": ">=0.2.0" } }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", @@ -18162,12 +18190,12 @@ } }, "node_modules/raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, @@ -18176,9 +18204,9 @@ } }, "node_modules/raw-body/node_modules/bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "engines": { "node": ">= 0.8" } @@ -18308,18 +18336,6 @@ "node": ">=8" } }, - "node_modules/react-dev-utils/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/react-dev-utils/node_modules/globby": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", @@ -18341,36 +18357,6 @@ "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==" }, - "node_modules/react-dev-utils/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/react-dev-utils/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/react-dev-utils/node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -18439,10 +18425,10 @@ "scheduler": "^0.19.1" } }, - "node_modules/react-ga": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-2.7.0.tgz", - "integrity": "sha512-AjC7UOZMvygrWTc2hKxTDvlMXEtbmA0IgJjmkhgmQQ3RkXrWR11xEagLGFGaNyaPnmg24oaIiaNPnEoftUhfXA==" + "node_modules/react-ga4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz", + "integrity": "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==" }, "node_modules/react-icons": { "version": "3.11.0", @@ -18485,6 +18471,18 @@ "xtend": "^4.0.1" } }, + "node_modules/react-minimal-pie-chart": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/react-minimal-pie-chart/-/react-minimal-pie-chart-8.4.0.tgz", + "integrity": "sha512-A0wG+6mRjboyMxMDrzQNWp+2+GSn2ai4ERzRFHLp/OCC45PwIR1DpDVjwedawO+5AtFpzBRQKSFm3ZUxrqIEzA==", + "dependencies": { + "@types/svg-path-parser": "^1.1.3" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18", + "react-dom": "^16.8.0 || ^17.0.0 || ^18" + } + }, "node_modules/react-popper": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz", @@ -18578,6 +18576,14 @@ }, "optionalDependencies": { "fsevents": "^2.1.3" + }, + "peerDependencies": { + "typescript": "^3.2.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/react-scripts/node_modules/camelcase": { @@ -19135,9 +19141,9 @@ } }, "node_modules/resolve-url-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -19586,9 +19592,9 @@ } }, "node_modules/sass-loader/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -19610,9 +19616,9 @@ } }, "node_modules/sass-loader/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -19669,9 +19675,9 @@ } }, "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "bin": { "semver": "bin/semver" } @@ -19683,23 +19689,23 @@ "dev": true }, "node_modules/send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "engines": { "node": ">= 0.8.0" @@ -19716,12 +19722,36 @@ "node_modules/send/node_modules/debug/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/send/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } }, "node_modules/serialize-javascript": { "version": "5.0.1", @@ -19786,14 +19816,14 @@ "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" }, "node_modules/serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.19.0" }, "engines": { "node": ">= 0.8.0" @@ -19804,6 +19834,22 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -19835,9 +19881,9 @@ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "node_modules/setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/sha.js": { "version": "2.4.11", @@ -19893,13 +19939,20 @@ "optional": true }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/signal-exit": { @@ -20190,9 +20243,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } @@ -20619,14 +20672,6 @@ "node": ">=0.10.0" } }, - "node_modules/strip-url-auth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", - "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/style-loader": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", @@ -20882,19 +20927,27 @@ } }, "node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" } }, "node_modules/tar/node_modules/mkdirp": { @@ -21008,29 +21061,6 @@ "node": ">=8" } }, - "node_modules/terser-webpack-plugin/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/terser-webpack-plugin/node_modules/make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -21053,36 +21083,6 @@ "node": ">=10" } }, - "node_modules/terser-webpack-plugin/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/terser-webpack-plugin/node_modules/p-locate/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser-webpack-plugin/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "engines": { - "node": ">=8" - } - }, "node_modules/terser-webpack-plugin/node_modules/pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -21108,9 +21108,9 @@ } }, "node_modules/terser-webpack-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -21195,6 +21195,46 @@ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" }, + "node_modules/to-buffer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", + "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", + "license": "MIT", + "dependencies": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/to-buffer/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "license": "MIT" + }, + "node_modules/to-buffer/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -21251,26 +21291,35 @@ } }, "node_modules/toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } }, "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "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", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" }, "engines": { "node": ">=6" } }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, "node_modules/tr46": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", @@ -21290,7 +21339,7 @@ "node_modules/trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", "dependencies": { "escape-string-regexp": "^1.0.2" }, @@ -21333,9 +21382,9 @@ } }, "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -21416,6 +21465,20 @@ "node": ">= 0.6" } }, + "node_modules/typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/typed-styles": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", @@ -21593,7 +21656,7 @@ "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", "engines": { "node": ">= 0.8" } @@ -22564,9 +22627,9 @@ } }, "node_modules/webpack-dev-server/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": { "semver": "bin/semver.js" } @@ -22795,9 +22858,9 @@ } }, "node_modules/webpack/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "dependencies": { "minimist": "^1.2.0" }, @@ -22980,10 +23043,31 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "license": "MIT", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "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==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "engines": { "node": ">=0.10.0" } @@ -23395,11 +23479,12 @@ }, "dependencies": { "@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "requires": { - "@babel/highlight": "^7.10.4" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" } }, "@babel/compat-data": { @@ -23438,20 +23523,14 @@ } }, "@babel/generator": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", - "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "requires": { - "@babel/types": "^7.12.11", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" } }, "@babel/helper-annotate-as-pure": { @@ -23513,6 +23592,11 @@ "lodash": "^4.17.19" } }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==" + }, "@babel/helper-explode-assignable-expression": { "version": "7.12.1", "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", @@ -23522,29 +23606,20 @@ } }, "@babel/helper-function-name": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", - "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "requires": { - "@babel/helper-get-function-arity": "^7.12.10", - "@babel/template": "^7.12.7", - "@babel/types": "^7.12.11" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.12.10", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", - "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", - "requires": { - "@babel/types": "^7.12.10" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "requires": { - "@babel/types": "^7.10.4" + "@babel/types": "^7.22.5" } }, "@babel/helper-member-expression-to-functions": { @@ -23630,17 +23705,22 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", - "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "requires": { - "@babel/types": "^7.12.11" + "@babel/types": "^7.22.5" } }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" + }, "@babel/helper-validator-identifier": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", - "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==" + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==" }, "@babel/helper-validator-option": { "version": "7.12.11", @@ -23669,19 +23749,19 @@ } }, "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", - "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==" + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==" }, "@babel/plugin-proposal-async-generator-functions": { "version": "7.12.12", @@ -24453,38 +24533,39 @@ } }, "@babel/template": { - "version": "7.12.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", - "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.12.7", - "@babel/types": "^7.12.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", - "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", - "requires": { - "@babel/code-frame": "^7.12.11", - "@babel/generator": "^7.12.11", - "@babel/helper-function-name": "^7.12.11", - "@babel/helper-split-export-declaration": "^7.12.11", - "@babel/parser": "^7.12.11", - "@babel/types": "^7.12.12", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" + "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.12.12", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", - "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "requires": { - "@babel/helper-validator-identifier": "^7.12.11", - "lodash": "^4.17.19", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -24595,36 +24676,6 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "resolve-from": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", @@ -24821,15 +24872,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -24850,22 +24892,6 @@ "slash": "^3.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -24877,11 +24903,6 @@ "lines-and-columns": "^1.1.6" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -25279,15 +25300,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -25308,22 +25320,6 @@ "slash": "^3.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -25335,11 +25331,6 @@ "lines-and-columns": "^1.1.6" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -25624,12 +25615,12 @@ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==" }, "@jridgewell/trace-mapping": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz", - "integrity": "sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ==", + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "@nodelib/fs.scandir": { @@ -26185,6 +26176,11 @@ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.0.tgz", "integrity": "sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw==" }, + "@types/svg-path-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@types/svg-path-parser/-/svg-path-parser-1.1.3.tgz", + "integrity": "sha512-F1Y6lQIto5b2sKCseVUsFfY5J+8PIhhX4jrDVxpth4m7hwM2OdySh3iTLeR35lEhl/K4ZMEF+GDAwTl7yJcO5Q==" + }, "@types/tapable": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", @@ -26363,9 +26359,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -26452,9 +26448,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -26643,12 +26639,12 @@ "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==" }, "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" } }, "acorn": { @@ -27047,6 +27043,14 @@ "postcss-value-parser": "^4.1.0" } }, + "available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "requires": { + "possible-typed-array-names": "^1.0.0" + } + }, "axe-core": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.1.1.tgz", @@ -27186,9 +27190,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } @@ -27603,31 +27607,33 @@ "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", + "bytes": "3.1.2", + "content-type": "~1.0.5", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" }, "debug": { "version": "2.6.9", @@ -27637,15 +27643,15 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, @@ -27673,9 +27679,9 @@ "integrity": "sha512-Io55IuQY3kydzHtbGvQya3H+KorS/M9rSNyfCGCg9WZ4pyT/lCxIlpJgG1GXW/PswzC84Tr2fBYi+7+jFVQQBw==" }, "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -27743,25 +27749,25 @@ } }, "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.2.tgz", + "integrity": "sha512-1rudGyeYY42Dk6texmv7c4VcQ0EsvVbLwZkA+AQB7SxvXxmcD93jcHie8bzecJ+ChDlmAm2Qyu0+Ccg5uhZXCg==", "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", + "elliptic": "^6.5.4", "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "parse-asn1": "^5.1.6", + "readable-stream": "^3.6.2", + "safe-buffer": "^5.2.1" }, "dependencies": { "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -27907,12 +27913,32 @@ } }, "call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "requires": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + } + }, + "call-bind-apply-helpers": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + } + }, + "call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "requires": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" } }, "caller-callsite": { @@ -28365,17 +28391,24 @@ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=" }, "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "requires": { - "safe-buffer": "5.1.2" + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } } }, "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" }, "convert-source-map": { "version": "1.7.0", @@ -28386,9 +28419,9 @@ } }, "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==" }, "cookie-signature": { "version": "1.0.6", @@ -28639,9 +28672,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -28906,9 +28939,9 @@ "integrity": "sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw==" }, "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" }, "dedent": { "version": "0.7.0", @@ -28947,6 +28980,16 @@ "ip-regex": "^2.1.0" } }, + "define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + } + }, "define-properties": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", @@ -29038,9 +29081,9 @@ } }, "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, "detect-newline": { "version": "3.1.0", @@ -29256,6 +29299,16 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" }, + "dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "requires": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + } + }, "duplexer": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", @@ -29275,7 +29328,7 @@ "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" }, "ejs": { "version": "2.7.4", @@ -29288,9 +29341,9 @@ "integrity": "sha512-cev+jOrz/Zm1i+Yh334Hed6lQVOkkemk2wRozfMF4MtTR7pxf3r3L5Rbd7uX1zMcEqVJ7alJBnJL7+JffkC6FQ==" }, "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.6.1.tgz", + "integrity": "sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==", "requires": { "bn.js": "^4.11.9", "brorand": "^1.1.0", @@ -29309,9 +29362,9 @@ } }, "email-addresses": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz", - "integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==" + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==" }, "emittery": { "version": "0.7.2", @@ -29329,9 +29382,9 @@ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" }, "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" }, "end-of-stream": { "version": "1.4.4", @@ -29488,6 +29541,24 @@ "string.prototype.trimstart": "^1.0.3" } }, + "es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, + "es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "requires": { + "es-errors": "^1.3.0" + } + }, "es-to-primitive": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", @@ -29717,9 +29788,9 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -30185,9 +30256,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -30317,7 +30388,7 @@ "etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" }, "eventemitter3": { "version": "4.0.7", @@ -30569,37 +30640,38 @@ } }, "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", "requires": { - "accepts": "~1.3.7", + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.7.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", + "depd": "2.0.0", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.3.1", "fresh": "0.5.2", - "merge-descriptors": "1.0.1", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" @@ -30618,15 +30690,25 @@ "ms": "2.0.0" } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" } } }, @@ -30827,29 +30909,20 @@ "optional": true }, "filename-reserved-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz", - "integrity": "sha1-5hz4BfDeHJhFZ9A4bcXfUO5a9+Q=" + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==" }, "filenamify": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-1.2.1.tgz", - "integrity": "sha1-qfL/0RxQO+0wABUCknI3jx8TZaU=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", "requires": { - "filename-reserved-regex": "^1.0.0", - "strip-outer": "^1.0.0", + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", "trim-repeated": "^1.0.0" } }, - "filenamify-url": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/filenamify-url/-/filenamify-url-1.0.0.tgz", - "integrity": "sha1-syvYExnvWGO3MHi+1Q9GpPeXX1A=", - "requires": { - "filenamify": "^1.0.0", - "humanize-url": "^1.0.0" - } - }, "filesize": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", @@ -30864,16 +30937,16 @@ } }, "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", "requires": { "debug": "2.6.9", - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", - "statuses": "~1.5.0", + "statuses": "2.0.1", "unpipe": "~1.0.0" }, "dependencies": { @@ -30888,7 +30961,12 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" } } }, @@ -30902,6 +30980,33 @@ "pkg-dir": "^3.0.0" } }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "dependencies": { + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, "flat-cache": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", @@ -30941,9 +31046,17 @@ } }, "follow-redirects": { - "version": "1.14.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", - "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==" + "version": "1.15.6", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", + "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==" + }, + "for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "requires": { + "is-callable": "^1.2.7" + } }, "for-in": { "version": "1.0.2", @@ -31072,9 +31185,9 @@ } }, "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" }, "fragment-cache": { "version": "0.2.1", @@ -31087,7 +31200,7 @@ "fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, "from2": { "version": "2.3.0", @@ -31138,9 +31251,9 @@ "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==" }, "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" }, "function.prototype.name": { "version": "1.1.3", @@ -31174,13 +31287,20 @@ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, "get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" } }, "get-own-enumerable-property-symbols": { @@ -31193,6 +31313,15 @@ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" }, + "get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "requires": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + } + }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -31207,16 +31336,55 @@ "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "gh-pages": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-2.2.0.tgz", - "integrity": "sha512-c+yPkNOPMFGNisYg9r4qvsMIjVYikJv7ImFOhPIVPt0+AcRUamZ7zkGRLHz7FKB0xrlZ+ddSOJsZv9XAFVXLmA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", + "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", "requires": { - "async": "^2.6.1", + "async": "^3.2.4", "commander": "^2.18.0", - "email-addresses": "^3.0.1", - "filenamify-url": "^1.0.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", "fs-extra": "^8.1.0", "globby": "^6.1.0" + }, + "dependencies": { + "async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "requires": { + "semver": "^6.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "requires": { + "find-up": "^4.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } } }, "glob": { @@ -31275,6 +31443,11 @@ "pinkie-promise": "^2.0.0" } }, + "gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" + }, "graceful-fs": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", @@ -31330,10 +31503,26 @@ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, + "has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "requires": { + "es-define-property": "^1.0.0" + } + }, "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" + }, + "has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "requires": { + "has-symbols": "^1.0.3" + } }, "has-value": { "version": "1.0.0", @@ -31418,6 +31607,14 @@ "minimalistic-assert": "^1.0.1" } }, + "hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "requires": { + "function-bind": "^1.1.2" + } + }, "he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -31570,9 +31767,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } @@ -31615,21 +31812,26 @@ "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" }, "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" } } }, @@ -31780,15 +31982,6 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==" }, - "humanize-url": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/humanize-url/-/humanize-url-1.0.1.tgz", - "integrity": "sha1-9KuZ4NKIF0yk4eUEB8VfuuRk7/8=", - "requires": { - "normalize-url": "^1.0.0", - "strip-url-auth": "^1.0.0" - } - }, "husky": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/husky/-/husky-3.1.0.tgz", @@ -31820,16 +32013,6 @@ "parse-json": "^4.0.0" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "get-stdin": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz", @@ -31846,24 +32029,6 @@ "resolve-from": "^3.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, "parse-json": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", @@ -31874,12 +32039,6 @@ "json-parse-better-errors": "^1.0.1" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -32014,36 +32173,6 @@ "resolve-cwd": "^3.0.0" }, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -32219,9 +32348,9 @@ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" }, "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==" }, "is-ci": { "version": "2.0.0", @@ -32453,6 +32582,14 @@ "has-symbols": "^1.0.1" } }, + "is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "requires": { + "which-typed-array": "^1.1.16" + } + }, "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -32513,9 +32650,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" } } }, @@ -32543,9 +32680,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "supports-color": { "version": "7.2.0", @@ -32669,15 +32806,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -32708,27 +32836,6 @@ "yargs": "^15.4.1" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "string-width": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", @@ -33192,15 +33299,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -33226,22 +33324,6 @@ "slash": "^3.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -33253,11 +33335,6 @@ "lines-and-columns": "^1.1.6" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -34259,36 +34336,11 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -34300,11 +34352,6 @@ "lines-and-columns": "^1.1.6" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -34511,15 +34558,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -34540,22 +34578,6 @@ "slash": "^3.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -34567,11 +34589,6 @@ "lines-and-columns": "^1.1.6" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -34727,15 +34744,6 @@ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -34761,22 +34769,6 @@ "slash": "^3.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -34788,11 +34780,6 @@ "lines-and-columns": "^1.1.6" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "read-pkg": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", @@ -34991,15 +34978,6 @@ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", "integrity": "sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -35047,14 +35025,6 @@ "slash": "^3.0.0" } }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -35063,14 +35033,6 @@ "yallist": "^4.0.0" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, "parse-json": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", @@ -35082,11 +35044,6 @@ "lines-and-columns": "^1.1.6" } }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "pretty-format": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-26.6.2.tgz", @@ -35132,9 +35089,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "requires": { "lru-cache": "^6.0.0" } @@ -35622,12 +35579,9 @@ "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" }, "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "requires": { - "minimist": "^1.2.5" - } + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" }, "jsonfile": { "version": "4.0.0", @@ -35873,6 +35827,11 @@ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==" }, + "math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", @@ -35899,7 +35858,7 @@ "media-typer": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" }, "memory-fs": { "version": "0.4.1", @@ -35911,9 +35870,9 @@ } }, "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" }, "merge-stream": { "version": "2.0.0", @@ -35966,16 +35925,16 @@ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" }, "mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { - "version": "2.1.28", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", - "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "requires": { - "mime-db": "1.45.0" + "mime-db": "1.52.0" } }, "mimic-fn": { @@ -36000,9 +35959,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } @@ -36208,9 +36167,9 @@ "optional": true }, "nanoid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz", - "integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==" + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==" }, "nanomatch": { "version": "1.2.13", @@ -36255,9 +36214,9 @@ } }, "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" }, "neo-async": { "version": "2.6.2", @@ -36366,9 +36325,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "optional": true, "requires": { "lru-cache": "^6.0.0" @@ -36488,9 +36447,9 @@ } }, "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==" }, "object-is": { "version": "1.1.4", @@ -36582,9 +36541,9 @@ "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "requires": { "ee-first": "1.1.1" } @@ -36843,6 +36802,11 @@ "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -36864,20 +36828,56 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" }, "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz", + "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==", "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "create-hash": "~1.1.3", + "create-hmac": "^1.1.7", + "ripemd160": "=2.0.1", + "safe-buffer": "^5.2.1", + "sha.js": "^2.4.11", + "to-buffer": "^1.2.0" + }, + "dependencies": { + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" + } + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==", + "requires": { + "inherits": "^2.0.1" + } + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==", + "requires": { + "hash-base": "^2.0.0", + "inherits": "^2.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } } }, "performance-now": { @@ -36885,6 +36885,11 @@ "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, "picomatch": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", @@ -36999,24 +37004,18 @@ "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, + "possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==" + }, "postcss": { - "version": "7.0.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, - "dependencies": { - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": { - "has-flag": "^3.0.0" - } - } + "picocolors": "^0.2.1", + "source-map": "^0.6.1" } }, "postcss-attribute-case-insensitive": { @@ -37372,9 +37371,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } @@ -37902,14 +37901,19 @@ "postcss": "^8.1.0" }, "dependencies": { + "picocolors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + }, "postcss": { - "version": "8.2.4", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.4.tgz", - "integrity": "sha512-kRFftRoExRVXZlwUuay9iC824qmXPcQQVzAjbCCgjpXnkdMCJYBu2gTwAaFBzv8ewND6O8xFb3aELmEkh9zTzg==", + "version": "8.4.41", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", + "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", "requires": { - "colorette": "^1.2.1", - "nanoid": "^3.1.20", - "source-map": "^0.6.1" + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" } } } @@ -38078,16 +38082,6 @@ "strip-final-newline": "^2.0.0" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "get-stream": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", @@ -38103,15 +38097,6 @@ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", "dev": true }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, "npm-run-path": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-3.1.0.tgz", @@ -38127,21 +38112,6 @@ "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", "dev": true }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -38212,13 +38182,13 @@ } }, "prop-types": { - "version": "15.7.2", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", - "react-is": "^16.8.1" + "react-is": "^16.13.1" } }, "prop-types-exact": { @@ -38232,11 +38202,11 @@ } }, "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "requires": { - "forwarded": "~0.1.2", + "forwarded": "0.2.0", "ipaddr.js": "1.9.1" } }, @@ -38310,6 +38280,14 @@ "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" }, + "qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "requires": { + "side-channel": "^1.0.6" + } + }, "query-string": { "version": "4.3.4", "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", @@ -38384,20 +38362,20 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, "dependencies": { "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" } } }, @@ -38499,15 +38477,6 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==" }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, "globby": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", @@ -38526,27 +38495,6 @@ "resolved": "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz", "integrity": "sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==" }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -38599,10 +38547,10 @@ "scheduler": "^0.19.1" } }, - "react-ga": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/react-ga/-/react-ga-2.7.0.tgz", - "integrity": "sha512-AjC7UOZMvygrWTc2hKxTDvlMXEtbmA0IgJjmkhgmQQ3RkXrWR11xEagLGFGaNyaPnmg24oaIiaNPnEoftUhfXA==" + "react-ga4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/react-ga4/-/react-ga4-2.1.0.tgz", + "integrity": "sha512-ZKS7PGNFqqMd3PJ6+C2Jtz/o1iU9ggiy8Y8nUeksgVuvNISbmrQtJiZNvC/TjDsqD0QlU5Wkgs7i+w9+OjHhhQ==" }, "react-icons": { "version": "3.11.0", @@ -38644,6 +38592,14 @@ "xtend": "^4.0.1" } }, + "react-minimal-pie-chart": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/react-minimal-pie-chart/-/react-minimal-pie-chart-8.4.0.tgz", + "integrity": "sha512-A0wG+6mRjboyMxMDrzQNWp+2+GSn2ai4ERzRFHLp/OCC45PwIR1DpDVjwedawO+5AtFpzBRQKSFm3ZUxrqIEzA==", + "requires": { + "@types/svg-path-parser": "^1.1.3" + } + }, "react-popper": { "version": "1.3.7", "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-1.3.7.tgz", @@ -39204,9 +39160,9 @@ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } @@ -39586,9 +39542,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } @@ -39604,9 +39560,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" } } }, @@ -39656,9 +39612,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==" }, "semver-compare": { "version": "1.0.0", @@ -39667,23 +39623,23 @@ "dev": true }, "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "version": "0.19.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", + "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", "requires": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "statuses": "2.0.1" }, "dependencies": { "debug": { @@ -39697,14 +39653,29 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" } } }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" + }, "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" } } }, @@ -39767,14 +39738,14 @@ } }, "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "version": "1.16.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", + "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", "requires": { - "encodeurl": "~1.0.2", + "encodeurl": "~2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.19.0" } }, "set-blocking": { @@ -39782,6 +39753,19 @@ "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" }, + "set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "requires": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + } + }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -39809,9 +39793,9 @@ "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" }, "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "sha.js": { "version": "2.4.11", @@ -39855,13 +39839,14 @@ "optional": true }, "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" } }, "signal-exit": { @@ -40107,9 +40092,9 @@ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==" }, "source-map-resolve": { "version": "0.5.3", @@ -40473,11 +40458,6 @@ "escape-string-regexp": "^1.0.2" } }, - "strip-url-auth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-url-auth/-/strip-url-auth-1.0.1.tgz", - "integrity": "sha1-IrD6OkE4WzO+PzMVUbu4N/oM164=" - }, "style-loader": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", @@ -40695,18 +40675,23 @@ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, "tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "requires": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", + "minipass": "^5.0.0", "minizlib": "^2.1.1", "mkdirp": "^1.0.3", "yallist": "^4.0.0" }, "dependencies": { + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==" + }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", @@ -40786,23 +40771,6 @@ "pkg-dir": "^4.1.0" } }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, "make-dir": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", @@ -40819,29 +40787,6 @@ "yocto-queue": "^0.1.0" } }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - }, - "dependencies": { - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } - } - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" - }, "pkg-dir": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", @@ -40861,9 +40806,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "terser": { "version": "5.14.2", @@ -40935,6 +40880,28 @@ "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" }, + "to-buffer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.1.tgz", + "integrity": "sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==", + "requires": { + "isarray": "^2.0.5", + "safe-buffer": "^5.2.1", + "typed-array-buffer": "^1.0.3" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + } + }, "to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -40978,18 +40945,26 @@ } }, "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "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==", "requires": { "psl": "^1.1.33", "punycode": "^2.1.1", - "universalify": "^0.1.2" + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "dependencies": { + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==" + } } }, "tr46": { @@ -41008,7 +40983,7 @@ "trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", "requires": { "escape-string-regexp": "^1.0.2" } @@ -41045,9 +41020,9 @@ }, "dependencies": { "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } @@ -41109,6 +41084,16 @@ "mime-types": "~2.1.24" } }, + "typed-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", + "requires": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.14" + } + }, "typed-styles": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/typed-styles/-/typed-styles-0.0.7.tgz", @@ -41267,7 +41252,7 @@ "unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" }, "unquote": { "version": "1.1.1", @@ -41932,9 +41917,9 @@ "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" }, "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", "requires": { "minimist": "^1.2.0" } @@ -42308,9 +42293,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" }, "supports-color": { "version": "6.1.0", @@ -42441,10 +42426,24 @@ "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" }, + "which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "requires": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + } + }, "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==" + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==" }, "workbox-background-sync": { "version": "5.1.4", diff --git a/package.json b/package.json index fc71c24d..0f3e6a60 100644 --- a/package.json +++ b/package.json @@ -11,13 +11,15 @@ "classnames": "^2.2.6", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.5", - "gh-pages": "^2.2.0", + "gh-pages": "^5.0.0", + "prop-types": "^15.8.1", "react": "^16.14.0", "react-dom": "^16.14.0", - "react-ga": "^2.7.0", + "react-ga4": "^2.1.0", "react-icons": "^3.11.0", "react-markdown": "^4.3.1", - "react-scripts": "4.0.0", + "react-minimal-pie-chart": "^8.4.0", + "react-scripts": "^4.0.0", "react-scroll": "^1.8.0", "react-table": "^7.6.3", "react-test-renderer": "^16.14.0", diff --git a/public/assets/icons/Apple.png b/public/assets/icons/Apple.png deleted file mode 100644 index 29fa3460..00000000 Binary files a/public/assets/icons/Apple.png and /dev/null differ diff --git a/public/assets/icons/Facebook.png b/public/assets/icons/Facebook.png deleted file mode 100644 index 669e21cb..00000000 Binary files a/public/assets/icons/Facebook.png and /dev/null differ diff --git a/public/assets/images/Educative.png b/public/assets/images/Educative.png deleted file mode 100644 index 767aec0f..00000000 Binary files a/public/assets/images/Educative.png and /dev/null differ diff --git a/public/static/icons/accenture.png b/public/static/icons/accenture.png new file mode 100644 index 00000000..e1f54338 Binary files /dev/null and b/public/static/icons/accenture.png differ diff --git a/public/static/icons/accolite.png b/public/static/icons/accolite.png new file mode 100644 index 00000000..65d146fd Binary files /dev/null and b/public/static/icons/accolite.png differ diff --git a/public/assets/icons/Adobe.png b/public/static/icons/adobe.png similarity index 100% rename from public/assets/icons/Adobe.png rename to public/static/icons/adobe.png diff --git a/public/assets/icons/Airbnb.png b/public/static/icons/airbnb.png similarity index 100% rename from public/assets/icons/Airbnb.png rename to public/static/icons/airbnb.png diff --git a/public/static/icons/airtel.png b/public/static/icons/airtel.png new file mode 100644 index 00000000..a6aed0b7 Binary files /dev/null and b/public/static/icons/airtel.png differ diff --git a/public/assets/icons/Akuna Capital.png b/public/static/icons/akuna-capital.png similarity index 100% rename from public/assets/icons/Akuna Capital.png rename to public/static/icons/akuna-capital.png diff --git a/public/static/icons/alation.png b/public/static/icons/alation.png new file mode 100644 index 00000000..8102ecd5 Binary files /dev/null and b/public/static/icons/alation.png differ diff --git a/public/static/icons/alibaba.png b/public/static/icons/alibaba.png new file mode 100644 index 00000000..29cdebfd Binary files /dev/null and b/public/static/icons/alibaba.png differ diff --git a/public/assets/icons/Amazon.png b/public/static/icons/amazon.png similarity index 100% rename from public/assets/icons/Amazon.png rename to public/static/icons/amazon.png diff --git a/public/static/icons/american-express.png b/public/static/icons/american-express.png new file mode 100644 index 00000000..207707ee Binary files /dev/null and b/public/static/icons/american-express.png differ diff --git a/public/static/icons/apple.png b/public/static/icons/apple.png new file mode 100644 index 00000000..769e63fc Binary files /dev/null and b/public/static/icons/apple.png differ diff --git a/public/static/icons/arcesium.png b/public/static/icons/arcesium.png new file mode 100644 index 00000000..a3c2dc8e Binary files /dev/null and b/public/static/icons/arcesium.png differ diff --git a/public/static/icons/arista-networks.png b/public/static/icons/arista-networks.png new file mode 100644 index 00000000..df1ac82e Binary files /dev/null and b/public/static/icons/arista-networks.png differ diff --git a/public/assets/icons/Asana.png b/public/static/icons/asana.png similarity index 100% rename from public/assets/icons/Asana.png rename to public/static/icons/asana.png diff --git a/public/assets/icons/Atlassian.png b/public/static/icons/atlassian.png similarity index 100% rename from public/assets/icons/Atlassian.png rename to public/static/icons/atlassian.png diff --git a/public/static/icons/audible.png b/public/static/icons/audible.png new file mode 100644 index 00000000..4b68b44e Binary files /dev/null and b/public/static/icons/audible.png differ diff --git a/public/assets/icons/BlackRock.png b/public/static/icons/blackrock.png similarity index 100% rename from public/assets/icons/BlackRock.png rename to public/static/icons/blackrock.png diff --git a/public/assets/icons/Bloomberg.png b/public/static/icons/bloomberg.png similarity index 100% rename from public/assets/icons/Bloomberg.png rename to public/static/icons/bloomberg.png diff --git a/public/static/icons/bolt.png b/public/static/icons/bolt.png new file mode 100644 index 00000000..59a48aec Binary files /dev/null and b/public/static/icons/bolt.png differ diff --git a/public/static/icons/bookingcom.png b/public/static/icons/bookingcom.png new file mode 100644 index 00000000..a2022c97 Binary files /dev/null and b/public/static/icons/bookingcom.png differ diff --git a/public/static/icons/bytedance.png b/public/static/icons/bytedance.png new file mode 100644 index 00000000..38d6ec37 Binary files /dev/null and b/public/static/icons/bytedance.png differ diff --git a/public/static/icons/c3-iot.png b/public/static/icons/c3-iot.png new file mode 100644 index 00000000..4c615ad6 Binary files /dev/null and b/public/static/icons/c3-iot.png differ diff --git a/public/static/icons/canonical.png b/public/static/icons/canonical.png new file mode 100644 index 00000000..42c1a628 Binary files /dev/null and b/public/static/icons/canonical.png differ diff --git a/public/static/icons/capgemini.png b/public/static/icons/capgemini.png new file mode 100644 index 00000000..3c6ed1e9 Binary files /dev/null and b/public/static/icons/capgemini.png differ diff --git a/public/assets/icons/Capital One.png b/public/static/icons/capital-one.png similarity index 100% rename from public/assets/icons/Capital One.png rename to public/static/icons/capital-one.png diff --git a/public/static/icons/cashfree.png b/public/static/icons/cashfree.png new file mode 100644 index 00000000..f1223878 Binary files /dev/null and b/public/static/icons/cashfree.png differ diff --git a/public/static/icons/cisco.png b/public/static/icons/cisco.png new file mode 100644 index 00000000..c371442c Binary files /dev/null and b/public/static/icons/cisco.png differ diff --git a/public/assets/icons/Citadel.png b/public/static/icons/citadel.png similarity index 100% rename from public/assets/icons/Citadel.png rename to public/static/icons/citadel.png diff --git a/public/static/icons/cognizant.png b/public/static/icons/cognizant.png new file mode 100644 index 00000000..74026ea4 Binary files /dev/null and b/public/static/icons/cognizant.png differ diff --git a/public/static/icons/cohesity.png b/public/static/icons/cohesity.png new file mode 100644 index 00000000..1f7f7f2f Binary files /dev/null and b/public/static/icons/cohesity.png differ diff --git a/public/static/icons/coinbase.png b/public/static/icons/coinbase.png new file mode 100644 index 00000000..ce79e124 Binary files /dev/null and b/public/static/icons/coinbase.png differ diff --git a/public/static/icons/commvault.png b/public/static/icons/commvault.png new file mode 100644 index 00000000..53f936f3 Binary files /dev/null and b/public/static/icons/commvault.png differ diff --git a/public/static/icons/coupang.png b/public/static/icons/coupang.png new file mode 100644 index 00000000..6da67ae0 Binary files /dev/null and b/public/static/icons/coupang.png differ diff --git a/public/static/icons/cruise-automation.png b/public/static/icons/cruise-automation.png new file mode 100644 index 00000000..2f2eb65e Binary files /dev/null and b/public/static/icons/cruise-automation.png differ diff --git a/public/static/icons/databricks.png b/public/static/icons/databricks.png new file mode 100644 index 00000000..3b8e6829 Binary files /dev/null and b/public/static/icons/databricks.png differ diff --git a/public/static/icons/de-shaw.png b/public/static/icons/de-shaw.png new file mode 100644 index 00000000..ff496102 Binary files /dev/null and b/public/static/icons/de-shaw.png differ diff --git a/public/static/icons/dell.png b/public/static/icons/dell.png new file mode 100644 index 00000000..b64259a9 Binary files /dev/null and b/public/static/icons/dell.png differ diff --git a/public/static/icons/deloitte.png b/public/static/icons/deloitte.png new file mode 100644 index 00000000..5b144e48 Binary files /dev/null and b/public/static/icons/deloitte.png differ diff --git a/public/static/icons/deutsche-bank.png b/public/static/icons/deutsche-bank.png new file mode 100644 index 00000000..b075efe5 Binary files /dev/null and b/public/static/icons/deutsche-bank.png differ diff --git a/public/static/icons/docusign.png b/public/static/icons/docusign.png new file mode 100644 index 00000000..0a8007d8 Binary files /dev/null and b/public/static/icons/docusign.png differ diff --git a/public/static/icons/doordash.png b/public/static/icons/doordash.png new file mode 100644 index 00000000..0c52a35d Binary files /dev/null and b/public/static/icons/doordash.png differ diff --git a/public/static/icons/dropbox.png b/public/static/icons/dropbox.png new file mode 100644 index 00000000..c646e56e Binary files /dev/null and b/public/static/icons/dropbox.png differ diff --git a/public/static/icons/dunzo.png b/public/static/icons/dunzo.png new file mode 100644 index 00000000..3f129389 Binary files /dev/null and b/public/static/icons/dunzo.png differ diff --git a/public/static/icons/duolingo.png b/public/static/icons/duolingo.png new file mode 100644 index 00000000..6f321f01 Binary files /dev/null and b/public/static/icons/duolingo.png differ diff --git a/public/static/icons/ebay.png b/public/static/icons/ebay.png new file mode 100644 index 00000000..3113e52a Binary files /dev/null and b/public/static/icons/ebay.png differ diff --git a/public/static/icons/epam-systems.png b/public/static/icons/epam-systems.png new file mode 100644 index 00000000..7112be6a Binary files /dev/null and b/public/static/icons/epam-systems.png differ diff --git a/public/static/icons/epic-systems.png b/public/static/icons/epic-systems.png new file mode 100644 index 00000000..12534911 Binary files /dev/null and b/public/static/icons/epic-systems.png differ diff --git a/public/static/icons/expedia.png b/public/static/icons/expedia.png new file mode 100644 index 00000000..f0dd98f7 Binary files /dev/null and b/public/static/icons/expedia.png differ diff --git a/public/static/icons/facebook.png b/public/static/icons/facebook.png new file mode 100644 index 00000000..87e61a00 Binary files /dev/null and b/public/static/icons/facebook.png differ diff --git a/public/static/icons/factset.png b/public/static/icons/factset.png new file mode 100644 index 00000000..d05afb75 Binary files /dev/null and b/public/static/icons/factset.png differ diff --git a/public/static/icons/flipkart.png b/public/static/icons/flipkart.png new file mode 100644 index 00000000..804d1db2 Binary files /dev/null and b/public/static/icons/flipkart.png differ diff --git a/public/static/icons/godaddy.png b/public/static/icons/godaddy.png new file mode 100644 index 00000000..cbc90157 Binary files /dev/null and b/public/static/icons/godaddy.png differ diff --git a/public/assets/icons/Goldman Sachs.png b/public/static/icons/goldman-sachs.png similarity index 100% rename from public/assets/icons/Goldman Sachs.png rename to public/static/icons/goldman-sachs.png diff --git a/public/assets/icons/Google.png b/public/static/icons/google.png similarity index 100% rename from public/assets/icons/Google.png rename to public/static/icons/google.png diff --git a/public/static/icons/grab.png b/public/static/icons/grab.png new file mode 100644 index 00000000..c8b6857e Binary files /dev/null and b/public/static/icons/grab.png differ diff --git a/public/static/icons/groupon.png b/public/static/icons/groupon.png new file mode 100644 index 00000000..769689f8 Binary files /dev/null and b/public/static/icons/groupon.png differ diff --git a/public/static/icons/hbo.png b/public/static/icons/hbo.png new file mode 100644 index 00000000..2530ca69 Binary files /dev/null and b/public/static/icons/hbo.png differ diff --git a/public/static/icons/hotstar.png b/public/static/icons/hotstar.png new file mode 100644 index 00000000..f8e7d53f Binary files /dev/null and b/public/static/icons/hotstar.png differ diff --git a/public/static/icons/hrt.png b/public/static/icons/hrt.png new file mode 100644 index 00000000..942e05c7 Binary files /dev/null and b/public/static/icons/hrt.png differ diff --git a/public/static/icons/huawei.png b/public/static/icons/huawei.png new file mode 100644 index 00000000..36cebb9e Binary files /dev/null and b/public/static/icons/huawei.png differ diff --git a/public/static/icons/hudson-river-trading.png b/public/static/icons/hudson-river-trading.png new file mode 100644 index 00000000..e7fd0efb Binary files /dev/null and b/public/static/icons/hudson-river-trading.png differ diff --git a/public/static/icons/ibm.png b/public/static/icons/ibm.png new file mode 100644 index 00000000..084baffc Binary files /dev/null and b/public/static/icons/ibm.png differ diff --git a/public/static/icons/indeed.png b/public/static/icons/indeed.png new file mode 100644 index 00000000..ce71b465 Binary files /dev/null and b/public/static/icons/indeed.png differ diff --git a/public/static/icons/info-edge.png b/public/static/icons/info-edge.png new file mode 100644 index 00000000..7296f20e Binary files /dev/null and b/public/static/icons/info-edge.png differ diff --git a/public/static/icons/infosys.png b/public/static/icons/infosys.png new file mode 100644 index 00000000..be30d099 Binary files /dev/null and b/public/static/icons/infosys.png differ diff --git a/public/static/icons/intel.png b/public/static/icons/intel.png new file mode 100644 index 00000000..e69ecde7 Binary files /dev/null and b/public/static/icons/intel.png differ diff --git a/public/assets/icons/Intuit.png b/public/static/icons/intuit.png similarity index 100% rename from public/assets/icons/Intuit.png rename to public/static/icons/intuit.png diff --git a/public/static/icons/ixl.png b/public/static/icons/ixl.png new file mode 100644 index 00000000..3462e385 Binary files /dev/null and b/public/static/icons/ixl.png differ diff --git a/public/assets/icons/JPMorgan.png b/public/static/icons/jpmorgan.png similarity index 100% rename from public/assets/icons/JPMorgan.png rename to public/static/icons/jpmorgan.png diff --git a/public/static/icons/juspay.png b/public/static/icons/juspay.png new file mode 100644 index 00000000..9c2b3aa4 Binary files /dev/null and b/public/static/icons/juspay.png differ diff --git a/public/static/icons/karat.png b/public/static/icons/karat.png new file mode 100644 index 00000000..e70eae6a Binary files /dev/null and b/public/static/icons/karat.png differ diff --git a/public/assets/icons/LinkedIn.png b/public/static/icons/linkedin.png similarity index 100% rename from public/assets/icons/LinkedIn.png rename to public/static/icons/linkedin.png diff --git a/public/static/icons/liveramp.png b/public/static/icons/liveramp.png new file mode 100644 index 00000000..644ffa05 Binary files /dev/null and b/public/static/icons/liveramp.png differ diff --git a/public/assets/icons/Lyft.png b/public/static/icons/lyft.png similarity index 100% rename from public/assets/icons/Lyft.png rename to public/static/icons/lyft.png diff --git a/public/static/icons/makemytrip.png b/public/static/icons/makemytrip.png new file mode 100644 index 00000000..b6b85226 Binary files /dev/null and b/public/static/icons/makemytrip.png differ diff --git a/public/static/icons/mathworks.png b/public/static/icons/mathworks.png new file mode 100644 index 00000000..b43b4fff Binary files /dev/null and b/public/static/icons/mathworks.png differ diff --git a/public/static/icons/medianet.png b/public/static/icons/medianet.png new file mode 100644 index 00000000..70264f7b Binary files /dev/null and b/public/static/icons/medianet.png differ diff --git a/public/static/icons/mercari.png b/public/static/icons/mercari.png new file mode 100644 index 00000000..376306fd Binary files /dev/null and b/public/static/icons/mercari.png differ diff --git a/public/assets/icons/Microsoft.png b/public/static/icons/microsoft.png similarity index 100% rename from public/assets/icons/Microsoft.png rename to public/static/icons/microsoft.png diff --git a/public/static/icons/mindtickle.png b/public/static/icons/mindtickle.png new file mode 100644 index 00000000..679ccb0e Binary files /dev/null and b/public/static/icons/mindtickle.png differ diff --git a/public/assets/icons/Morgan Stanley.png b/public/static/icons/morgan-stanley.png similarity index 100% rename from public/assets/icons/Morgan Stanley.png rename to public/static/icons/morgan-stanley.png diff --git a/public/static/icons/nagarro.png b/public/static/icons/nagarro.png new file mode 100644 index 00000000..e5597979 Binary files /dev/null and b/public/static/icons/nagarro.png differ diff --git a/public/static/icons/national-instruments.png b/public/static/icons/national-instruments.png new file mode 100644 index 00000000..56da3b0d Binary files /dev/null and b/public/static/icons/national-instruments.png differ diff --git a/public/static/icons/netflix.png b/public/static/icons/netflix.png new file mode 100644 index 00000000..83065dd5 Binary files /dev/null and b/public/static/icons/netflix.png differ diff --git a/public/static/icons/nutanix.png b/public/static/icons/nutanix.png new file mode 100644 index 00000000..f0ac67f6 Binary files /dev/null and b/public/static/icons/nutanix.png differ diff --git a/public/static/icons/nvidia.png b/public/static/icons/nvidia.png new file mode 100644 index 00000000..e2b4bb1e Binary files /dev/null and b/public/static/icons/nvidia.png differ diff --git a/public/static/icons/opendoor.png b/public/static/icons/opendoor.png new file mode 100644 index 00000000..0fae0f5d Binary files /dev/null and b/public/static/icons/opendoor.png differ diff --git a/public/static/icons/optum.png b/public/static/icons/optum.png new file mode 100644 index 00000000..57e68592 Binary files /dev/null and b/public/static/icons/optum.png differ diff --git a/public/assets/icons/Oracle.png b/public/static/icons/oracle.png similarity index 100% rename from public/assets/icons/Oracle.png rename to public/static/icons/oracle.png diff --git a/public/static/icons/palantir-technologies.png b/public/static/icons/palantir-technologies.png new file mode 100644 index 00000000..db892c40 Binary files /dev/null and b/public/static/icons/palantir-technologies.png differ diff --git a/public/assets/icons/Palantir.png b/public/static/icons/palantir.png similarity index 100% rename from public/assets/icons/Palantir.png rename to public/static/icons/palantir.png diff --git a/public/static/icons/paypal.png b/public/static/icons/paypal.png new file mode 100644 index 00000000..d85312fa Binary files /dev/null and b/public/static/icons/paypal.png differ diff --git a/public/static/icons/paytm.png b/public/static/icons/paytm.png new file mode 100644 index 00000000..c2e879c6 Binary files /dev/null and b/public/static/icons/paytm.png differ diff --git a/public/assets/icons/Pinterest.png b/public/static/icons/pinterest.png similarity index 100% rename from public/assets/icons/Pinterest.png rename to public/static/icons/pinterest.png diff --git a/public/static/icons/ponyai.png b/public/static/icons/ponyai.png new file mode 100644 index 00000000..a4cbd63a Binary files /dev/null and b/public/static/icons/ponyai.png differ diff --git a/public/static/icons/poshmark.png b/public/static/icons/poshmark.png new file mode 100644 index 00000000..703ace94 Binary files /dev/null and b/public/static/icons/poshmark.png differ diff --git a/public/static/icons/qualcomm.png b/public/static/icons/qualcomm.png new file mode 100644 index 00000000..b81ec2e4 Binary files /dev/null and b/public/static/icons/qualcomm.png differ diff --git a/public/assets/icons/Qualtrics.png b/public/static/icons/qualtrics.png similarity index 100% rename from public/assets/icons/Qualtrics.png rename to public/static/icons/qualtrics.png diff --git a/public/assets/icons/Quora.png b/public/static/icons/quora.png similarity index 100% rename from public/assets/icons/Quora.png rename to public/static/icons/quora.png diff --git a/public/static/icons/reddit.png b/public/static/icons/reddit.png new file mode 100644 index 00000000..df79a655 Binary files /dev/null and b/public/static/icons/reddit.png differ diff --git a/public/static/icons/redfin.png b/public/static/icons/redfin.png new file mode 100644 index 00000000..cc7a7c37 Binary files /dev/null and b/public/static/icons/redfin.png differ diff --git a/public/static/icons/riot-games.png b/public/static/icons/riot-games.png new file mode 100644 index 00000000..ccca4a2b Binary files /dev/null and b/public/static/icons/riot-games.png differ diff --git a/public/static/icons/robinhood.png b/public/static/icons/robinhood.png new file mode 100644 index 00000000..958f7753 Binary files /dev/null and b/public/static/icons/robinhood.png differ diff --git a/public/static/icons/roblox.png b/public/static/icons/roblox.png new file mode 100644 index 00000000..4fb27643 Binary files /dev/null and b/public/static/icons/roblox.png differ diff --git a/public/static/icons/rubrik.png b/public/static/icons/rubrik.png new file mode 100644 index 00000000..43cdc76e Binary files /dev/null and b/public/static/icons/rubrik.png differ diff --git a/public/assets/icons/Salesforce.png b/public/static/icons/salesforce.png similarity index 100% rename from public/assets/icons/Salesforce.png rename to public/static/icons/salesforce.png diff --git a/public/static/icons/samsung.png b/public/static/icons/samsung.png new file mode 100644 index 00000000..cb3eb3e0 Binary files /dev/null and b/public/static/icons/samsung.png differ diff --git a/public/static/icons/sap.png b/public/static/icons/sap.png new file mode 100644 index 00000000..854ffbde Binary files /dev/null and b/public/static/icons/sap.png differ diff --git a/public/static/icons/sapient.png b/public/static/icons/sapient.png new file mode 100644 index 00000000..8bacec77 Binary files /dev/null and b/public/static/icons/sapient.png differ diff --git a/public/static/icons/servicenow.png b/public/static/icons/servicenow.png new file mode 100644 index 00000000..9621b7f6 Binary files /dev/null and b/public/static/icons/servicenow.png differ diff --git a/public/static/icons/sharechat.png b/public/static/icons/sharechat.png new file mode 100644 index 00000000..3d291303 Binary files /dev/null and b/public/static/icons/sharechat.png differ diff --git a/public/static/icons/shopee.png b/public/static/icons/shopee.png new file mode 100644 index 00000000..7f700846 Binary files /dev/null and b/public/static/icons/shopee.png differ diff --git a/public/static/icons/siemens.png b/public/static/icons/siemens.png new file mode 100644 index 00000000..46193648 Binary files /dev/null and b/public/static/icons/siemens.png differ diff --git a/public/assets/icons/Snapchat.png b/public/static/icons/snapchat.png similarity index 100% rename from public/assets/icons/Snapchat.png rename to public/static/icons/snapchat.png diff --git a/public/static/icons/snapdeal.png b/public/static/icons/snapdeal.png new file mode 100644 index 00000000..7f581add Binary files /dev/null and b/public/static/icons/snapdeal.png differ diff --git a/public/static/icons/softwire.png b/public/static/icons/softwire.png new file mode 100644 index 00000000..5233fb92 Binary files /dev/null and b/public/static/icons/softwire.png differ diff --git a/public/static/icons/splunk.png b/public/static/icons/splunk.png new file mode 100644 index 00000000..4b203043 Binary files /dev/null and b/public/static/icons/splunk.png differ diff --git a/public/static/icons/spotify.png b/public/static/icons/spotify.png new file mode 100644 index 00000000..fe48b95b Binary files /dev/null and b/public/static/icons/spotify.png differ diff --git a/public/static/icons/sprinklr.png b/public/static/icons/sprinklr.png new file mode 100644 index 00000000..d992baa9 Binary files /dev/null and b/public/static/icons/sprinklr.png differ diff --git a/public/assets/icons/Square.png b/public/static/icons/square.png similarity index 100% rename from public/assets/icons/Square.png rename to public/static/icons/square.png diff --git a/public/static/icons/sumologic.png b/public/static/icons/sumologic.png new file mode 100644 index 00000000..eaf26433 Binary files /dev/null and b/public/static/icons/sumologic.png differ diff --git a/public/static/icons/swiggy.png b/public/static/icons/swiggy.png new file mode 100644 index 00000000..37681e8f Binary files /dev/null and b/public/static/icons/swiggy.png differ diff --git a/public/static/icons/tcs.png b/public/static/icons/tcs.png new file mode 100644 index 00000000..c8de1633 Binary files /dev/null and b/public/static/icons/tcs.png differ diff --git a/public/assets/icons/Tesla.png b/public/static/icons/tesla.png similarity index 100% rename from public/assets/icons/Tesla.png rename to public/static/icons/tesla.png diff --git a/public/static/icons/tiger-analytics.png b/public/static/icons/tiger-analytics.png new file mode 100644 index 00000000..443819d3 Binary files /dev/null and b/public/static/icons/tiger-analytics.png differ diff --git a/public/static/icons/tiktok.png b/public/static/icons/tiktok.png new file mode 100644 index 00000000..a7f62053 Binary files /dev/null and b/public/static/icons/tiktok.png differ diff --git a/public/static/icons/toptal.png b/public/static/icons/toptal.png new file mode 100644 index 00000000..c9c44c58 Binary files /dev/null and b/public/static/icons/toptal.png differ diff --git a/public/static/icons/trilogy.png b/public/static/icons/trilogy.png new file mode 100644 index 00000000..2d60f8b8 Binary files /dev/null and b/public/static/icons/trilogy.png differ diff --git a/public/static/icons/tripadvisor.png b/public/static/icons/tripadvisor.png new file mode 100644 index 00000000..65fba66c Binary files /dev/null and b/public/static/icons/tripadvisor.png differ diff --git a/public/static/icons/tusimple.png b/public/static/icons/tusimple.png new file mode 100644 index 00000000..ce2f8c9f Binary files /dev/null and b/public/static/icons/tusimple.png differ diff --git a/public/static/icons/twilio.png b/public/static/icons/twilio.png new file mode 100644 index 00000000..68a68a25 Binary files /dev/null and b/public/static/icons/twilio.png differ diff --git a/public/assets/icons/Twitch.png b/public/static/icons/twitch.png similarity index 100% rename from public/assets/icons/Twitch.png rename to public/static/icons/twitch.png diff --git a/public/assets/icons/Twitter.png b/public/static/icons/twitter.png similarity index 100% rename from public/assets/icons/Twitter.png rename to public/static/icons/twitter.png diff --git a/public/assets/icons/Two Sigma.png b/public/static/icons/two-sigma.png similarity index 100% rename from public/assets/icons/Two Sigma.png rename to public/static/icons/two-sigma.png diff --git a/public/assets/icons/Uber.png b/public/static/icons/uber.png similarity index 100% rename from public/assets/icons/Uber.png rename to public/static/icons/uber.png diff --git a/public/static/icons/virtu.png b/public/static/icons/virtu.png new file mode 100644 index 00000000..77c98426 Binary files /dev/null and b/public/static/icons/virtu.png differ diff --git a/public/static/icons/visa.png b/public/static/icons/visa.png new file mode 100644 index 00000000..d606ea15 Binary files /dev/null and b/public/static/icons/visa.png differ diff --git a/public/static/icons/vmware.png b/public/static/icons/vmware.png new file mode 100644 index 00000000..621db072 Binary files /dev/null and b/public/static/icons/vmware.png differ diff --git a/public/static/icons/walmart-labs.png b/public/static/icons/walmart-labs.png new file mode 100644 index 00000000..190dc4ce Binary files /dev/null and b/public/static/icons/walmart-labs.png differ diff --git a/public/static/icons/wayfair.png b/public/static/icons/wayfair.png new file mode 100644 index 00000000..975ae9f1 Binary files /dev/null and b/public/static/icons/wayfair.png differ diff --git a/public/static/icons/wish.png b/public/static/icons/wish.png new file mode 100644 index 00000000..be508339 Binary files /dev/null and b/public/static/icons/wish.png differ diff --git a/public/static/icons/yahoo.png b/public/static/icons/yahoo.png new file mode 100644 index 00000000..74713523 Binary files /dev/null and b/public/static/icons/yahoo.png differ diff --git a/public/static/icons/yandex.png b/public/static/icons/yandex.png new file mode 100644 index 00000000..581bf013 Binary files /dev/null and b/public/static/icons/yandex.png differ diff --git a/public/assets/icons/Yelp.png b/public/static/icons/yelp.png similarity index 100% rename from public/assets/icons/Yelp.png rename to public/static/icons/yelp.png diff --git a/public/static/icons/zenefits.png b/public/static/icons/zenefits.png new file mode 100644 index 00000000..9e708662 Binary files /dev/null and b/public/static/icons/zenefits.png differ diff --git a/public/static/icons/zillow.png b/public/static/icons/zillow.png new file mode 100644 index 00000000..8d886f33 Binary files /dev/null and b/public/static/icons/zillow.png differ diff --git a/public/static/icons/zoho.png b/public/static/icons/zoho.png new file mode 100644 index 00000000..d6ddab20 Binary files /dev/null and b/public/static/icons/zoho.png differ diff --git a/public/static/icons/zomato.png b/public/static/icons/zomato.png new file mode 100644 index 00000000..120ea94e Binary files /dev/null and b/public/static/icons/zomato.png differ diff --git a/public/static/icons/zoom.png b/public/static/icons/zoom.png new file mode 100644 index 00000000..05c529b2 Binary files /dev/null and b/public/static/icons/zoom.png differ diff --git a/public/static/icons/zscaler.png b/public/static/icons/zscaler.png new file mode 100644 index 00000000..c54c8dab Binary files /dev/null and b/public/static/icons/zscaler.png differ diff --git a/public/static/icons/zynga.png b/public/static/icons/zynga.png new file mode 100644 index 00000000..fc71667d Binary files /dev/null and b/public/static/icons/zynga.png differ diff --git a/public/assets/images/Blind.png b/public/static/images/Blind.png similarity index 100% rename from public/assets/images/Blind.png rename to public/static/images/Blind.png diff --git a/public/static/images/DesignGurus.png b/public/static/images/DesignGurus.png new file mode 100644 index 00000000..337d8dde Binary files /dev/null and b/public/static/images/DesignGurus.png differ diff --git a/public/assets/images/Hackernoon.png b/public/static/images/Hackernoon.png similarity index 100% rename from public/assets/images/Hackernoon.png rename to public/static/images/Hackernoon.png diff --git a/src/components/Acknowledgements/index.js b/src/components/Acknowledgements/index.js index c4523364..6216f1aa 100644 --- a/src/components/Acknowledgements/index.js +++ b/src/components/Acknowledgements/index.js @@ -14,9 +14,9 @@ import { Event } from '../Shared/Tracking'; import './styles.scss'; -const imagePath = `${process.env.PUBLIC_URL}/assets/images/`; +const imagePath = `${process.env.PUBLIC_URL}/static/images/`; const Blind = `${imagePath}Blind.png`; -const Educative = `${imagePath}Educative.png`; +const DesignGurus = `${imagePath}DesignGurus.png`; const Hackernoon = `${imagePath}Hackernoon.png`; const Acknowledgements = () => { @@ -49,22 +49,24 @@ const Acknowledgements = () => { - + - Grokking the Coding Interview + + Grokking the Coding Interview: Patterns for Coding Questions + { Event( 'Acknowledgements', 'Clicked URL', - 'Educative.io url', + 'DesignGurus.io url', ); }} > - https://www.educative.io/courses/grokking-the-coding-interview + https://www.designgurus.io/course/grokking-the-coding-interview diff --git a/src/components/Acknowledgements/styles.scss b/src/components/Acknowledgements/styles.scss index 92e38243..3602f44c 100644 --- a/src/components/Acknowledgements/styles.scss +++ b/src/components/Acknowledgements/styles.scss @@ -13,3 +13,13 @@ padding: 0; } } + +body.dark-mode .acknowledgements { + background-color: #161a1d; + color: #ffffff; + + .card { + background-color: #1d2125; + color: #ffffff; + } +} diff --git a/src/components/App.js b/src/components/App.js index c52b14f4..9367c785 100644 --- a/src/components/App.js +++ b/src/components/App.js @@ -5,12 +5,11 @@ import './styles.scss'; import Navigation from './Navigation'; import Tabs from './Tabs'; -import { initGA, PageView } from './Shared/Tracking'; +import { initGA } from './Shared/Tracking'; class App extends React.Component { componentDidMount() { - initGA('UA-203108441-2', { debug: false }); - PageView(); + initGA('G-J7FBQPGZTW'); } render() { diff --git a/src/components/Dark-Mode/index.js b/src/components/Dark-Mode/index.js new file mode 100644 index 00000000..44378efc --- /dev/null +++ b/src/components/Dark-Mode/index.js @@ -0,0 +1,34 @@ +import React, { useState, useEffect } from 'react'; +import Toggle from 'react-toggle'; + +const DarkMode = () => { + const [darkMode, setDarkMode] = useState(() => { + const savedMode = localStorage.getItem('darkMode'); + return savedMode ? JSON.parse(savedMode) : false; + }); + + const toggleDarkMode = () => { + setDarkMode(prevMode => { + const newMode = !prevMode; + localStorage.setItem('darkMode', newMode); + return newMode; + }); + }; + useEffect(() => { + document.body.className = darkMode ? 'dark-mode' : 'light-mode'; + }, [darkMode]); + + return ( + 🌙, + unchecked: ☀️, + }} + /> + ); +}; + +export default DarkMode; diff --git a/src/components/Navigation/index.js b/src/components/Navigation/index.js index b23fbf14..8457c683 100644 --- a/src/components/Navigation/index.js +++ b/src/components/Navigation/index.js @@ -11,10 +11,11 @@ import { FaGithub } from 'react-icons/fa'; import { Event } from '../Shared/Tracking'; import './styles.scss'; +import DarkMode from '../Dark-Mode'; const Navigation = () => { return ( - + @@ -34,6 +35,7 @@ const Navigation = () => { + ); diff --git a/src/components/Navigation/styles.scss b/src/components/Navigation/styles.scss index dce9bfad..b8749e2c 100644 --- a/src/components/Navigation/styles.scss +++ b/src/components/Navigation/styles.scss @@ -1,3 +1,31 @@ +.navbar.sticky { + position: sticky; + top: 0; + z-index: 1; +} + +body.light-mode .navbar { + background-color: #f7f8f9; + color: #000000; +} +body.light-mode .navbar a { + color: #212529; +} + +body.dark-mode .navbar { + background-color: #1d2125; + color: #ffffff; +} +body.dark-mode .navbar a { + color: #ffffff; +} +body.dark-mode .navbar-nav svg { + color: #ffffff; +} +body.dark-mode .navbar-nav svg:hover { + color: #ffc952; +} + .navbar-brand { font-weight: 600; letter-spacing: 1px; @@ -29,5 +57,6 @@ svg { font-size: 2em; + margin: 0px 10px; } } diff --git a/src/components/Shared/Tracking/index.js b/src/components/Shared/Tracking/index.js index 9d0f0f13..8ca524ec 100644 --- a/src/components/Shared/Tracking/index.js +++ b/src/components/Shared/Tracking/index.js @@ -1,11 +1,12 @@ -import ReactGA from 'react-ga'; +import ReactGA from 'react-ga4'; const initGA = (trackingID, options) => { - ReactGA.initialize(trackingID, { ...options }); -}; - -const PageView = () => { - ReactGA.pageview(window.location.pathname + window.location.search); + ReactGA.initialize([ + { + trackingId: trackingID, + gaOptions: { ...options }, + }, + ]); }; const Event = (category, action, label) => { @@ -16,4 +17,4 @@ const Event = (category, action, label) => { }); }; -export { initGA, PageView, Event }; +export { initGA, Event }; diff --git a/src/components/Table/index.js b/src/components/Table/index.js index 833c62e2..39125efa 100644 --- a/src/components/Table/index.js +++ b/src/components/Table/index.js @@ -1,10 +1,12 @@ /* eslint-disable react/jsx-props-no-spreading */ import React, { useState, useEffect } from 'react'; +import PropTypes from 'prop-types'; import { Table as ReactTable, Container, Row, Badge, + Progress, NavLink, Button, Modal, @@ -13,8 +15,14 @@ import { } from 'reactstrap'; import Toggle from 'react-toggle'; import ReactTooltip from 'react-tooltip'; +import { PieChart } from 'react-minimal-pie-chart'; import { useTable, useFilters, useSortBy } from 'react-table'; -import { FaLock, FaExternalLinkAlt, FaQuestionCircle } from 'react-icons/fa'; +import { + FaLock, + FaExternalLinkAlt, + FaRandom, + FaQuestionCircle, +} from 'react-icons/fa'; import { DefaultColumnFilter, SelectDifficultyColumnFilter, @@ -23,13 +31,13 @@ import { } from './filters'; import { Event } from '../Shared/Tracking'; -import questions from '../../data'; +import questions, { updated } from '../../data'; import 'react-toggle/style.css'; import './styles.scss'; import PatternFrequencies from '../PatternFrequencies'; -const iconPath = `${process.env.PUBLIC_URL}/assets/icons/`; +const iconPath = `${process.env.PUBLIC_URL}/static/icons/`; const Table = () => { const [resetCount, setResetCount] = useState(0); @@ -37,6 +45,10 @@ const Table = () => { JSON.parse(localStorage.getItem('checked')) || new Array(questions.length).fill(false); + let checkedAtList = + JSON.parse(localStorage.getItem('checkedAt')) || + new Array(questions.length).fill(''); + /* If the user has previously visited the website, then an array in LocalStorage would exist of a certain length which corresponds to which questions they have/have not completed. In the event that we add new questions @@ -54,6 +66,17 @@ const Table = () => { window.localStorage.setItem('checked', JSON.stringify(checkedList)); } + if (checkedAtList.length !== questions.length) { + const resizedCheckedAtList = new Array(questions.length).fill(''); + + for (let i = 0; i < checkedAtList.length; i += 1) { + resizedCheckedAtList[i] = checkedAtList[i]; + } + + checkedAtList = resizedCheckedAtList; + window.localStorage.setItem('checkedAt', JSON.stringify(checkedAtList)); + } + const filteredByCheckbox = () => { const checkbox = localStorage.getItem('checkbox') || ''; return questions.filter(question => { @@ -70,13 +93,20 @@ const Table = () => { } } - const difficultyMap = { Easy: 0, Medium: 0, Hard: 0 }; - const totalDifficultyCount = { Easy: 0, Medium: 0, Hard: 0 }; + const difficultyMap = { Easy: 0, Medium: 0, Hard: 0, Total: 0 }; + const totalDifficultyCount = { + Easy: 0, + Medium: 0, + Hard: 0, + Total: questions.length, + }; for (let i = 0; i < questions.length; i += 1) { difficultyMap[questions[i].difficulty] += checkedList[questions[i].id]; + difficultyMap.Total += checkedList[questions[i].id]; totalDifficultyCount[questions[i].difficulty] += 1; } + const [checkedAt, setCheckedAt] = useState(checkedAtList); const [data, setData] = useState(filteredByCheckbox()); const [difficultyCount, setDifficultyCount] = useState(difficultyMap); const [checked, setChecked] = useState(checkedList); @@ -88,6 +118,10 @@ const Table = () => { window.localStorage.setItem('checked', JSON.stringify(checked)); }, [checked]); + useEffect(() => { + window.localStorage.setItem('checkedAt', JSON.stringify(checkedAt)); + }, [checkedAt]); + useEffect(() => { window.localStorage.setItem('showPatterns', JSON.stringify(showPatterns)); }, [showPatterns]); @@ -104,7 +138,7 @@ const Table = () => { const resetHandler = () => { setChecked(new Array(checked.length).fill(false)); setDifficultyCount(() => { - return { Easy: 0, Medium: 0, Hard: 0 }; + return { Easy: 0, Medium: 0, Hard: 0, Total: 0 }; }); const count = resetCount + 1; setResetCount(count); @@ -120,54 +154,35 @@ const Table = () => { const [resetModal, setResetModal] = React.useState(false); const toggleResetModal = () => { setResetModal(!resetModal); + const clearedCheckedAt = checkedAt.map(() => null); + setCheckedAt(clearedCheckedAt); }; return ( - - - - Total:{' '} - {difficultyCount.Easy + - difficultyCount.Medium + - difficultyCount.Hard} - / - {totalDifficultyCount.Easy + - totalDifficultyCount.Medium + - totalDifficultyCount.Hard} - - -
- - - Easy: {difficultyCount.Easy}/{totalDifficultyCount.Easy} - - -
- - - Medium: {difficultyCount.Medium}/ - {totalDifficultyCount.Medium} - - -
- - - Hard: {difficultyCount.Hard}/{totalDifficultyCount.Hard} - - -
+ + + `${difficultyCount.Total} / + ${totalDifficultyCount.Total}` + } + labelPosition={0} + labelStyle={{ + // Needed for Dark Reader to work + fill: '#A54800', + }} + startAngle={-90} + lineWidth={12} + className="progress-pie" + background="#e9ecef" + /> + + + ); + }, accessor: 'questions', disableSortBy: true, Cell: cellInfo => { return ( { Event( 'Table', - 'Clicked question url', - `${cellInfo.row.original.name} question url`, + 'Clicked question title', + `${cellInfo.row.original.title} question title`, ); }} > @@ -255,7 +335,7 @@ const Table = () => { ) : ( '' )} - {cellInfo.row.original.name} + {cellInfo.row.original.title} ); }, @@ -266,9 +346,7 @@ const Table = () => { accessor: 'solutions', disableSortBy: true, Cell: cellInfo => { - const url = cellInfo.row.original.premium - ? `${cellInfo.row.original.url}/` - : cellInfo.row.original.url; + const url = `https://leetcode.com/problems/${cellInfo.row.original.slug}/`; return ( { Event( 'Table', 'Clicked solution', - `${cellInfo.row.original.name} solution`, + `${cellInfo.row.original.slug} solution`, ); }} > @@ -355,20 +433,28 @@ const Table = () => { }, { Header: () => { + const date = new Date(updated); + const month = date.toLocaleString('default', { + month: 'long', + }); + const day = date.getDate(); + const year = date.getFullYear(); return ( <>
Companies{' '} - +
); }, - accessor: 'companies', + accessor: 'companyNames', sortType: (a, b) => { if (a.original.companies.length === b.original.companies.length) { return 0; @@ -378,13 +464,15 @@ const Table = () => { : -1; }, Cell: cellInfo => { + const questionSlug = cellInfo.row.original.slug; const companies = cellInfo.row.original.companies.map(company => { + const tooltipText = `Asked by ${company.name} ${company.frequency} times`; return ( {company} ); }); @@ -393,6 +481,19 @@ const Table = () => { }, Filter: SelectColumnFilter, }, + { + Header: 'Last Solved On', + accessor: 'LastSolvedOn', + disableSortBy: true, + Cell: cellInfo => { + return ( +
+ {checkedAt[cellInfo.row.original.id]} +
+ ); + }, + disableFilters: true, + }, ], }, ], @@ -428,8 +529,8 @@ const Table = () => { value: localStorage.getItem('pattern') || '', }, { - id: 'companies', - value: localStorage.getItem('companies') || '', + id: 'companyNames', + value: localStorage.getItem('companyNames') || '', }, ], }, @@ -483,4 +584,35 @@ const Table = () => { ); }; +const ProgressBar = ({ name, value, total, className, barClassName }) => { + return ( +
+
+
{name}
+
+ {value}/{total} +
+
+ +
+ ); +}; + +ProgressBar.propTypes = { + name: PropTypes.string.isRequired, + value: PropTypes.number.isRequired, + total: PropTypes.number.isRequired, + className: PropTypes.string, + barClassName: PropTypes.string, +}; + +ProgressBar.defaultProps = { + className: 'progress-bar-sm', + barClassName: null, +}; + export default Table; diff --git a/src/components/Table/styles.scss b/src/components/Table/styles.scss index 5925bee2..5c566b27 100644 --- a/src/components/Table/styles.scss +++ b/src/components/Table/styles.scss @@ -1,3 +1,54 @@ +body.light-mode .table { + background-color: #ffffff; + color: #000000; +} +body.light-mode .table thead > tr th { + background-color: #ffffff; +} +body.light-mode .pattern-count { + background-color: #ffffff; + color: #000000; +} +body.light-mode .table tr:nth-child(odd) { + background-color: #f1f2f4; +} +body.light-mode .table tr:nth-child(even) { + background-color: #ffffff; +} +body.light-mode .table tbody tr:hover { + background-color: #dcdfe4; + color: #000000; +} + +body.dark-mode .table { + background-color: #161a1d; + color: #ffffff; +} +body.dark-mode .table thead > tr th { + background-color: #161a1d; +} +body.dark-mode .pattern-count { + background-color: #161a1d; + color: #ffffff; +} +body.dark-mode .table tr:nth-child(odd) { + background-color: #22272b; +} +body.dark-mode .table tr:nth-child(even) { + background-color: #161a1d; +} +body.dark-mode .table tbody tr:hover { + background-color: #101214; + color: #ffffff; +} +body.dark-mode .modal-content { + background-color: #1d2125; + color: #ffffff; + .close { + color: #ffffff; + } +} + .table { .row { justify-content: center; @@ -11,7 +62,8 @@ > tr th { background: white; position: sticky; - top: 0; + top: 50px; + text-wrap: nowrap; } } @@ -19,6 +71,23 @@ padding: 0; } + #difficultyProgress { + margin-bottom: 25px; + font-size: 11.5px; + } + + #difficultyProgress > div:nth-child(n + 2) { + margin-top: 12px; + } + + .progress-pie { + height: 75px; + } + + .progress-bar-sm { + height: 5px; + } + .easy { background-color: #5cb85c; } @@ -50,4 +119,7 @@ margin-bottom: 10px; font-size: 0.7rem; } + .lastSolvedOn { + text-wrap: nowrap; + } } diff --git a/src/components/Tips/index.js b/src/components/Tips/index.js index 81966614..9bad14ee 100644 --- a/src/components/Tips/index.js +++ b/src/components/Tips/index.js @@ -33,6 +33,7 @@ If must solve in-place then If asked for maximum/minimum subarray/subset/options then - Dynamic programming +- Sliding window If asked for top/least K items then - Heap diff --git a/src/components/Tips/styles.scss b/src/components/Tips/styles.scss index a96bf7fa..84ef3d7e 100644 --- a/src/components/Tips/styles.scss +++ b/src/components/Tips/styles.scss @@ -7,3 +7,17 @@ color: #333; background: #f8f8f8; } +body.light-mode .tips { + background-color: #f7f8f9; + color: #333; +} + +body.dark-mode .tips { + background-color: #1d2125; + color: #ffffff; +} +body.dark-mode .tips pre, +body.dark-mode .tips code { + background-color: #1d2125; + color: #ffffff; +} diff --git a/src/components/styles.scss b/src/components/styles.scss index eb814e6a..71c678b7 100644 --- a/src/components/styles.scss +++ b/src/components/styles.scss @@ -1,10 +1,33 @@ @import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700'); .App { - margin-left: calc(100vw - 100%); margin-right: 0; - font-family: 'Open Sans', sans-serif; font-size: 14px; -webkit-font-smoothing: antialiased !important; } + +body.light-mode { + background-color: #ffffff; + color: #000000; +} +body.light-mode a { + color: #0c66e4; +} + +body.dark-mode { + background-color: #161a1d; + color: #ffffff; +} +body.dark-mode a { + color: #579dff; +} + +.react-toggle-track-check, +.react-toggle-track-x { + display: inline-flex; + justify-content: center; + align-items: center; + margin: 0 !important; + height: 100% !important; +} diff --git a/src/data/index.js b/src/data/index.js index 3c44cd75..4edd0868 100644 --- a/src/data/index.js +++ b/src/data/index.js @@ -1,2263 +1,11 @@ -const questions = [ - { - id: 0, - name: 'Contains Duplicate', - url: 'https://leetcode.com/problems/contains-duplicate/', - pattern: ['Arrays'], - difficulty: 'Easy', - premium: false, - companies: [ - 'Amazon', - 'Adobe', - 'Google', - 'Bloomberg', - 'Facebook', - 'Apple', - 'Microsoft', - ], - }, - { - id: 1, - name: 'Missing Number', - url: 'https://leetcode.com/problems/missing-number/', - pattern: ['Arrays', 'Bit Manipulation'], - difficulty: 'Easy', - premium: false, - companies: ['Microsoft', 'Facebook', 'Amazon', 'Google', 'Adobe'], - }, - { - id: 2, - name: 'Find All Numbers Disappeared in an Array', - url: - 'https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/', - pattern: ['Arrays'], - difficulty: 'Easy', - premium: false, - companies: ['Facebook', 'Amazon'], - }, - { - id: 3, - name: 'Single Number', - url: 'https://leetcode.com/problems/single-number/', - pattern: ['Arrays', 'Bit Manipulation'], - difficulty: 'Easy', - premium: false, - companies: ['Amazon', 'Microsoft', 'Adobe'], - }, - { - id: 4, - name: 'Product of Array Except Self', - url: 'https://leetcode.com/problems/product-of-array-except-self/', - pattern: ['Arrays'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Asana', - 'Microsoft', - 'Apple', - 'Lyft', - 'Adobe', - 'Google', - 'Uber', - 'Goldman Sachs', - 'Oracle', - ], - }, - { - id: 5, - name: 'Find the Duplicate Number', - url: 'https://leetcode.com/problems/find-the-duplicate-number/', - pattern: ['Arrays', 'Binary Search', 'Two Pointers'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Google', - 'Microsoft', - 'Amazon', - 'Adobe', - 'Bloomberg', - 'Facebook', - 'Apple', - ], - }, - { - id: 6, - name: 'Find All Duplicates in an Array', - url: 'https://leetcode.com/problems/find-all-duplicates-in-an-array/', - pattern: ['Arrays'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Google'], - }, - { - id: 7, - name: 'Set Matrix Zeroes', - url: 'https://leetcode.com/problems/set-matrix-zeroes/', - pattern: ['Arrays'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Microsoft', - 'Amazon', - 'Apple', - 'Adobe', - 'Bloomberg', - 'Oracle', - ], - }, - { - id: 8, - name: 'Spiral Matrix', - url: 'https://leetcode.com/problems/spiral-matrix/', - pattern: ['Arrays'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Microsoft', - 'Amazon', - 'Facebook', - 'Apple', - 'Google', - 'Oracle', - 'Bloomberg', - 'Intuit', - 'Adobe', - ], - }, - { - id: 9, - name: 'Rotate Image', - url: 'https://leetcode.com/problems/rotate-image/', - pattern: ['Arrays'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Microsoft', - 'Apple', - 'Bloomberg', - 'Uber', - 'Google', - ], - }, - { - id: 10, - name: 'Word Search', - url: 'https://leetcode.com/problems/word-search/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Twitter', - 'Facebook', - 'Snapchat', - 'Goldman Sachs', - 'Google', - 'Bloomberg', - 'Apple', - 'Adobe', - 'Oracle', - 'Qualtrics', - ], - }, - - { - id: 11, - name: 'First Missing Positive', - url: 'https://leetcode.com/problems/first-missing-positive/', - pattern: ['Arrays'], - difficulty: 'Hard', - premium: false, - companies: ['Amazon', 'Microsoft', 'Facebook', 'Google', 'Adobe', 'Apple'], - }, - { - id: 12, - name: 'Longest Consecutive Sequence', - url: 'https://leetcode.com/problems/longest-consecutive-sequence/', - pattern: ['Arrays'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Microsoft', - 'Facebook', - 'Amazon', - 'Google', - 'LinkedIn', - 'Apple', - 'Qualtrics', - 'Goldman Sachs', - 'Salesforce', - ], - }, - - { - id: 13, - name: 'Letter Case Permutation', - url: 'https://leetcode.com/problems/letter-case-permutation/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: ['Microsoft'], - }, - { - id: 14, - name: 'Subsets', - url: 'https://leetcode.com/problems/subsets/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Google', - 'Bloomberg', - 'Goldman Sachs', - 'Adobe', - 'Twitter', - ], - }, - { - id: 15, - name: 'Subsets II', - url: 'https://leetcode.com/problems/subsets-ii/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Amazon', 'Bloomberg'], - }, - { - id: 16, - name: 'Permutations', - url: 'https://leetcode.com/problems/permutations/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'LinkedIn', - 'Bloomberg', - 'Google', - 'Microsoft', - 'Adobe', - 'Apple', - 'Oracle', - ], - }, - { - id: 17, - name: 'Permutations II', - url: 'https://leetcode.com/problems/permutations-ii/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: ['LinkedIn', 'Facebook', 'Amazon', 'Adobe', 'Apple'], - }, - { - id: 18, - name: 'Combinations', - url: 'https://leetcode.com/problems/combinations/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: ['Google', 'Facebook', 'Amazon'], - }, - { - id: 19, - name: 'Combination Sum', - url: 'https://leetcode.com/problems/combination-sum/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Airbnb', - 'Apple', - 'Adobe', - 'Microsoft', - 'LinkedIn', - 'Goldman Sachs', - 'Snapchat', - 'Salesforce', - ], - }, - { - id: 20, - name: 'Combination Sum II', - url: 'https://leetcode.com/problems/combination-sum-ii/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Amazon'], - }, - { - id: 21, - name: 'Combination Sum III', - url: 'https://leetcode.com/problems/combination-sum-iii/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: ['Google'], - }, - { - id: 22, - name: 'Generate Parentheses', - url: 'https://leetcode.com/problems/generate-parentheses/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Microsoft', - 'Apple', - 'Bloomberg', - 'Adobe', - 'Uber', - 'Google', - 'Goldman Sachs', - ], - }, - { - id: 23, - name: 'Target Sum', - url: 'https://leetcode.com/problems/target-sum/', - pattern: ['DFS', 'Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Amazon', 'Microsoft', 'Adobe'], - }, - { - id: 24, - name: 'Palindrome Partitioning', - url: 'https://leetcode.com/problems/palindrome-partitioning/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: ['Apple'], - }, - { - id: 25, - name: 'Letter Combinations of a Phone Number', - url: 'https://leetcode.com/problems/letter-combinations-of-a-phone-number/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Facebook', - 'Google', - 'Uber', - 'Apple', - 'Adobe', - 'Twitter', - 'Bloomberg', - 'Oracle', - 'Goldman Sachs', - 'Snapchat', - 'Intuit', - ], - }, - { - id: 26, - name: 'Generalized Abbreviation', - url: 'https://leetcode.com/problems/generalized-abbreviation/', - pattern: ['Backtracking'], - difficulty: 'Medium', - premium: true, - companies: ['Google'], - }, - { - id: 27, - name: 'Sudoku Solver', - url: 'https://leetcode.com/problems/sudoku-solver/', - pattern: ['Backtracking'], - difficulty: 'Hard', - premium: false, - companies: ['Google', 'Intuit', 'Amazon', 'Apple', 'Uber', 'Bloomberg'], - }, - { - id: 28, - name: 'N-Queens', - url: 'https://leetcode.com/problems/n-queens/', - pattern: ['Backtracking'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Apple', - 'Facebook', - 'Uber', - 'Goldman Sachs', - 'Adobe', - ], - }, - { - id: 29, - name: 'Climbing Stairs', - url: 'https://leetcode.com/problems/climbing-stairs/', - pattern: ['Dynamic Programming'], - difficulty: 'Easy', - premium: false, - companies: ['Amazon', 'Microsoft', 'Google', 'Bloomberg', 'Apple', 'Adobe'], - }, - { - id: 30, - name: 'House Robber', - url: 'https://leetcode.com/problems/house-robber/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Google', - 'Apple', - 'Adobe', - 'Qualtrics', - 'Bloomberg', - 'Facebook', - 'Goldman Sachs', - ], - }, - { - id: 31, - name: 'Best Time to Buy and Sell Stock', - url: 'https://leetcode.com/problems/best-time-to-buy-and-sell-stock/', - pattern: ['Greedy'], - difficulty: 'Easy', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Apple', - 'Adobe', - 'Microsoft', - 'Bloomberg', - 'Snapchat', - 'Goldman Sachs', - 'Uber', - 'Oracle', - 'Google', - 'BlackRock', - 'Citadel', - 'JPMorgan', - 'Salesforce', - ], - }, - { - id: 32, - name: 'Maximum Subarray', - url: 'https://leetcode.com/problems/maximum-subarray/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: [ - 'LinkedIn', - 'Amazon', - 'Adobe', - 'Apple', - 'Microsoft', - 'Google', - 'Bloomberg', - 'Facebook', - 'Uber', - 'Oracle', - 'Goldman Sachs', - 'JPMorgan', - ], - }, - { - id: 33, - name: 'Range Sum Query - Immutable', - url: 'https://leetcode.com/problems/range-sum-query-immutable/', - pattern: ['Dynamic Programming'], - difficulty: 'Easy', - premium: false, - companies: ['Facebook', 'Adobe'], - }, - { - id: 34, - name: 'House Robber II', - url: 'https://leetcode.com/problems/house-robber-ii/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Google'], - }, - { - id: 35, - name: 'Coin Change', - url: 'https://leetcode.com/problems/coin-change/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Microsoft', 'Google', 'Apple'], - }, - { - id: 36, - name: 'Maximum Product Subarray', - url: 'https://leetcode.com/problems/maximum-product-subarray/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: [ - 'LinkedIn', - 'Amazon', - 'Microsoft', - 'Google', - 'Apple', - 'Facebook', - 'Bloomberg', - ], - }, - { - id: 37, - name: 'Longest Increasing Subsequence', - url: 'https://leetcode.com/problems/longest-increasing-subsequence/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Google', - 'Amazon', - 'Facebook', - 'Microsoft', - 'Apple', - 'Bloomberg', - ], - }, - { - id: 38, - name: 'Longest Palindromic Substring', - url: 'https://leetcode.com/problems/longest-palindromic-substring/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Adobe', - 'Apple', - 'Facebook', - 'Google', - 'Oracle', - 'Salesforce', - 'Bloomberg', - 'LinkedIn', - 'Tesla', - ], - }, - { - id: 39, - name: 'Word Break', - url: 'https://leetcode.com/problems/word-break/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Microsoft', - 'Uber', - 'Apple', - 'Bloomberg', - 'Qualtrics', - 'Adobe', - 'Google', - 'Snapchat', - 'Salesforce', - ], - }, - { - id: 40, - name: 'Combination Sum IV', - url: 'https://leetcode.com/problems/combination-sum-iv/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: ['Google', 'Amazon', 'Facebook'], - }, - { - id: 41, - name: 'Decode Ways', - url: 'https://leetcode.com/problems/decode-ways/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Google', - 'Snapchat', - 'Lyft', - 'Goldman Sachs', - 'Microsoft', - 'Bloomberg', - 'JPMorgan', - ], - }, - { - id: 42, - name: 'Unique Paths', - url: 'https://leetcode.com/problems/unique-paths/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Google', - 'Facebook', - 'Amazon', - 'Apple', - 'Microsoft', - 'Bloomberg', - ], - }, - { - id: 43, - name: 'Jump Game', - url: 'https://leetcode.com/problems/jump-game/', - pattern: ['Dynamic Programming', 'Greedy'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Uber', - 'Oracle', - 'Adobe', - 'Microsoft', - 'Bloomberg', - ], - }, - { - id: 44, - name: 'Palindromic Substrings', - url: 'https://leetcode.com/problems/palindromic-substrings/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Microsoft', 'Google', 'Goldman Sachs'], - }, - { - id: 45, - name: 'Number of Longest Increasing Subsequence', - url: - 'https://leetcode.com/problems/number-of-longest-increasing-subsequence/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Google'], - }, - { - id: 46, - name: 'Partition Equal Subset Sum', - url: 'https://leetcode.com/problems/partition-equal-subset-sum/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Google', - 'Amazon', - 'Microsoft', - 'Uber', - 'Apple', - 'Bloomberg', - ], - }, - { - id: 47, - name: 'Partition to K Equal Sum Subsets', - url: 'https://leetcode.com/problems/partition-to-k-equal-sum-subsets/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: ['LinkedIn', 'Facebook'], - }, - { - id: 48, - name: 'Best Time to Buy and Sell Stock with Cooldown', - url: - 'https://leetcode.com/problems/best-time-to-buy-and-sell-stock-with-cooldown/', - pattern: ['Dynamic Programming'], - difficulty: 'Medium', - premium: false, - companies: ['Adobe', 'Bloomberg'], - }, - { - id: 49, - name: 'Counting Bits', - url: 'https://leetcode.com/problems/counting-bits/', - pattern: ['Dynamic Programming', 'Bit Manipulation'], - difficulty: 'Easy', - premium: false, - companies: ['Google'], - }, - { - id: 50, - name: 'Linked List Cycle', - url: 'https://leetcode.com/problems/linked-list-cycle/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Easy', - premium: false, - companies: [ - 'Microsoft', - 'Amazon', - 'Bloomberg', - 'Oracle', - 'Facebook', - 'Google', - ], - }, - { - id: 51, - name: 'Middle of the Linked List', - url: 'https://leetcode.com/problems/middle-of-the-linked-list/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Easy', - premium: false, - companies: ['Amazon', 'Apple', 'Microsoft', 'Adobe', 'Goldman Sachs'], - }, - { - id: 52, - name: 'Palindrome Linked List', - url: 'https://leetcode.com/problems/palindrome-linked-list/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Easy', - premium: false, - companies: ['Facebook', 'Amazon', 'Microsoft', 'Intuit', 'Bloomberg'], - }, - { - id: 53, - name: 'Remove Linked List Elements', - url: 'https://leetcode.com/problems/remove-linked-list-elements/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Easy', - premium: false, - companies: ['Facebook', 'Microsoft'], - }, - { - id: 54, - name: 'Remove Duplicates from Sorted List', - url: 'https://leetcode.com/problems/remove-duplicates-from-sorted-list/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Easy', - premium: false, - companies: ['Amazon', 'Adobe', 'Facebook', 'Microsoft'], - }, - { - id: 55, - name: 'Linked List Cycle II', - url: 'https://leetcode.com/problems/linked-list-cycle-ii/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Medium', - premium: false, - companies: ['Microsoft', 'Amazon', 'Goldman Sachs', 'Oracle'], - }, - { - id: 56, - name: 'Add Two Numbers', - url: 'https://leetcode.com/problems/add-two-numbers/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Bloomberg', - 'Adobe', - 'Microsoft', - 'Facebook', - 'Google', - 'Apple', - 'Uber', - 'Capital One', - 'Oracle', - ], - }, - { - id: 57, - name: 'Remove Nth Node From End Of List', - url: 'https://leetcode.com/problems/remove-nth-node-from-end-of-list/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Microsoft', 'Amazon', 'Google', 'Apple'], - }, - { - id: 58, - name: 'Sort List', - url: 'https://leetcode.com/problems/sort-list/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Amazon', 'Apple', 'Uber'], - }, - { - id: 59, - name: 'Reorder List', - url: 'https://leetcode.com/problems/reorder-list/', - pattern: ['Fast & Slow Pointers'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Adobe', 'Facebook', 'Google', 'Snapchat', 'Uber'], - }, - { - id: 60, - name: 'Clone Graph', - url: 'https://leetcode.com/problems/clone-graph/', - pattern: ['BFS', 'DFS', 'Graph'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Microsoft', - 'Amazon', - 'Salesforce', - 'Google', - 'Twitter', - 'Bloomberg', - 'Oracle', - 'Apple', - ], - }, - { - id: 61, - name: 'Pacific Atlantic Water Flow', - url: 'https://leetcode.com/problems/pacific-atlantic-water-flow/', - pattern: ['BFS', 'DFS'], - difficulty: 'Medium', - premium: false, - companies: ['Google', 'Amazon', 'Microsoft', 'Facebook', 'Apple'], - }, - { - id: 62, - name: 'Number of Islands', - url: 'https://leetcode.com/problems/number-of-islands/', - pattern: ['BFS', 'DFS', 'Union Find'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Bloomberg', - 'Google', - 'LinkedIn', - 'Facebook', - 'Apple', - 'Oracle', - 'Goldman Sachs', - 'Salesforce', - 'Lyft', - 'Uber', - 'Adobe', - 'Qualtrics', - ], - }, - { - id: 63, - name: 'Graph Valid Tree', - url: 'https://leetcode.com/problems/graph-valid-tree/', - pattern: ['BFS', 'DFS', 'Graph', 'Union Find'], - difficulty: 'Medium', - premium: true, - companies: ['LinkedIn', 'Google', 'Bloomberg'], - }, - { - id: 64, - name: 'Number of Connected Components in an Undirected Graph', - url: - 'https://leetcode.com/problems/number-of-connected-components-in-an-undirected-graph/', - pattern: ['BFS', 'DFS', 'Graph', 'Union Find'], - difficulty: 'Medium', - premium: true, - companies: ['Amazon', 'LinkedIn', 'Facebook', 'Pinterest'], - }, - { - id: 65, - name: 'Reverse Linked List', - url: 'https://leetcode.com/problems/reverse-linked-list/', - pattern: ['In-place reversal of a linked list'], - difficulty: 'Easy', - premium: false, - companies: ['Microsoft', 'Bloomberg', 'Amazon', 'Facebook', 'Apple'], - }, - { - id: 66, - name: 'Reverse Linked List II', - url: 'https://leetcode.com/problems/reverse-linked-list-ii/', - pattern: ['In-place reversal of a linked list'], - difficulty: 'Medium', - premium: false, - companies: ['Apple', 'Facebook', 'Amazon', 'Google', 'Adobe'], - }, - { - id: 67, - name: 'Rotate List', - url: 'https://leetcode.com/problems/rotate-list/', - pattern: ['In-place reversal of a linked list'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'LinkedIn', 'Microsoft', 'Adobe', 'Apple', 'Oracle'], - }, - { - id: 68, - name: 'Swap Nodes in Pairs', - url: 'https://leetcode.com/problems/swap-nodes-in-pairs/', - pattern: ['In-place reversal of a linked list'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Amazon', 'Microsoft'], - }, - { - id: 69, - name: 'Odd Even Linked List', - url: 'https://leetcode.com/problems/odd-even-linked-list/', - pattern: ['In-place reversal of a linked list'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Microsoft', - 'Bloomberg', - 'Amazon', - 'Adobe', - 'Apple', - ], - }, - { - id: 70, - name: 'Reverse Nodes in k-Group', - url: 'https://leetcode.com/problems/reverse-nodes-in-k-group/', - pattern: ['In-place reversal of a linked list'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Capital One', - 'Microsoft', - 'Amazon', - 'Google', - 'Facebook', - 'Snapchat', - 'Oracle', - ], - }, - { - id: 71, - name: 'Merge Two Sorted Lists', - url: 'https://leetcode.com/problems/merge-two-sorted-lists/', - pattern: ['Two Pointers'], - difficulty: 'Easy', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Microsoft', - 'Adobe', - 'Google', - 'Bloomberg', - 'Apple', - 'Uber', - ], - }, - { - id: 72, - name: 'Kth Smallest Element in a Sorted Matrix', - url: - 'https://leetcode.com/problems/kth-smallest-element-in-a-sorted-matrix/', - pattern: ['Binary Search', 'Heap'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Amazon', 'Microsoft', 'Bloomberg'], - }, - { - id: 73, - name: 'Find K Pairs with Smallest Sums', - url: 'https://leetcode.com/problems/find-k-pairs-with-smallest-sums/', - pattern: ['Heap'], - difficulty: 'Medium', - premium: false, - companies: ['LinkedIn', 'Microsoft', 'Apple'], - }, - { - id: 74, - name: 'Merge k Sorted Lists', - url: 'https://leetcode.com/problems/merge-k-sorted-lists/', - pattern: ['Heap'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Microsoft', - 'Google', - 'Apple', - 'Bloomberg', - 'Adobe', - 'Uber', - 'Qualtrics', - 'Oracle', - ], - }, - { - id: 75, - name: 'Smallest Range Covering Elements from K Lists', - url: - 'https://leetcode.com/problems/smallest-range-covering-elements-from-k-lists/', - pattern: ['Heap'], - difficulty: 'Hard', - premium: false, - companies: ['Google', 'Amazon', 'Microsoft', 'Pinterest'], - }, - { - id: 76, - name: 'Meeting Rooms', - url: 'https://leetcode.com/problems/meeting-rooms', - pattern: ['Intervals'], - difficulty: 'Easy', - premium: true, - companies: ['Amazon', 'Microsoft', 'Facebook'], - }, - { - id: 77, - name: 'Merge Intervals', - url: 'https://leetcode.com/problems/merge-intervals/', - pattern: ['Intervals'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Microsoft', - 'Salesforce', - 'Google', - 'Uber', - 'Bloomberg', - 'Adobe', - 'Apple', - 'LinkedIn', - 'Twitter', - 'Oracle', - 'JPMorgan', - 'Snapchat', - ], - }, - { - id: 78, - name: 'Interval List Intersections', - url: 'https://leetcode.com/problems/interval-list-intersections/', - pattern: ['Intervals'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Uber', 'Google'], - }, - { - id: 79, - name: 'Non-overlapping Intervals', - url: 'https://leetcode.com/problems/non-overlapping-intervals/', - pattern: ['Intervals'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Facebook', 'Oracle'], - }, - { - id: 80, - name: 'Meeting Rooms II', - url: 'https://leetcode.com/problems/meeting-rooms-ii/', - pattern: ['Heap', 'Intervals'], - difficulty: 'Medium', - premium: true, - companies: [ - 'Amazon', - 'Facebook', - 'Bloomberg', - 'Microsoft', - 'Google', - 'Oracle', - 'Uber', - 'Twitter', - 'Snapchat', - 'Qualtrics', - 'Adobe', - 'Quora', - 'Goldman Sachs', - ], - }, - { - id: 81, - name: 'Task Scheduler', - url: 'https://leetcode.com/problems/task-scheduler/', - pattern: ['Greedy', 'Heap'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Google', - 'Uber', - 'Amazon', - 'Microsoft', - 'Salesforce', - ], - }, - { - id: 82, - name: 'Minimum Number of Arrows to Burst Balloons', - url: - 'https://leetcode.com/problems/minimum-number-of-arrows-to-burst-balloons/', - pattern: ['Greedy'], - difficulty: 'Medium', - premium: false, - companies: ['Apple'], - }, - { - id: 83, - name: 'Insert Interval', - url: 'https://leetcode.com/problems/insert-interval/', - pattern: ['Intervals'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Google', - 'Facebook', - 'LinkedIn', - 'Microsoft', - 'Twitter', - 'Citadel', - ], - }, - { - id: 84, - name: 'Employee Free Time', - url: 'https://leetcode.com/problems/employee-free-time/', - pattern: ['Heap', 'Greedy'], - difficulty: 'Hard', - premium: true, - companies: [ - 'Pinterest', - 'Amazon', - 'Airbnb', - 'Snapchat', - 'Google', - 'Facebook', - 'Apple', - 'Oracle', - 'Uber', - ], - }, - { - id: 85, - name: 'Binary Search', - url: 'https://leetcode.com/problems/binary-search/', - pattern: ['Binary Search'], - difficulty: 'Easy', - premium: false, - companies: ['Adobe', 'Apple', 'Uber', 'Goldman Sachs'], - }, - { - id: 86, - name: 'Find Smallest Letter Greater Than Target', - url: - 'https://leetcode.com/problems/find-smallest-letter-greater-than-target/', - pattern: ['Binary Search'], - difficulty: 'Easy', - premium: false, - companies: ['LinkedIn'], - }, - { - id: 87, - name: 'Peak Index in a Mountain Array', - url: 'https://leetcode.com/problems/peak-index-in-a-mountain-array/', - pattern: ['Binary Search'], - difficulty: 'Medium', - premium: false, - companies: ['Google', 'Amazon', 'Bloomberg', 'Facebook'], - }, - { - id: 88, - name: 'Find Minimum in Rotated Sorted Array', - url: 'https://leetcode.com/problems/find-minimum-in-rotated-sorted-array/', - pattern: ['Binary Search'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Microsoft', - 'Amazon', - 'Bloomberg', - 'Uber', - 'Adobe', - 'Apple', - ], - }, - { - id: 89, - name: 'Find Peak Element', - url: 'https://leetcode.com/problems/find-peak-element/', - pattern: ['Binary Search'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Amazon', 'Uber', 'Google', 'Microsoft'], - }, - { - id: 90, - name: 'Search in Rotated Sorted Array', - url: 'https://leetcode.com/problems/search-in-rotated-sorted-array/', - pattern: ['Binary Search'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Microsoft', - 'Amazon', - 'LinkedIn', - 'Facebook', - 'Bloomberg', - 'Adobe', - 'Apple', - 'Goldman Sachs', - 'Oracle', - 'Uber', - 'Morgan Stanley', - ], - }, - { - id: 91, - name: 'Search in Rotated Sorted Array II', - url: 'https://leetcode.com/problems/search-in-rotated-sorted-array-ii/', - pattern: ['Binary Search'], - difficulty: 'Medium', - premium: false, - companies: ['LinkedIn', 'Amazon', 'Facebook', 'Microsoft'], - }, - { - id: 92, - name: 'Search a 2D Matrix', - url: 'https://leetcode.com/problems/search-a-2d-matrix/', - pattern: ['Binary Search'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Bloomberg', - 'Microsoft', - 'Uber', - 'Google', - 'Apple', - ], - }, - { - id: 93, - name: 'Search a 2D Matrix II', - url: 'https://leetcode.com/problems/search-a-2d-matrix-ii/', - pattern: ['Binary Search'], - difficulty: 'Medium', - premium: false, - companies: ['Microsoft', 'Amazon', 'Facebook', 'Apple', 'Uber'], - }, - { - id: 94, - name: 'Find K Closest Elements', - url: 'https://leetcode.com/problems/find-k-closest-elements/', - pattern: ['Binary Search'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Google', - 'Uber', - 'Microsoft', - 'Bloomberg', - ], - }, - { - id: 95, - name: 'Count of Range Sum', - url: 'https://leetcode.com/problems/count-of-range-sum/', - pattern: ['Binary Search'], - difficulty: 'Hard', - premium: false, - companies: ['Google'], - }, - { - id: 96, - name: 'Minimum Size Subarray Sum', - url: 'https://leetcode.com/problems/minimum-size-subarray-sum/', - pattern: ['Sliding Window'], - difficulty: 'Medium', - premium: false, - companies: ['Goldman Sachs', 'Facebook', 'Amazon', 'Google'], - }, - { - id: 97, - name: 'Fruit Into Baskets', - url: 'https://leetcode.com/problems/fruit-into-baskets/', - pattern: ['Sliding Window'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon'], - }, - { - id: 98, - name: 'Permutation in String', - url: 'https://leetcode.com/problems/permutation-in-string/', - pattern: ['Sliding Window'], - difficulty: 'Medium', - premium: false, - companies: ['Oracle', 'Facebook'], - }, - { - id: 99, - name: 'Longest Repeating Character Replacement', - url: - 'https://leetcode.com/problems/longest-repeating-character-replacement/', - pattern: ['Sliding Window'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Uber', 'Amazon', 'Adobe'], - }, - { - id: 100, - name: 'Sliding Window Maximum', - url: 'https://leetcode.com/problems/sliding-window-maximum/', - pattern: ['Sliding Window'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Goldman Sachs', - 'Citadel', - 'Google', - 'Uber', - 'Microsoft', - 'Salesforce', - 'Apple', - 'Twitter', - 'Atlassian', - ], - }, - { - id: 101, - name: 'Longest Substring Without Repeating Characters', - url: - 'https://leetcode.com/problems/longest-substring-without-repeating-characters/', - pattern: ['Sliding Window'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Bloomberg', - 'Facebook', - 'Adobe', - 'Google', - 'Apple', - 'Uber', - 'Goldman Sachs', - ], - }, - { - id: 102, - name: 'Minimum Number of K Consecutive Bit Flips', - url: - 'https://leetcode.com/problems/minimum-number-of-k-consecutive-bit-flips/', - pattern: ['Sliding Window'], - difficulty: 'Hard', - premium: false, - companies: ['Adobe'], - }, - { - id: 103, - name: 'Count Unique Characters of All Substrings of a Given String', - url: - 'https://leetcode.com/problems/count-unique-characters-of-all-substrings-of-a-given-string/', - pattern: ['Sliding Window'], - difficulty: 'Hard', - premium: false, - companies: ['Amazon'], - }, - { - id: 104, - name: 'Minimum Window Substring', - url: 'https://leetcode.com/problems/minimum-window-substring/', - pattern: ['Sliding Window'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'LinkedIn', - 'Snapchat', - 'Google', - 'Lyft', - 'Adobe', - ], - }, - { - id: 105, - name: 'Substring with Concatenation of All Words', - url: - 'https://leetcode.com/problems/substring-with-concatenation-of-all-words/', - pattern: ['Sliding Window'], - difficulty: 'Hard', - premium: false, - companies: ['Apple'], - }, - { - id: 106, - name: 'Kth Smallest Element in a BST', - url: 'https://leetcode.com/problems/kth-smallest-element-in-a-bst/', - pattern: ['DFS'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Facebook'], - }, - { - id: 107, - name: 'K Closest Points to Origin', - url: 'https://leetcode.com/problems/k-closest-points-to-origin/', - pattern: ['Heap'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Amazon', 'LinkedIn', 'Google', 'Asana'], - }, - { - id: 108, - name: 'Top K Frequent Elements', - url: 'https://leetcode.com/problems/top-k-frequent-elements/', - pattern: ['Heap'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Bloomberg', - 'Microsoft', - 'Uber', - 'Apple', - 'Google', - 'Adobe', - 'Snapchat', - 'Oracle', - 'LinkedIn', - ], - }, - { - id: 109, - name: 'Sort Characters By Frequency', - url: 'https://leetcode.com/problems/sort-characters-by-frequency/', - pattern: ['Heap'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Bloomberg', 'Facebook'], - }, - { - id: 110, - name: 'Kth Largest Element in an Array', - url: 'https://leetcode.com/problems/kth-largest-element-in-an-array/', - pattern: ['Heap', 'QuickSelect'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'LinkedIn', - 'Microsoft', - 'Google', - 'Goldman Sachs', - 'Uber', - 'Oracle', - ], - }, - { - id: 111, - name: 'Reorganize String', - url: 'https://leetcode.com/problems/reorganize-string/', - pattern: ['Greedy', 'Heap'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Facebook', 'Google', 'Apple', 'Uber', 'Microsoft'], - }, - { - id: 112, - name: 'Rearrange String k Distance Apart', - url: 'https://leetcode.com/problems/rearrange-string-k-distance-apart', - pattern: ['Greedy', 'Heap'], - difficulty: 'Hard', - premium: true, - companies: ['Twitter'], - }, - { - id: 113, - name: 'Course Schedule III', - url: 'https://leetcode.com/problems/course-schedule-iii/', - pattern: ['Greedy', 'Heap'], - difficulty: 'Hard', - premium: false, - companies: ['Amazon'], - }, - { - id: 114, - name: 'Maximum Frequency Stack', - url: 'https://leetcode.com/problems/maximum-frequency-stack/', - pattern: ['Bucket Sort', 'Heap'], - difficulty: 'Hard', - premium: false, - companies: ['Microsoft', 'Amazon', 'Apple', 'Facebook'], - }, - { - id: 115, - name: 'Course Schedule', - url: 'https://leetcode.com/problems/course-schedule/', - pattern: ['BFS', 'DFS', 'Graph', 'Topological Sort'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Facebook', - 'Google', - 'Oracle', - 'Apple', - 'Snapchat', - ], - }, - { - id: 116, - name: 'Course Schedule II', - url: 'https://leetcode.com/problems/course-schedule-ii/', - pattern: ['BFS', 'DFS', 'Graph', 'Topological Sort'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Google', - 'Facebook', - 'Snapchat', - 'Uber', - 'Apple', - 'Lyft', - 'Bloomberg', - ], - }, - { - id: 117, - name: 'Minimum Height Trees', - url: 'https://leetcode.com/problems/minimum-height-trees/', - pattern: ['BFS', 'Graph', 'Topological Sort'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Facebook', 'Google', 'Microsoft'], - }, - { - id: 118, - name: 'Alien Dictionary', - url: 'https://leetcode.com/problems/alien-dictionary', - pattern: ['Graph', 'Topological Sort'], - difficulty: 'Hard', - premium: true, - companies: [ - 'Facebook', - 'Google', - 'Amazon', - 'Airbnb', - 'Pinterest', - 'Uber', - 'Microsoft', - ], - }, - { - id: 119, - name: 'Sequence Reconstruction', - url: 'https://leetcode.com/problems/sequence-reconstruction', - pattern: ['Graph', 'Topological Sort'], - difficulty: 'Medium', - premium: true, - companies: ['Google'], - }, - { - id: 120, - name: 'Binary Tree Level Order Traversal II', - url: 'https://leetcode.com/problems/binary-tree-level-order-traversal-ii/', - pattern: ['BFS'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon'], - }, - { - id: 121, - name: 'Average of Levels in Binary Tree', - url: 'https://leetcode.com/problems/average-of-levels-in-binary-tree/', - pattern: ['BFS'], - difficulty: 'Easy', - premium: false, - companies: ['Facebook', 'Amazon'], - }, - { - id: 122, - name: 'Minimum Depth of Binary Tree', - url: 'https://leetcode.com/problems/minimum-depth-of-binary-tree/', - pattern: ['BFS', 'DFS'], - difficulty: 'Easy', - premium: false, - companies: ['Facebook', 'Goldman Sachs'], - }, - { - id: 123, - name: 'Binary Tree Level Order Traversal', - url: 'https://leetcode.com/problems/binary-tree-level-order-traversal/', - pattern: ['BFS'], - difficulty: 'Medium', - premium: false, - companies: [ - 'LinkedIn', - 'Amazon', - 'Facebook', - 'Bloomberg', - 'Microsoft', - 'Apple', - 'Oracle', - 'Google', - ], - }, - { - id: 124, - name: 'Binary Tree Zigzag Level Order Traversal', - url: - 'https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/', - pattern: ['BFS'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Microsoft', - 'Bloomberg', - 'Google', - 'Adobe', - 'LinkedIn', - 'Qualtrics', - 'Salesforce', - ], - }, - { - id: 125, - name: 'Populating Next Right Pointers in Each Node', - url: - 'https://leetcode.com/problems/populating-next-right-pointers-in-each-node/', - pattern: ['BFS'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Microsoft', 'Amazon', 'Bloomberg'], - }, - { - id: 126, - name: 'Populating Next Right Pointers in Each Node II', - url: - 'https://leetcode.com/problems/populating-next-right-pointers-in-each-node-ii/', - pattern: ['BFS'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Bloomberg', 'Microsoft', 'Facebook'], - }, - { - id: 127, - name: 'Binary Tree Right Side View', - url: 'https://leetcode.com/problems/binary-tree-right-side-view/', - pattern: ['BFS', 'DFS'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Bloomberg', - 'Amazon', - 'Oracle', - 'Qualtrics', - 'Adobe', - 'Goldman Sachs', - ], - }, - { - id: 128, - name: 'All Nodes Distance K in Binary Tree', - url: 'https://leetcode.com/problems/all-nodes-distance-k-in-binary-tree/', - pattern: ['BFS', 'DFS'], - difficulty: 'Medium', - premium: false, - companies: ['Facebook', 'Amazon', 'Apple', 'Oracle'], - }, - { - id: 129, - name: 'Same Tree', - url: 'https://leetcode.com/problems/same-tree/', - pattern: ['DFS'], - difficulty: 'Easy', - premium: false, - companies: [ - 'LinkedIn', - 'Google', - 'Microsoft', - 'Amazon', - 'Facebook', - 'Apple', - 'Adobe', - 'Oracle', - ], - }, - { - id: 130, - name: 'Path Sum', - url: 'https://leetcode.com/problems/path-sum/', - pattern: ['DFS'], - difficulty: 'Easy', - premium: false, - companies: ['Amazon', 'Facebook', 'Oracle'], - }, - { - id: 131, - name: 'Maximum Depth of Binary Tree', - url: 'https://leetcode.com/problems/maximum-depth-of-binary-tree/', - pattern: ['DFS'], - difficulty: 'Easy', - premium: false, - companies: ['LinkedIn', 'Google', 'Apple', 'Amazon'], - }, - { - id: 132, - name: 'Diameter of Binary Tree', - url: 'https://leetcode.com/problems/diameter-of-binary-tree/', - pattern: ['DFS'], - difficulty: 'Easy', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Google', - 'Bloomberg', - 'Apple', - 'Microsoft', - 'Adobe', - ], - }, - { - id: 133, - name: 'Merge Two Binary Trees', - url: 'https://leetcode.com/problems/merge-two-binary-trees/', - pattern: ['DFS'], - difficulty: 'Easy', - premium: false, - companies: ['Amazon', 'Adobe'], - }, - { - id: 134, - name: 'Lowest Common Ancestor of a Binary Search Tree', - url: - 'https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/', - pattern: ['DFS'], - difficulty: 'Easy', - premium: false, - companies: ['LinkedIn', 'Facebook', 'Microsoft', 'Google', 'Uber'], - }, - { - id: 135, - name: 'Subtree of Another Tree', - url: 'https://leetcode.com/problems/subtree-of-another-tree/', - pattern: ['DFS'], - difficulty: 'Easy', - premium: false, - companies: ['Facebook', 'Amazon', 'Microsoft'], - }, - { - id: 136, - name: 'Invert Binary Tree', - url: 'https://leetcode.com/problems/invert-binary-tree/', - pattern: ['DFS'], - difficulty: 'Easy', - premium: false, - companies: ['Amazon', 'Google', 'Facebook', 'Adobe', 'Apple'], - }, - { - id: 137, - name: 'Path Sum II', - url: 'https://leetcode.com/problems/path-sum-ii/', - pattern: ['DFS'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Google', 'Facebook', 'Adobe', 'Apple'], - }, - { - id: 138, - name: 'Path Sum III', - url: 'https://leetcode.com/problems/path-sum-iii/', - pattern: ['DFS'], - difficulty: 'Medium', - premium: false, - companies: ['Microsoft', 'Facebook', 'Google', 'Oracle'], - }, - { - id: 139, - name: 'Lowest Common Ancestor of a Binary Tree', - url: - 'https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/', - pattern: ['DFS'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'LinkedIn', - 'Google', - 'Microsoft', - 'Adobe', - 'Apple', - 'Salesforce', - 'Oracle', - 'Bloomberg', - 'Intuit', - ], - }, - { - id: 140, - name: 'Maximum Binary Tree', - url: 'https://leetcode.com/problems/maximum-binary-tree/', - pattern: ['DFS'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon'], - }, - { - id: 141, - name: 'Maximum Width of Binary Tree', - url: 'https://leetcode.com/problems/maximum-width-of-binary-tree/', - pattern: ['DFS'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Google', 'Bloomberg', 'Apple', 'Adobe'], - }, - { - id: 142, - name: 'Construct Binary Tree from Preorder and Inorder Traversal', - url: - 'https://leetcode.com/problems/construct-binary-tree-from-preorder-and-inorder-traversal/', - pattern: ['DFS'], - difficulty: 'Medium', - premium: false, - companies: ['Amazon', 'Microsoft', 'Adobe', 'Bloomberg', 'Apple'], - }, - { - id: 143, - name: 'Validate Binary Search Tree', - url: 'https://leetcode.com/problems/validate-binary-search-tree/', - pattern: ['DFS'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Bloomberg', - 'Microsoft', - 'Facebook', - 'Google', - 'Adobe', - 'Apple', - 'Qualtrics', - 'Lyft', - ], - }, - { - id: 144, - name: 'Implement Trie (Prefix Tree)', - url: 'https://leetcode.com/problems/implement-trie-prefix-tree/', - pattern: ['Design', 'Trie'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Twitter', - 'Google', - 'Facebook', - 'Microsoft', - 'Apple', - ], - }, - { - id: 145, - name: 'Binary Tree Maximum Path Sum', - url: 'https://leetcode.com/problems/binary-tree-maximum-path-sum/', - pattern: ['DFS'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Google', - 'Microsoft', - 'Adobe', - 'Bloomberg', - 'Oracle', - 'Snapchat', - ], - }, - { - id: 146, - name: 'Serialize and Deserialize Binary Tree', - url: 'https://leetcode.com/problems/serialize-and-deserialize-binary-tree/', - pattern: ['Design'], - difficulty: 'Hard', - premium: false, - companies: [ - 'LinkedIn', - 'Amazon', - 'Microsoft', - 'Facebook', - 'Oracle', - 'Uber', - 'Adobe', - 'Snapchat', - 'Qualtrics', - 'Google', - 'Quora', - ], - }, - { - id: 147, - name: 'Word Search II', - url: 'https://leetcode.com/problems/word-search-ii/', - pattern: ['DFS', 'Trie'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Amazon', - 'Uber', - 'Microsoft', - 'Apple', - 'Twitter', - 'Snapchat', - 'Facebook', - 'Bloomberg', - 'Google', - 'Salesforce', - ], - }, - { - id: 148, - name: 'Find Median from Data Stream', - url: 'https://leetcode.com/problems/find-median-from-data-stream/', - pattern: ['Heap'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Apple', - 'Facebook', - 'Google', - 'Bloomberg', - 'Uber', - 'Airbnb', - ], - }, - { - id: 149, - name: 'Sliding Window Median', - url: 'https://leetcode.com/problems/sliding-window-median/', - pattern: ['Heap'], - difficulty: 'Hard', - premium: false, - companies: ['Facebook', 'Amazon'], - }, - { - id: 150, - name: 'Two Sum', - url: 'https://leetcode.com/problems/two-sum/', - pattern: ['Two Pointers'], - difficulty: 'Easy', - premium: false, - companies: [ - 'Amazon', - 'Google', - 'Adobe', - 'Apple', - 'Microsoft', - 'Facebook', - 'Bloomberg', - 'Uber', - 'Oracle', - 'Morgan Stanley', - 'Citadel', - 'Salesforce', - 'Goldman Sachs', - 'JPMorgan', - 'Snapchat', - ], - }, - { - id: 151, - name: 'Squares of a Sorted Array', - url: 'https://leetcode.com/problems/squares-of-a-sorted-array/', - pattern: ['Two Pointers'], - difficulty: 'Easy', - premium: false, - companies: ['Facebook', 'Amazon', 'Google', 'Adobe', 'Apple', 'Uber'], - }, - { - id: 152, - name: 'Backspace String Compare', - url: 'https://leetcode.com/problems/backspace-string-compare/', - pattern: ['Two Pointers'], - difficulty: 'Easy', - premium: false, - companies: ['Facebook', 'Amazon', 'Apple', 'Google', 'Microsoft'], - }, - { - id: 153, - name: '3 Sum', - url: 'https://leetcode.com/problems/3sum/', - pattern: ['Two Pointers'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Facebook', - 'Apple', - 'Microsoft', - 'Adobe', - 'Google', - 'Bloomberg', - 'Intuit', - 'Qualtrics', - 'Salesforce', - 'Goldman Sachs', - 'Uber', - 'Oracle', - ], - }, - { - id: 154, - name: '3 Sum Closest', - url: 'https://leetcode.com/problems/3sum-closest/', - pattern: ['Two Pointers'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Capital One', - 'Apple', - 'Google', - 'Adobe', - 'Microsoft', - 'Oracle', - ], - }, - { - id: 155, - name: 'Subarrays with Product Less than K', - url: 'https://leetcode.com/problems/subarray-product-less-than-k/', - pattern: ['Two Pointers'], - difficulty: 'Medium', - premium: false, - companies: ['LinkedIn', 'Amazon', 'Microsoft'], - }, - { - id: 156, - name: 'Sort Colours', - url: 'https://leetcode.com/problems/sort-colors/', - pattern: ['Two Pointers'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Microsoft', - 'Amazon', - 'Adobe', - 'Facebook', - 'Apple', - 'Salesforce', - 'Bloomberg', - ], - }, - { - id: 157, - name: 'Trapping Rain Water', - url: 'https://leetcode.com/problems/trapping-rain-water/', - pattern: ['Two Pointers'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Facebook', - 'Amazon', - 'Goldman Sachs', - 'Microsoft', - 'Adobe', - 'Google', - 'Bloomberg', - 'Qualtrics', - 'Snapchat', - 'Lyft', - 'Uber', - 'Apple', - 'Citadel', - 'Tesla', - ], - }, - { - id: 158, - name: 'Container With Most Water', - url: 'https://leetcode.com/problems/container-with-most-water/', - pattern: ['Two Pointers'], - difficulty: 'Medium', - premium: false, - companies: [ - 'Amazon', - 'Microsoft', - 'Google', - 'Adobe', - 'Bloomberg', - 'Apple', - 'Uber', - 'Facebook', - ], - }, - { - id: 159, - name: 'Longest Word in Dictionary', - url: 'https://leetcode.com/problems/longest-word-in-dictionary/', - pattern: ['Trie'], - difficulty: 'Medium', - premium: false, - companies: ['Google'], - }, - { - id: 160, - name: 'Index Pairs of a String', - url: 'https://leetcode.com/problems/index-pairs-of-a-string/', - pattern: ['Trie'], - difficulty: 'Easy', - premium: true, - companies: ['Amazon'], - }, - { - id: 161, - name: 'Maximum XOR of Two Numbers in an Array', - url: 'https://leetcode.com/problems/maximum-xor-of-two-numbers-in-an-array', - pattern: ['Trie'], - difficulty: 'Medium', - premium: false, - companies: ['Adobe'], - }, - { - id: 162, - name: 'Concatenated Words', - url: 'https://leetcode.com/problems/concatenated-words/', - pattern: ['Trie'], - difficulty: 'Hard', - premium: false, - companies: ['Amazon', 'Microsoft'], - }, - { - id: 163, - name: 'Prefix and Suffix Search', - url: 'https://leetcode.com/problems/prefix-and-suffix-search/', - pattern: ['Trie'], - difficulty: 'Hard', - premium: false, - companies: ['Google'], - }, - { - id: 164, - name: 'Palindrome Pairs', - url: 'https://leetcode.com/problems/palindrome-pairs/', - pattern: ['Trie'], - difficulty: 'Hard', - premium: false, - companies: ['Airbnb', 'Facebook', 'Google'], - }, - { - id: 165, - name: 'Design Search Autocomplete System', - url: 'https://leetcode.com/problems/design-search-autocomplete-system/', - pattern: ['Trie'], - difficulty: 'Hard', - premium: true, - companies: [ - 'Amazon', - 'Google', - 'Microsoft', - 'Uber', - 'Bloomberg', - 'Twitter', - ], - }, - { - id: 166, - name: 'Word Squares', - url: 'https://leetcode.com/problems/word-squares/', - pattern: ['Trie'], - difficulty: 'Hard', - premium: true, - companies: ['Bloomberg', 'Oracle', 'Google'], - }, - { - id: 167, - name: 'Sort Items by Groups Respecting Dependencies', - url: - 'https://leetcode.com/problems/sort-items-by-groups-respecting-dependencies/', - pattern: ['DFS', 'Graph', 'Topological Sort'], - difficulty: 'Hard', - premium: false, - companies: ['Apple'], - }, - { - id: 168, - name: 'Median of Two Sorted Arrays', - url: 'https://leetcode.com/problems/median-of-two-sorted-arrays/', - pattern: ['Binary Search'], - difficulty: 'Hard', - premium: false, - companies: [ - 'Amazon', - 'Goldman Sachs', - 'Microsoft', - 'Google', - 'Adobe', - 'Facebook', - 'Apple', - 'Bloomberg', - 'Oracle', - ], - }, - { - id: 169, - name: 'Majority Element', - url: 'https://leetcode.com/problems/majority-element/', - pattern: ['Sorting'], - difficulty: 'Easy', - premium: false, - companies: ['Amazon', 'Facebook', 'Apple', 'Microsoft', 'Adobe'], - }, - { - id: 170, - name: 'Convert 1D Array Into 2D Array', - url: 'https://leetcode.com/problems/convert-1d-array-into-2d-array/', - pattern: ['Arrays'], - difficulty: 'Easy', - premium: false, - companies: ['Google'], - }, -]; +import questions from './questions.json'; const sortBy = { Easy: 0, Medium: 1, Hard: 2 }; +const { updated, data } = questions; + +for (let i = 0; i < data.length; i += 1) { + data[i].companyNames = data[i].companies.map(company => company.name); +} -export default questions.sort( - (a, b) => sortBy[a.difficulty] - sortBy[b.difficulty], -); +export { updated }; +export default data.sort((a, b) => sortBy[a.difficulty] - sortBy[b.difficulty]); diff --git a/src/data/questions.json b/src/data/questions.json new file mode 100644 index 00000000..818076cf --- /dev/null +++ b/src/data/questions.json @@ -0,0 +1,11104 @@ +{ + "updated": "2025-07-13T12:03:45.600091", + "data": [ + { + "id": 0, + "title": "Contains Duplicate", + "slug": "contains-duplicate", + "pattern": [ + "Arrays" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 8 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 7 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 3 + }, + { + "name": "Netflix", + "slug": "netflix", + "frequency": 2 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + } + ] + }, + { + "id": 1, + "title": "Missing Number", + "slug": "missing-number", + "pattern": [ + "Arrays", + "Bit Manipulation" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 12 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + } + ] + }, + { + "id": 2, + "title": "Find All Numbers Disappeared in an Array", + "slug": "find-all-numbers-disappeared-in-an-array", + "pattern": [ + "Arrays" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Tinkoff", + "slug": "tinkoff", + "frequency": 2 + } + ] + }, + { + "id": 3, + "title": "Single Number", + "slug": "single-number", + "pattern": [ + "Arrays", + "Bit Manipulation" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 21 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 10 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + } + ] + }, + { + "id": 4, + "title": "Product of Array Except Self", + "slug": "product-of-array-except-self", + "pattern": [ + "Arrays" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 27 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Asana", + "slug": "asana", + "frequency": 5 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 5 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Fractal Analytics", + "slug": "fractal-analytics", + "frequency": 2 + }, + { + "name": "ZS Associates", + "slug": "zs-associates", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + }, + { + "name": "Turing", + "slug": "turing", + "frequency": 2 + }, + { + "name": "Autodesk", + "slug": "autodesk", + "frequency": 2 + }, + { + "name": "Sigmoid", + "slug": "sigmoid", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + } + ] + }, + { + "id": 5, + "title": "Find the Duplicate Number", + "slug": "find-the-duplicate-number", + "pattern": [ + "Arrays", + "Binary Search", + "Two Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 8 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "Anduril", + "slug": "anduril", + "frequency": 2 + } + ] + }, + { + "id": 6, + "title": "Find All Duplicates in an Array", + "slug": "find-all-duplicates-in-an-array", + "pattern": [ + "Arrays" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + } + ] + }, + { + "id": 7, + "title": "Set Matrix Zeroes", + "slug": "set-matrix-zeroes", + "pattern": [ + "Arrays" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 14 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 11 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 11 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 7 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 5 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 3 + }, + { + "name": "eBay", + "slug": "ebay", + "frequency": 3 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + }, + { + "name": "Autodesk", + "slug": "autodesk", + "frequency": 2 + }, + { + "name": "J.P. Morgan", + "slug": "jpmorgan", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + } + ] + }, + { + "id": 8, + "title": "Spiral Matrix", + "slug": "spiral-matrix", + "pattern": [ + "Arrays" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 18 + }, + { + "name": "Google", + "slug": "google", + "frequency": 16 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 7 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 6 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 6 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Epic Systems", + "slug": "epic-systems", + "frequency": 5 + }, + { + "name": "eBay", + "slug": "ebay", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "Capital One", + "slug": "capital-one", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Yahoo", + "slug": "yahoo", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Roblox", + "slug": "roblox", + "frequency": 2 + }, + { + "name": "RBC", + "slug": "rbc", + "frequency": 2 + }, + { + "name": "Anduril", + "slug": "anduril", + "frequency": 2 + }, + { + "name": "josh technology", + "slug": "josh-technology", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Intuit", + "slug": "intuit", + "frequency": 2 + }, + { + "name": "Databricks", + "slug": "databricks", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + }, + { + "name": "NetApp", + "slug": "netapp", + "frequency": 2 + }, + { + "name": "Nordstrom", + "slug": "nordstrom", + "frequency": 2 + }, + { + "name": "SIG", + "slug": "sig", + "frequency": 2 + } + ] + }, + { + "id": 9, + "title": "Rotate Image", + "slug": "rotate-image", + "pattern": [ + "Arrays" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 24 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 13 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 9 + }, + { + "name": "J.P. Morgan", + "slug": "jpmorgan", + "frequency": 9 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 6 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 5 + }, + { + "name": "Roblox", + "slug": "roblox", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Capital One", + "slug": "capital-one", + "frequency": 3 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + } + ] + }, + { + "id": 10, + "title": "Word Search", + "slug": "word-search", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 30 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 20 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 13 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 9 + }, + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "Karat", + "slug": "karat", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Netflix", + "slug": "netflix", + "frequency": 4 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 3 + }, + { + "name": "Faire", + "slug": "faire", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "Grammarly", + "slug": "grammarly", + "frequency": 2 + }, + { + "name": "Atlassian", + "slug": "atlassian", + "frequency": 2 + }, + { + "name": "Samsung", + "slug": "samsung", + "frequency": 2 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 2 + }, + { + "name": "Epic Systems", + "slug": "epic-systems", + "frequency": 2 + } + ] + }, + { + "id": 11, + "title": "First Missing Positive", + "slug": "first-missing-positive", + "pattern": [ + "Arrays" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 17 + }, + { + "name": "Google", + "slug": "google", + "frequency": 14 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "MakeMyTrip", + "slug": "makemytrip", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Myntra", + "slug": "myntra", + "frequency": 3 + }, + { + "name": "Netflix", + "slug": "netflix", + "frequency": 3 + }, + { + "name": "Zomato", + "slug": "zomato", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Tesla", + "slug": "tesla", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + }, + { + "name": "General Motors", + "slug": "general-motors", + "frequency": 2 + }, + { + "name": "SoundHound", + "slug": "soundhound", + "frequency": 2 + }, + { + "name": "Sprinklr", + "slug": "sprinklr", + "frequency": 2 + } + ] + }, + { + "id": 12, + "title": "Longest Consecutive Sequence", + "slug": "longest-consecutive-sequence", + "pattern": [ + "Arrays" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 25 + }, + { + "name": "Google", + "slug": "google", + "frequency": 24 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 9 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 8 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 4 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Tesla", + "slug": "tesla", + "frequency": 2 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + }, + { + "name": "EPAM Systems", + "slug": "epam-systems", + "frequency": 2 + } + ] + }, + { + "id": 13, + "title": "Letter Case Permutation", + "slug": "letter-case-permutation", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 14, + "title": "Subsets", + "slug": "subsets", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 21 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 18 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 12 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 9 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 6 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Wix", + "slug": "wix", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + } + ] + }, + { + "id": 15, + "title": "Subsets II", + "slug": "subsets-ii", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 9 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + } + ] + }, + { + "id": 16, + "title": "Permutations", + "slug": "permutations", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 15 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 11 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Arista Networks", + "slug": "arista-networks", + "frequency": 2 + }, + { + "name": "Booking.com", + "slug": "bookingcom", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Qualcomm", + "slug": "qualcomm", + "frequency": 2 + }, + { + "name": "American Express", + "slug": "american-express", + "frequency": 2 + } + ] + }, + { + "id": 17, + "title": "Permutations II", + "slug": "permutations-ii", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + } + ] + }, + { + "id": 18, + "title": "Combinations", + "slug": "combinations", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 19, + "title": "Combination Sum", + "slug": "combination-sum", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 13 + }, + { + "name": "Google", + "slug": "google", + "frequency": 11 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Airbnb", + "slug": "airbnb", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Yahoo", + "slug": "yahoo", + "frequency": 3 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Confluent", + "slug": "confluent", + "frequency": 2 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + } + ] + }, + { + "id": 20, + "title": "Combination Sum II", + "slug": "combination-sum-ii", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 4 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + } + ] + }, + { + "id": 21, + "title": "Combination Sum III", + "slug": "combination-sum-iii", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + } + ] + }, + { + "id": 22, + "title": "Generate Parentheses", + "slug": "generate-parentheses", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 26 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 25 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 11 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 7 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Grammarly", + "slug": "grammarly", + "frequency": 4 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "Huawei", + "slug": "huawei", + "frequency": 3 + }, + { + "name": "Texas Instruments", + "slug": "texas-instruments", + "frequency": 3 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "EPAM Systems", + "slug": "epam-systems", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + }, + { + "name": "Disney", + "slug": "disney", + "frequency": 2 + } + ] + }, + { + "id": 23, + "title": "Target Sum", + "slug": "target-sum", + "pattern": [ + "Backtracking", + "DFS", + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 8 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Pinterest", + "slug": "pinterest", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "Myntra", + "slug": "myntra", + "frequency": 2 + } + ] + }, + { + "id": 24, + "title": "Palindrome Partitioning", + "slug": "palindrome-partitioning", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 11 + }, + { + "name": "Google", + "slug": "google", + "frequency": 10 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + } + ] + }, + { + "id": 25, + "title": "Letter Combinations of a Phone Number", + "slug": "letter-combinations-of-a-phone-number", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 19 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 16 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 9 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 8 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 7 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Epic Systems", + "slug": "epic-systems", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 3 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 2 + }, + { + "name": "DE Shaw", + "slug": "de-shaw", + "frequency": 2 + }, + { + "name": "Flexport", + "slug": "flexport", + "frequency": 2 + } + ] + }, + { + "id": 26, + "title": "Generalized Abbreviation", + "slug": "generalized-abbreviation", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": true, + "companies": [] + }, + { + "id": 27, + "title": "Sudoku Solver", + "slug": "sudoku-solver", + "pattern": [ + "Backtracking" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 8 + }, + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Confluent", + "slug": "confluent", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Intuit", + "slug": "intuit", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + } + ] + }, + { + "id": 28, + "title": "N-Queens", + "slug": "n-queens", + "pattern": [ + "Backtracking" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 15 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 12 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 10 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + } + ] + }, + { + "id": 29, + "title": "Climbing Stairs", + "slug": "climbing-stairs", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 27 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 26 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 10 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 8 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 7 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "Grammarly", + "slug": "grammarly", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Accolite", + "slug": "accolite", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + } + ] + }, + { + "id": 30, + "title": "House Robber", + "slug": "house-robber", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 29 + }, + { + "name": "Google", + "slug": "google", + "frequency": 18 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 10 + }, + { + "name": "Databricks", + "slug": "databricks", + "frequency": 6 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 5 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 3 + }, + { + "name": "PhonePe", + "slug": "phonepe", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "EPAM Systems", + "slug": "epam-systems", + "frequency": 2 + }, + { + "name": "Intuit", + "slug": "intuit", + "frequency": 2 + }, + { + "name": "DE Shaw", + "slug": "de-shaw", + "frequency": 2 + } + ] + }, + { + "id": 31, + "title": "Best Time to Buy and Sell Stock", + "slug": "best-time-to-buy-and-sell-stock", + "pattern": [ + "Greedy" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 82 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 64 + }, + { + "name": "Google", + "slug": "google", + "frequency": 34 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 16 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 14 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 10 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 6 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 4 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 4 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 4 + }, + { + "name": "Morgan Stanley", + "slug": "morgan-stanley", + "frequency": 4 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 3 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 3 + }, + { + "name": "Agoda", + "slug": "agoda", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 3 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Zoox", + "slug": "zoox", + "frequency": 2 + }, + { + "name": "Millennium", + "slug": "millennium", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "Capital One", + "slug": "capital-one", + "frequency": 2 + }, + { + "name": "Atlassian", + "slug": "atlassian", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Tesla", + "slug": "tesla", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + }, + { + "name": "Bank of America", + "slug": "bank-of-america", + "frequency": 2 + }, + { + "name": "Mastercard", + "slug": "mastercard", + "frequency": 2 + }, + { + "name": "Ozon", + "slug": "ozon", + "frequency": 2 + }, + { + "name": "DE Shaw", + "slug": "de-shaw", + "frequency": 2 + }, + { + "name": "BlackRock", + "slug": "blackrock", + "frequency": 2 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "Deutsche Bank", + "slug": "deutsche-bank", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + }, + { + "name": "Societe Generale", + "slug": "societe-generale", + "frequency": 2 + }, + { + "name": "PhonePe", + "slug": "phonepe", + "frequency": 2 + }, + { + "name": "Bolt", + "slug": "bolt", + "frequency": 2 + }, + { + "name": "Deloitte", + "slug": "deloitte", + "frequency": 2 + }, + { + "name": "Capgemini", + "slug": "capgemini", + "frequency": 2 + }, + { + "name": "Remitly", + "slug": "remitly", + "frequency": 2 + }, + { + "name": "Toast", + "slug": "toast", + "frequency": 2 + }, + { + "name": "Squarepoint Capital", + "slug": "squarepoint-capital", + "frequency": 2 + }, + { + "name": "Turing", + "slug": "turing", + "frequency": 2 + }, + { + "name": "American Express", + "slug": "american-express", + "frequency": 2 + } + ] + }, + { + "id": 32, + "title": "Maximum Subarray", + "slug": "maximum-subarray", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 35 + }, + { + "name": "Google", + "slug": "google", + "frequency": 17 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 15 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 14 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 11 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 9 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 8 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 6 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 5 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 5 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 4 + }, + { + "name": "Upstart", + "slug": "upstart", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 4 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 3 + }, + { + "name": "Tekion", + "slug": "tekion", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 3 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 3 + }, + { + "name": "Intel", + "slug": "intel", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Coupang", + "slug": "coupang", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Optum", + "slug": "optum", + "frequency": 2 + }, + { + "name": "Cognizant", + "slug": "cognizant", + "frequency": 2 + }, + { + "name": "Squarepoint Capital", + "slug": "squarepoint-capital", + "frequency": 2 + }, + { + "name": "Vimeo", + "slug": "vimeo", + "frequency": 2 + } + ] + }, + { + "id": 33, + "title": "Range Sum Query - Immutable", + "slug": "range-sum-query-immutable", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 10 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + } + ] + }, + { + "id": 34, + "title": "House Robber II", + "slug": "house-robber-ii", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Databricks", + "slug": "databricks", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Docusign", + "slug": "docusign", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 2 + } + ] + }, + { + "id": 35, + "title": "Coin Change", + "slug": "coin-change", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 26 + }, + { + "name": "Google", + "slug": "google", + "frequency": 9 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 6 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 5 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Pinterest", + "slug": "pinterest", + "frequency": 4 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 4 + }, + { + "name": "Datadog", + "slug": "datadog", + "frequency": 4 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "Intuit", + "slug": "intuit", + "frequency": 3 + }, + { + "name": "Affirm", + "slug": "affirm", + "frequency": 3 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 3 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 3 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + } + ] + }, + { + "id": 36, + "title": "Maximum Product Subarray", + "slug": "maximum-product-subarray", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 8 + }, + { + "name": "Google", + "slug": "google", + "frequency": 8 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 6 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "DE Shaw", + "slug": "de-shaw", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 37, + "title": "Longest Increasing Subsequence", + "slug": "longest-increasing-subsequence", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 15 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 11 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 11 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 9 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Squarepoint Capital", + "slug": "squarepoint-capital", + "frequency": 3 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 3 + }, + { + "name": "Splunk", + "slug": "splunk", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Flexport", + "slug": "flexport", + "frequency": 2 + } + ] + }, + { + "id": 38, + "title": "Longest Palindromic Substring", + "slug": "longest-palindromic-substring", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 28 + }, + { + "name": "Google", + "slug": "google", + "frequency": 25 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 18 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 11 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 9 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 8 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 7 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 5 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 4 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 4 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 3 + }, + { + "name": "EPAM Systems", + "slug": "epam-systems", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "SAP", + "slug": "sap", + "frequency": 3 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "Softwire", + "slug": "softwire", + "frequency": 2 + }, + { + "name": "persistent systems", + "slug": "persistent-systems", + "frequency": 2 + }, + { + "name": "PhonePe", + "slug": "phonepe", + "frequency": 2 + }, + { + "name": "Deloitte", + "slug": "deloitte", + "frequency": 2 + }, + { + "name": "Cognizant", + "slug": "cognizant", + "frequency": 2 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 2 + }, + { + "name": "Huawei", + "slug": "huawei", + "frequency": 2 + }, + { + "name": "Pure Storage", + "slug": "pure-storage", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Commvault", + "slug": "commvault", + "frequency": 2 + }, + { + "name": "Accolite", + "slug": "accolite", + "frequency": 2 + }, + { + "name": "Turing", + "slug": "turing", + "frequency": 2 + } + ] + }, + { + "id": 39, + "title": "Word Break", + "slug": "word-break", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 18 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 16 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 8 + }, + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 3 + }, + { + "name": "MongoDB", + "slug": "mongodb", + "frequency": 3 + }, + { + "name": "Netflix", + "slug": "netflix", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "Intuit", + "slug": "intuit", + "frequency": 2 + }, + { + "name": "BuyHatke", + "slug": "buyhatke", + "frequency": 2 + } + ] + }, + { + "id": 40, + "title": "Combination Sum IV", + "slug": "combination-sum-iv", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 41, + "title": "Decode Ways", + "slug": "decode-ways", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 7 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 5 + }, + { + "name": "Lyft", + "slug": "lyft", + "frequency": 4 + }, + { + "name": "Snap", + "slug": "snapchat", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "Oscar Health", + "slug": "oscar-health", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 42, + "title": "Unique Paths", + "slug": "unique-paths", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 18 + }, + { + "name": "Google", + "slug": "google", + "frequency": 13 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 8 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + } + ] + }, + { + "id": 43, + "title": "Jump Game", + "slug": "jump-game", + "pattern": [ + "Dynamic Programming", + "Greedy" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 33 + }, + { + "name": "Google", + "slug": "google", + "frequency": 9 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 8 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 6 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 3 + }, + { + "name": "HashedIn", + "slug": "hashedin", + "frequency": 2 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Meesho", + "slug": "meesho", + "frequency": 2 + } + ] + }, + { + "id": 44, + "title": "Palindromic Substrings", + "slug": "palindromic-substrings", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 27 + }, + { + "name": "Pure Storage", + "slug": "pure-storage", + "frequency": 8 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 8 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 7 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Epic Systems", + "slug": "epic-systems", + "frequency": 2 + }, + { + "name": "Netskope", + "slug": "netskope", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "Arista Networks", + "slug": "arista-networks", + "frequency": 2 + } + ] + }, + { + "id": 45, + "title": "Number of Longest Increasing Subsequence", + "slug": "number-of-longest-increasing-subsequence", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + } + ] + }, + { + "id": 46, + "title": "Partition Equal Subset Sum", + "slug": "partition-equal-subset-sum", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 11 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 8 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "EPAM Systems", + "slug": "epam-systems", + "frequency": 2 + } + ] + }, + { + "id": 47, + "title": "Partition to K Equal Sum Subsets", + "slug": "partition-to-k-equal-sum-subsets", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 7 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + } + ] + }, + { + "id": 48, + "title": "Best Time to Buy and Sell Stock with Cooldown", + "slug": "best-time-to-buy-and-sell-stock-with-cooldown", + "pattern": [ + "Dynamic Programming" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + } + ] + }, + { + "id": 49, + "title": "Counting Bits", + "slug": "counting-bits", + "pattern": [ + "Dynamic Programming", + "Bit Manipulation" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Google", + "slug": "google", + "frequency": 3 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + } + ] + }, + { + "id": 50, + "title": "Linked List Cycle", + "slug": "linked-list-cycle", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 9 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Qualcomm", + "slug": "qualcomm", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + } + ] + }, + { + "id": 51, + "title": "Middle of the Linked List", + "slug": "middle-of-the-linked-list", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 7 + }, + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + } + ] + }, + { + "id": 52, + "title": "Reverse Linked List", + "slug": "reverse-linked-list", + "pattern": [ + "In-place reversal of a linked list" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 11 + }, + { + "name": "Google", + "slug": "google", + "frequency": 11 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 9 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 5 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 3 + }, + { + "name": "SAP", + "slug": "sap", + "frequency": 3 + }, + { + "name": "Qualcomm", + "slug": "qualcomm", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + } + ] + }, + { + "id": 53, + "title": "Palindrome Linked List", + "slug": "palindrome-linked-list", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 10 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 8 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 7 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + } + ] + }, + { + "id": 54, + "title": "Remove Linked List Elements", + "slug": "remove-linked-list-elements", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Google", + "slug": "google", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 55, + "title": "Remove Duplicates from Sorted List", + "slug": "remove-duplicates-from-sorted-list", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + } + ] + }, + { + "id": 56, + "title": "Linked List Cycle II", + "slug": "linked-list-cycle-ii", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 57, + "title": "Add Two Numbers", + "slug": "add-two-numbers", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 63 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 37 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 26 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 14 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 12 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + } + ] + }, + { + "id": 58, + "title": "Remove Nth Node From End of List", + "slug": "remove-nth-node-from-end-of-list", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 36 + }, + { + "name": "Google", + "slug": "google", + "frequency": 14 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 10 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + } + ] + }, + { + "id": 59, + "title": "Sort List", + "slug": "sort-list", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 8 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 5 + }, + { + "name": "Lyft", + "slug": "lyft", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 60, + "title": "Reorder List", + "slug": "reorder-list", + "pattern": [ + "Fast & Slow Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 9 + }, + { + "name": "Google", + "slug": "google", + "frequency": 9 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Arista Networks", + "slug": "arista-networks", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + } + ] + }, + { + "id": 61, + "title": "Pacific Atlantic Water Flow", + "slug": "pacific-atlantic-water-flow", + "pattern": [ + "BFS", + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 9 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 8 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + } + ] + }, + { + "id": 62, + "title": "Number of Islands", + "slug": "number-of-islands", + "pattern": [ + "BFS", + "DFS", + "Union Find" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 92 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 21 + }, + { + "name": "Google", + "slug": "google", + "frequency": 21 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 16 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 15 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 12 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 11 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 9 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 9 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 9 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 7 + }, + { + "name": "Anduril", + "slug": "anduril", + "frequency": 7 + }, + { + "name": "Snap", + "slug": "snapchat", + "frequency": 6 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 5 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 4 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 3 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "eBay", + "slug": "ebay", + "frequency": 3 + }, + { + "name": "Samsung", + "slug": "samsung", + "frequency": 3 + }, + { + "name": "SAP", + "slug": "sap", + "frequency": 3 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 3 + }, + { + "name": "Tinkoff", + "slug": "tinkoff", + "frequency": 3 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 2 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + }, + { + "name": "Tesla", + "slug": "tesla", + "frequency": 2 + }, + { + "name": "Qualcomm", + "slug": "qualcomm", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + }, + { + "name": "Grammarly", + "slug": "grammarly", + "frequency": 2 + }, + { + "name": "Siemens", + "slug": "siemens", + "frequency": 2 + }, + { + "name": "Barclays", + "slug": "barclays", + "frequency": 2 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Huawei", + "slug": "huawei", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + }, + { + "name": "Wix", + "slug": "wix", + "frequency": 2 + }, + { + "name": "BitGo", + "slug": "bitgo", + "frequency": 2 + }, + { + "name": "Cloudflare", + "slug": "cloudflare", + "frequency": 2 + }, + { + "name": "Rivian", + "slug": "rivian", + "frequency": 2 + }, + { + "name": "Squarepoint Capital", + "slug": "squarepoint-capital", + "frequency": 2 + }, + { + "name": "HashedIn", + "slug": "hashedin", + "frequency": 2 + }, + { + "name": "Comcast", + "slug": "comcast", + "frequency": 2 + } + ] + }, + { + "id": 63, + "title": "Graph Valid Tree", + "slug": "graph-valid-tree", + "pattern": [ + "BFS", + "DFS", + "Graph", + "Union Find" + ], + "difficulty": "Medium", + "premium": true, + "companies": [ + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + } + ] + }, + { + "id": 64, + "title": "Number of Connected Components in an Undirected Graph", + "slug": "number-of-connected-components-in-an-undirected-graph", + "pattern": [ + "BFS", + "DFS", + "Graph", + "Union Find" + ], + "difficulty": "Medium", + "premium": true, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 9 + }, + { + "name": "General Motors", + "slug": "general-motors", + "frequency": 8 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 65, + "title": "Reverse Linked List II", + "slug": "reverse-linked-list-ii", + "pattern": [ + "In-place reversal of a linked list" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 5 + }, + { + "name": "Arista Networks", + "slug": "arista-networks", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + } + ] + }, + { + "id": 66, + "title": "Rotate List", + "slug": "rotate-list", + "pattern": [ + "In-place reversal of a linked list" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 67, + "title": "Swap Nodes in Pairs", + "slug": "swap-nodes-in-pairs", + "pattern": [ + "In-place reversal of a linked list" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 8 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 68, + "title": "Odd Even Linked List", + "slug": "odd-even-linked-list", + "pattern": [ + "In-place reversal of a linked list" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 9 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + } + ] + }, + { + "id": 69, + "title": "Reverse Nodes in k-Group", + "slug": "reverse-nodes-in-k-group", + "pattern": [ + "In-place reversal of a linked list" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 13 + }, + { + "name": "Google", + "slug": "google", + "frequency": 10 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 5 + }, + { + "name": "Arista Networks", + "slug": "arista-networks", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 2 + } + ] + }, + { + "id": 70, + "title": "Merge Two Sorted Lists", + "slug": "merge-two-sorted-lists", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 28 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 19 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 12 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 9 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 8 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Hubspot", + "slug": "hubspot", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Huawei", + "slug": "huawei", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "HPE", + "slug": "hpe", + "frequency": 2 + }, + { + "name": "Palo Alto Networks", + "slug": "palo-alto-networks", + "frequency": 2 + } + ] + }, + { + "id": 71, + "title": "Kth Smallest Element in a Sorted Matrix", + "slug": "kth-smallest-element-in-a-sorted-matrix", + "pattern": [ + "Binary Search", + "Heap" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 22 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 7 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 4 + }, + { + "name": "PhonePe", + "slug": "phonepe", + "frequency": 3 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + } + ] + }, + { + "id": 72, + "title": "Find K Pairs with Smallest Sums", + "slug": "find-k-pairs-with-smallest-sums", + "pattern": [ + "Heap" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 8 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 7 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 2 + } + ] + }, + { + "id": 73, + "title": "Merge k Sorted Lists", + "slug": "merge-k-sorted-lists", + "pattern": [ + "Heap" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 70 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 47 + }, + { + "name": "Google", + "slug": "google", + "frequency": 10 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 8 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 8 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 6 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 3 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 3 + }, + { + "name": "Warnermedia", + "slug": "warnermedia", + "frequency": 3 + }, + { + "name": "eBay", + "slug": "ebay", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "Anduril", + "slug": "anduril", + "frequency": 2 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Two Sigma", + "slug": "two-sigma", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Samsung", + "slug": "samsung", + "frequency": 2 + }, + { + "name": "MongoDB", + "slug": "mongodb", + "frequency": 2 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 2 + } + ] + }, + { + "id": 74, + "title": "Smallest Range Covering Elements from K Lists", + "slug": "smallest-range-covering-elements-from-k-lists", + "pattern": [ + "Heap" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 9 + }, + { + "name": "PhonePe", + "slug": "phonepe", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + } + ] + }, + { + "id": 75, + "title": "Meeting Rooms", + "slug": "meeting-rooms", + "pattern": [ + "Intervals" + ], + "difficulty": "Easy", + "premium": true, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 76, + "title": "Merge Intervals", + "slug": "merge-intervals", + "pattern": [ + "Intervals" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 108 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 54 + }, + { + "name": "Google", + "slug": "google", + "frequency": 28 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 25 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 12 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 9 + }, + { + "name": "Grammarly", + "slug": "grammarly", + "frequency": 9 + }, + { + "name": "Hubspot", + "slug": "hubspot", + "frequency": 7 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 7 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 6 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 6 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 6 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 5 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 5 + }, + { + "name": "Tesco", + "slug": "tesco", + "frequency": 5 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 4 + }, + { + "name": "Roblox", + "slug": "roblox", + "frequency": 4 + }, + { + "name": "Palantir Technologies", + "slug": "palantir-technologies", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "Netflix", + "slug": "netflix", + "frequency": 3 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 3 + }, + { + "name": "IXL", + "slug": "ixl", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Nextdoor", + "slug": "nextdoor", + "frequency": 3 + }, + { + "name": "CrowdStrike", + "slug": "crowdstrike", + "frequency": 3 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + }, + { + "name": "Capital One", + "slug": "capital-one", + "frequency": 2 + }, + { + "name": "Atlassian", + "slug": "atlassian", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + }, + { + "name": "J.P. Morgan", + "slug": "jpmorgan", + "frequency": 2 + }, + { + "name": "Tesla", + "slug": "tesla", + "frequency": 2 + }, + { + "name": "Ozon", + "slug": "ozon", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Docusign", + "slug": "docusign", + "frequency": 2 + }, + { + "name": "GoDaddy", + "slug": "godaddy", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "Expedia", + "slug": "expedia", + "frequency": 2 + }, + { + "name": "razorpay", + "slug": "razorpay", + "frequency": 2 + }, + { + "name": "Turing", + "slug": "turing", + "frequency": 2 + }, + { + "name": "Disney", + "slug": "disney", + "frequency": 2 + }, + { + "name": "AMD", + "slug": "amd", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + }, + { + "name": "Anduril", + "slug": "anduril", + "frequency": 2 + }, + { + "name": "Moveworks", + "slug": "moveworks", + "frequency": 2 + }, + { + "name": "Ripple", + "slug": "ripple", + "frequency": 2 + } + ] + }, + { + "id": 77, + "title": "Interval List Intersections", + "slug": "interval-list-intersections", + "pattern": [ + "Intervals" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 69 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 3 + }, + { + "name": "Verkada", + "slug": "verkada", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 78, + "title": "Non-overlapping Intervals", + "slug": "non-overlapping-intervals", + "pattern": [ + "Intervals" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 8 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Verkada", + "slug": "verkada", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Capital One", + "slug": "capital-one", + "frequency": 2 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 2 + } + ] + }, + { + "id": 79, + "title": "Meeting Rooms II", + "slug": "meeting-rooms-ii", + "pattern": [ + "Heap", + "Intervals" + ], + "difficulty": "Medium", + "premium": true, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 30 + }, + { + "name": "Google", + "slug": "google", + "frequency": 20 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 18 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 9 + }, + { + "name": "Atlassian", + "slug": "atlassian", + "frequency": 8 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 5 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "Netflix", + "slug": "netflix", + "frequency": 2 + }, + { + "name": "Hubspot", + "slug": "hubspot", + "frequency": 2 + }, + { + "name": "Lime", + "slug": "lime", + "frequency": 2 + }, + { + "name": "WorldQuant", + "slug": "worldquant", + "frequency": 2 + }, + { + "name": "Splunk", + "slug": "splunk", + "frequency": 2 + }, + { + "name": "Capital One", + "slug": "capital-one", + "frequency": 2 + }, + { + "name": "Two Sigma", + "slug": "two-sigma", + "frequency": 2 + } + ] + }, + { + "id": 80, + "title": "Task Scheduler", + "slug": "task-scheduler", + "pattern": [ + "Greedy", + "Heap" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 12 + }, + { + "name": "Google", + "slug": "google", + "frequency": 10 + }, + { + "name": "Roblox", + "slug": "roblox", + "frequency": 7 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Rubrik", + "slug": "rubrik", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "MathWorks", + "slug": "mathworks", + "frequency": 2 + } + ] + }, + { + "id": 81, + "title": "Minimum Number of Arrows to Burst Balloons", + "slug": "minimum-number-of-arrows-to-burst-balloons", + "pattern": [ + "Greedy" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + } + ] + }, + { + "id": 82, + "title": "Insert Interval", + "slug": "insert-interval", + "pattern": [ + "Intervals" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 5 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 4 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "MongoDB", + "slug": "mongodb", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + } + ] + }, + { + "id": 83, + "title": "Employee Free Time", + "slug": "employee-free-time", + "pattern": [ + "Heap", + "Greedy" + ], + "difficulty": "Hard", + "premium": true, + "companies": [ + { + "name": "Citadel", + "slug": "citadel", + "frequency": 5 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + } + ] + }, + { + "id": 84, + "title": "Binary Search", + "slug": "binary-search", + "pattern": [ + "Binary Search" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + } + ] + }, + { + "id": 85, + "title": "Find Smallest Letter Greater Than Target", + "slug": "find-smallest-letter-greater-than-target", + "pattern": [ + "Binary Search" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 4 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + } + ] + }, + { + "id": 86, + "title": "Peak Index in a Mountain Array", + "slug": "peak-index-in-a-mountain-array", + "pattern": [ + "Binary Search" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 8 + }, + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 87, + "title": "Find Minimum in Rotated Sorted Array", + "slug": "find-minimum-in-rotated-sorted-array", + "pattern": [ + "Binary Search" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 7 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 4 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + } + ] + }, + { + "id": 88, + "title": "Find Peak Element", + "slug": "find-peak-element", + "pattern": [ + "Binary Search" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 112 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 14 + }, + { + "name": "Google", + "slug": "google", + "frequency": 13 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 13 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 9 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 4 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 2 + }, + { + "name": "Waymo", + "slug": "waymo", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "IXL", + "slug": "ixl", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Commvault", + "slug": "commvault", + "frequency": 2 + }, + { + "name": "Wix", + "slug": "wix", + "frequency": 2 + } + ] + }, + { + "id": 89, + "title": "Search in Rotated Sorted Array", + "slug": "search-in-rotated-sorted-array", + "pattern": [ + "Binary Search" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 25 + }, + { + "name": "Google", + "slug": "google", + "frequency": 13 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 13 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 10 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 9 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 9 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 7 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 6 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 4 + }, + { + "name": "Grammarly", + "slug": "grammarly", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Arista Networks", + "slug": "arista-networks", + "frequency": 3 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 3 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Snap", + "slug": "snapchat", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "Criteo", + "slug": "criteo", + "frequency": 2 + }, + { + "name": "Palo Alto Networks", + "slug": "palo-alto-networks", + "frequency": 2 + }, + { + "name": "Yahoo", + "slug": "yahoo", + "frequency": 2 + }, + { + "name": "Samsung", + "slug": "samsung", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + }, + { + "name": "Paytm", + "slug": "paytm", + "frequency": 2 + }, + { + "name": "Autodesk", + "slug": "autodesk", + "frequency": 2 + } + ] + }, + { + "id": 90, + "title": "Search in Rotated Sorted Array II", + "slug": "search-in-rotated-sorted-array-ii", + "pattern": [ + "Binary Search" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + } + ] + }, + { + "id": 91, + "title": "Search a 2D Matrix", + "slug": "search-a-2d-matrix", + "pattern": [ + "Binary Search" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 14 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + } + ] + }, + { + "id": 92, + "title": "Search a 2D Matrix II", + "slug": "search-a-2d-matrix-ii", + "pattern": [ + "Binary Search" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + } + ] + }, + { + "id": 93, + "title": "Find K Closest Elements", + "slug": "find-k-closest-elements", + "pattern": [ + "Binary Search" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Yandex", + "slug": "yandex", + "frequency": 12 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 10 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 9 + }, + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 4 + }, + { + "name": "Coupang", + "slug": "coupang", + "frequency": 4 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 4 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 94, + "title": "Count of Range Sum", + "slug": "count-of-range-sum", + "pattern": [ + "Binary Search" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + } + ] + }, + { + "id": 95, + "title": "Minimum Size Subarray Sum", + "slug": "minimum-size-subarray-sum", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + } + ] + }, + { + "id": 96, + "title": "Fruit Into Baskets", + "slug": "fruit-into-baskets", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 97, + "title": "Permutation in String", + "slug": "permutation-in-string", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 8 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + } + ] + }, + { + "id": 98, + "title": "Longest Repeating Character Replacement", + "slug": "longest-repeating-character-replacement", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 16 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 13 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 7 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + }, + { + "name": "UiPath", + "slug": "uipath", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 2 + } + ] + }, + { + "id": 99, + "title": "Sliding Window Maximum", + "slug": "sliding-window-maximum", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 18 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 14 + }, + { + "name": "Google", + "slug": "google", + "frequency": 13 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 8 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 4 + }, + { + "name": "Juspay", + "slug": "juspay", + "frequency": 3 + }, + { + "name": "LINE", + "slug": "line", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Palo Alto Networks", + "slug": "palo-alto-networks", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Coupang", + "slug": "coupang", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "DE Shaw", + "slug": "de-shaw", + "frequency": 2 + }, + { + "name": "Gameskraft", + "slug": "gameskraft", + "frequency": 2 + }, + { + "name": "MongoDB", + "slug": "mongodb", + "frequency": 2 + } + ] + }, + { + "id": 100, + "title": "Longest Substring Without Repeating Characters", + "slug": "longest-substring-without-repeating-characters", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 56 + }, + { + "name": "Google", + "slug": "google", + "frequency": 41 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 23 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 20 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 19 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 11 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 9 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 7 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 7 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 7 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 5 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 5 + }, + { + "name": "Turing", + "slug": "turing", + "frequency": 4 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 4 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 3 + }, + { + "name": "Netflix", + "slug": "netflix", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "HCL", + "slug": "hcl", + "frequency": 3 + }, + { + "name": "Lyft", + "slug": "lyft", + "frequency": 3 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 3 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 3 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 3 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Docusign", + "slug": "docusign", + "frequency": 2 + }, + { + "name": "Coupang", + "slug": "coupang", + "frequency": 2 + }, + { + "name": "Spotify", + "slug": "spotify", + "frequency": 2 + }, + { + "name": "J.P. Morgan", + "slug": "jpmorgan", + "frequency": 2 + }, + { + "name": "Paytm", + "slug": "paytm", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "persistent systems", + "slug": "persistent-systems", + "frequency": 2 + }, + { + "name": "EPAM Systems", + "slug": "epam-systems", + "frequency": 2 + }, + { + "name": "Palo Alto Networks", + "slug": "palo-alto-networks", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "SAP", + "slug": "sap", + "frequency": 2 + }, + { + "name": "Roblox", + "slug": "roblox", + "frequency": 2 + }, + { + "name": "Morgan Stanley", + "slug": "morgan-stanley", + "frequency": 2 + }, + { + "name": "American Express", + "slug": "american-express", + "frequency": 2 + }, + { + "name": "Nagarro", + "slug": "nagarro", + "frequency": 2 + }, + { + "name": "Capgemini", + "slug": "capgemini", + "frequency": 2 + }, + { + "name": "Agoda", + "slug": "agoda", + "frequency": 2 + }, + { + "name": "AMD", + "slug": "amd", + "frequency": 2 + }, + { + "name": "PornHub", + "slug": "pornhub", + "frequency": 2 + }, + { + "name": "Juspay", + "slug": "juspay", + "frequency": 2 + }, + { + "name": "Dell", + "slug": "dell", + "frequency": 2 + }, + { + "name": "Comcast", + "slug": "comcast", + "frequency": 2 + }, + { + "name": "Freecharge", + "slug": "freecharge", + "frequency": 2 + } + ] + }, + { + "id": 101, + "title": "Minimum Number of K Consecutive Bit Flips", + "slug": "minimum-number-of-k-consecutive-bit-flips", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 2 + } + ] + }, + { + "id": 102, + "title": "Count Unique Characters of All Substrings of a Given String", + "slug": "count-unique-characters-of-all-substrings-of-a-given-string", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Hard", + "premium": false, + "companies": [] + }, + { + "id": 103, + "title": "Minimum Window Substring", + "slug": "minimum-window-substring", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 54 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 17 + }, + { + "name": "Lyft", + "slug": "lyft", + "frequency": 7 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 7 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 6 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 5 + }, + { + "name": "Airbnb", + "slug": "airbnb", + "frequency": 5 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 3 + }, + { + "name": "SoFi", + "slug": "sofi", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Snap", + "slug": "snapchat", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Zeta", + "slug": "zeta", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + }, + { + "name": "thoughtspot", + "slug": "thoughtspot", + "frequency": 2 + } + ] + }, + { + "id": 104, + "title": "Substring with Concatenation of All Words", + "slug": "substring-with-concatenation-of-all-words", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 105, + "title": "Kth Smallest Element in a BST", + "slug": "kth-smallest-element-in-a-bst", + "pattern": [ + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Uber", + "slug": "uber", + "frequency": 9 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + } + ] + }, + { + "id": 106, + "title": "K Closest Points to Origin", + "slug": "k-closest-points-to-origin", + "pattern": [ + "Heap" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 75 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 10 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + } + ] + }, + { + "id": 107, + "title": "Top K Frequent Elements", + "slug": "top-k-frequent-elements", + "pattern": [ + "Heap" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 104 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 49 + }, + { + "name": "Google", + "slug": "google", + "frequency": 21 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 15 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Avito", + "slug": "avito", + "frequency": 4 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Yahoo", + "slug": "yahoo", + "frequency": 2 + }, + { + "name": "Atlassian", + "slug": "atlassian", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + }, + { + "name": "J.P. Morgan", + "slug": "jpmorgan", + "frequency": 2 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 2 + }, + { + "name": "Roku", + "slug": "roku", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Twilio", + "slug": "twilio", + "frequency": 2 + }, + { + "name": "Intuit", + "slug": "intuit", + "frequency": 2 + }, + { + "name": "Pinterest", + "slug": "pinterest", + "frequency": 2 + }, + { + "name": "SoFi", + "slug": "sofi", + "frequency": 2 + }, + { + "name": "Microstrategy", + "slug": "microstrategy", + "frequency": 2 + } + ] + }, + { + "id": 108, + "title": "Sort Characters By Frequency", + "slug": "sort-characters-by-frequency", + "pattern": [ + "Heap" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + } + ] + }, + { + "id": 109, + "title": "Kth Largest Element in an Array", + "slug": "kth-largest-element-in-an-array", + "pattern": [ + "Heap", + "QuickSelect" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 189 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 19 + }, + { + "name": "Google", + "slug": "google", + "frequency": 16 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 6 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 6 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 6 + }, + { + "name": "Spotify", + "slug": "spotify", + "frequency": 5 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 5 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 3 + }, + { + "name": "Morgan Stanley", + "slug": "morgan-stanley", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 3 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 2 + }, + { + "name": "Turing", + "slug": "turing", + "frequency": 2 + } + ] + }, + { + "id": 110, + "title": "Reorganize String", + "slug": "reorganize-string", + "pattern": [ + "Greedy", + "Heap" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 103 + }, + { + "name": "Roblox", + "slug": "roblox", + "frequency": 16 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Pinterest", + "slug": "pinterest", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + } + ] + }, + { + "id": 111, + "title": "Rearrange String k Distance Apart", + "slug": "rearrange-string-k-distance-apart", + "pattern": [ + "Greedy", + "Heap" + ], + "difficulty": "Hard", + "premium": true, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 5 + } + ] + }, + { + "id": 112, + "title": "Course Schedule III", + "slug": "course-schedule-iii", + "pattern": [ + "Greedy", + "Heap" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + } + ] + }, + { + "id": 113, + "title": "Maximum Frequency Stack", + "slug": "maximum-frequency-stack", + "pattern": [ + "Bucket Sort", + "Heap" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Uber", + "slug": "uber", + "frequency": 3 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 114, + "title": "Course Schedule", + "slug": "course-schedule", + "pattern": [ + "BFS", + "DFS", + "Graph", + "Topological Sort" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 54 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 36 + }, + { + "name": "Google", + "slug": "google", + "frequency": 13 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 9 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 4 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 4 + }, + { + "name": "Coupang", + "slug": "coupang", + "frequency": 3 + }, + { + "name": "Anduril", + "slug": "anduril", + "frequency": 3 + }, + { + "name": "Nordstrom", + "slug": "nordstrom", + "frequency": 3 + }, + { + "name": "ByteDance", + "slug": "bytedance", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 2 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 2 + }, + { + "name": "Swiggy", + "slug": "swiggy", + "frequency": 2 + }, + { + "name": "IXL", + "slug": "ixl", + "frequency": 2 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + } + ] + }, + { + "id": 115, + "title": "Course Schedule II", + "slug": "course-schedule-ii", + "pattern": [ + "BFS", + "DFS", + "Graph", + "Topological Sort" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 50 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 11 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 10 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 10 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 9 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 5 + }, + { + "name": "Snap", + "slug": "snapchat", + "frequency": 5 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Anduril", + "slug": "anduril", + "frequency": 4 + }, + { + "name": "Intuit", + "slug": "intuit", + "frequency": 4 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 3 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 2 + }, + { + "name": "Netflix", + "slug": "netflix", + "frequency": 2 + }, + { + "name": "Qualcomm", + "slug": "qualcomm", + "frequency": 2 + }, + { + "name": "Remitly", + "slug": "remitly", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "Arista Networks", + "slug": "arista-networks", + "frequency": 2 + } + ] + }, + { + "id": 116, + "title": "Minimum Height Trees", + "slug": "minimum-height-trees", + "pattern": [ + "BFS", + "Graph", + "Topological Sort" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Splunk", + "slug": "splunk", + "frequency": 2 + } + ] + }, + { + "id": 117, + "title": "Alien Dictionary", + "slug": "alien-dictionary", + "pattern": [ + "Graph", + "Topological Sort" + ], + "difficulty": "Hard", + "premium": true, + "companies": [ + { + "name": "Uber", + "slug": "uber", + "frequency": 23 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 12 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 8 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + } + ] + }, + { + "id": 118, + "title": "Sequence Reconstruction", + "slug": "sequence-reconstruction", + "pattern": [ + "Graph", + "Topological Sort" + ], + "difficulty": "Medium", + "premium": true, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 3 + } + ] + }, + { + "id": 119, + "title": "Binary Tree Level Order Traversal II", + "slug": "binary-tree-level-order-traversal-ii", + "pattern": [ + "BFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [] + }, + { + "id": 120, + "title": "Average of Levels in Binary Tree", + "slug": "average-of-levels-in-binary-tree", + "pattern": [ + "BFS" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 2 + } + ] + }, + { + "id": 121, + "title": "Minimum Depth of Binary Tree", + "slug": "minimum-depth-of-binary-tree", + "pattern": [ + "BFS", + "DFS" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Google", + "slug": "google", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + } + ] + }, + { + "id": 122, + "title": "Binary Tree Level Order Traversal", + "slug": "binary-tree-level-order-traversal", + "pattern": [ + "BFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 18 + }, + { + "name": "Google", + "slug": "google", + "frequency": 7 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 5 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + } + ] + }, + { + "id": 123, + "title": "Binary Tree Zigzag Level Order Traversal", + "slug": "binary-tree-zigzag-level-order-traversal", + "pattern": [ + "BFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 19 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 3 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Sigmoid", + "slug": "sigmoid", + "frequency": 2 + } + ] + }, + { + "id": 124, + "title": "Binary Tree Right Side View", + "slug": "binary-tree-right-side-view", + "pattern": [ + "BFS", + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 121 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 14 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 5 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 4 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + } + ] + }, + { + "id": 125, + "title": "All Nodes Distance K in Binary Tree", + "slug": "all-nodes-distance-k-in-binary-tree", + "pattern": [ + "BFS", + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 41 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 18 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 126, + "title": "Same Tree", + "slug": "same-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 13 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + } + ] + }, + { + "id": 127, + "title": "Path Sum", + "slug": "path-sum", + "pattern": [ + "DFS" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + } + ] + }, + { + "id": 128, + "title": "Maximum Depth of Binary Tree", + "slug": "maximum-depth-of-binary-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Arista Networks", + "slug": "arista-networks", + "frequency": 2 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 2 + } + ] + }, + { + "id": 129, + "title": "Diameter of Binary Tree", + "slug": "diameter-of-binary-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 132 + }, + { + "name": "Google", + "slug": "google", + "frequency": 9 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Verkada", + "slug": "verkada", + "frequency": 2 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 130, + "title": "Merge Two Binary Trees", + "slug": "merge-two-binary-trees", + "pattern": [ + "DFS" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + } + ] + }, + { + "id": 131, + "title": "Lowest Common Ancestor of a Binary Search Tree", + "slug": "lowest-common-ancestor-of-a-binary-search-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 9 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + } + ] + }, + { + "id": 132, + "title": "Subtree of Another Tree", + "slug": "subtree-of-another-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Google", + "slug": "google", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + } + ] + }, + { + "id": 133, + "title": "Invert Binary Tree", + "slug": "invert-binary-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 7 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Palo Alto Networks", + "slug": "palo-alto-networks", + "frequency": 2 + } + ] + }, + { + "id": 134, + "title": "Path Sum II", + "slug": "path-sum-ii", + "pattern": [ + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + } + ] + }, + { + "id": 135, + "title": "Path Sum III", + "slug": "path-sum-iii", + "pattern": [ + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + } + ] + }, + { + "id": 136, + "title": "Lowest Common Ancestor of a Binary Tree", + "slug": "lowest-common-ancestor-of-a-binary-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 137 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 31 + }, + { + "name": "Atlassian", + "slug": "atlassian", + "frequency": 9 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 3 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Intuit", + "slug": "intuit", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "MongoDB", + "slug": "mongodb", + "frequency": 2 + } + ] + }, + { + "id": 137, + "title": "Maximum Binary Tree", + "slug": "maximum-binary-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [] + }, + { + "id": 138, + "title": "Maximum Width of Binary Tree", + "slug": "maximum-width-of-binary-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 5 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 139, + "title": "Construct Binary Tree from Preorder and Inorder Traversal", + "slug": "construct-binary-tree-from-preorder-and-inorder-traversal", + "pattern": [ + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 7 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 2 + } + ] + }, + { + "id": 140, + "title": "Validate Binary Search Tree", + "slug": "validate-binary-search-tree", + "pattern": [ + "DFS" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + } + ] + }, + { + "id": 141, + "title": "Implement Trie (Prefix Tree)", + "slug": "implement-trie-prefix-tree", + "pattern": [ + "Design", + "Trie" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 7 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 7 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 4 + }, + { + "name": "Google", + "slug": "google", + "frequency": 3 + }, + { + "name": "Docusign", + "slug": "docusign", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "MongoDB", + "slug": "mongodb", + "frequency": 2 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 2 + }, + { + "name": "Roblox", + "slug": "roblox", + "frequency": 2 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 2 + }, + { + "name": "instabase", + "slug": "instabase", + "frequency": 2 + }, + { + "name": "Grammarly", + "slug": "grammarly", + "frequency": 2 + } + ] + }, + { + "id": 142, + "title": "Binary Tree Maximum Path Sum", + "slug": "binary-tree-maximum-path-sum", + "pattern": [ + "DFS" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 25 + }, + { + "name": "Google", + "slug": "google", + "frequency": 12 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 12 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 12 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 5 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Snap", + "slug": "snapchat", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Datadog", + "slug": "datadog", + "frequency": 2 + } + ] + }, + { + "id": 143, + "title": "Serialize and Deserialize Binary Tree", + "slug": "serialize-and-deserialize-binary-tree", + "pattern": [ + "Design" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 12 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 8 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 3 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Citadel", + "slug": "citadel", + "frequency": 2 + }, + { + "name": "Qualcomm", + "slug": "qualcomm", + "frequency": 2 + } + ] + }, + { + "id": 144, + "title": "Word Search II", + "slug": "word-search-ii", + "pattern": [ + "DFS", + "Trie" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 16 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 7 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 7 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 5 + }, + { + "name": "Wix", + "slug": "wix", + "frequency": 4 + }, + { + "name": "Snap", + "slug": "snapchat", + "frequency": 3 + }, + { + "name": "Google", + "slug": "google", + "frequency": 3 + }, + { + "name": "Two Sigma", + "slug": "two-sigma", + "frequency": 3 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 3 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + } + ] + }, + { + "id": 145, + "title": "Find Median from Data Stream", + "slug": "find-median-from-data-stream", + "pattern": [ + "Heap" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 29 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 21 + }, + { + "name": "Google", + "slug": "google", + "frequency": 11 + }, + { + "name": "Pinterest", + "slug": "pinterest", + "frequency": 8 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 3 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 3 + }, + { + "name": "Tinder", + "slug": "tinder", + "frequency": 3 + }, + { + "name": "Docusign", + "slug": "docusign", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Anduril", + "slug": "anduril", + "frequency": 2 + }, + { + "name": "Coupang", + "slug": "coupang", + "frequency": 2 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "Splunk", + "slug": "splunk", + "frequency": 2 + }, + { + "name": "IXL", + "slug": "ixl", + "frequency": 2 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 2 + }, + { + "name": "Okta", + "slug": "okta", + "frequency": 2 + }, + { + "name": "KLA", + "slug": "kla", + "frequency": 2 + } + ] + }, + { + "id": 146, + "title": "Sliding Window Median", + "slug": "sliding-window-median", + "pattern": [ + "Heap" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 28 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Datadog", + "slug": "datadog", + "frequency": 2 + } + ] + }, + { + "id": 147, + "title": "Two Sum", + "slug": "two-sum", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 247 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 110 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 79 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 58 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 29 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 10 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 8 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 7 + }, + { + "name": "Infosys", + "slug": "infosys", + "frequency": 7 + }, + { + "name": "Spotify", + "slug": "spotify", + "frequency": 5 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 5 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 4 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 4 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 4 + }, + { + "name": "American Express", + "slug": "american-express", + "frequency": 4 + }, + { + "name": "EPAM Systems", + "slug": "epam-systems", + "frequency": 4 + }, + { + "name": "SAP", + "slug": "sap", + "frequency": 4 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 4 + }, + { + "name": "DoorDash", + "slug": "doordash", + "frequency": 4 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 4 + }, + { + "name": "Hubspot", + "slug": "hubspot", + "frequency": 4 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 3 + }, + { + "name": "Intel", + "slug": "intel", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 3 + }, + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 2 + }, + { + "name": "Deloitte", + "slug": "deloitte", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Wipro", + "slug": "wipro", + "frequency": 2 + }, + { + "name": "Comcast", + "slug": "comcast", + "frequency": 2 + }, + { + "name": "Western Digital", + "slug": "western-digital", + "frequency": 2 + }, + { + "name": "Qualcomm", + "slug": "qualcomm", + "frequency": 2 + }, + { + "name": "Accolite", + "slug": "accolite", + "frequency": 2 + }, + { + "name": "Cognizant", + "slug": "cognizant", + "frequency": 2 + }, + { + "name": "persistent systems", + "slug": "persistent-systems", + "frequency": 2 + }, + { + "name": "Capgemini", + "slug": "capgemini", + "frequency": 2 + }, + { + "name": "HCL", + "slug": "hcl", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "eBay", + "slug": "ebay", + "frequency": 2 + }, + { + "name": "Naver", + "slug": "naver", + "frequency": 2 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Epic Systems", + "slug": "epic-systems", + "frequency": 2 + }, + { + "name": "Splunk", + "slug": "splunk", + "frequency": 2 + }, + { + "name": "Tinkoff", + "slug": "tinkoff", + "frequency": 2 + }, + { + "name": "Tekion", + "slug": "tekion", + "frequency": 2 + }, + { + "name": "jio", + "slug": "jio", + "frequency": 2 + }, + { + "name": "KLA", + "slug": "kla", + "frequency": 2 + }, + { + "name": "Pwc", + "slug": "pwc", + "frequency": 2 + }, + { + "name": "Airbus SE", + "slug": "airbus", + "frequency": 2 + } + ] + }, + { + "id": 148, + "title": "Squares of a Sorted Array", + "slug": "squares-of-a-sorted-array", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 21 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 16 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 6 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 4 + }, + { + "name": "Instacart", + "slug": "instacart", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Agoda", + "slug": "agoda", + "frequency": 2 + } + ] + }, + { + "id": 149, + "title": "Backspace String Compare", + "slug": "backspace-string-compare", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 5 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 5 + }, + { + "name": "Microstrategy", + "slug": "microstrategy", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Agoda", + "slug": "agoda", + "frequency": 2 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Wayfair", + "slug": "wayfair", + "frequency": 2 + } + ] + }, + { + "id": 150, + "title": "3Sum", + "slug": "3sum", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 30 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 27 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 17 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 15 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 13 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 11 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 5 + }, + { + "name": "Cloudflare", + "slug": "cloudflare", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Agoda", + "slug": "agoda", + "frequency": 3 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "IBM", + "slug": "ibm", + "frequency": 2 + }, + { + "name": "Meesho", + "slug": "meesho", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Tesla", + "slug": "tesla", + "frequency": 2 + }, + { + "name": "American Express", + "slug": "american-express", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + }, + { + "name": "HCL", + "slug": "hcl", + "frequency": 2 + }, + { + "name": "BNY Mellon", + "slug": "bny-mellon", + "frequency": 2 + }, + { + "name": "Turing", + "slug": "turing", + "frequency": 2 + }, + { + "name": "Vimeo", + "slug": "vimeo", + "frequency": 2 + } + ] + }, + { + "id": 151, + "title": "3Sum Closest", + "slug": "3sum-closest", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 10 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 4 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 2 + } + ] + }, + { + "id": 152, + "title": "Subarray Product Less Than K", + "slug": "subarray-product-less-than-k", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 7 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Squarepoint Capital", + "slug": "squarepoint-capital", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Airbnb", + "slug": "airbnb", + "frequency": 3 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 2 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Samsung", + "slug": "samsung", + "frequency": 2 + }, + { + "name": "Flexport", + "slug": "flexport", + "frequency": 2 + }, + { + "name": "Agoda", + "slug": "agoda", + "frequency": 2 + } + ] + }, + { + "id": 153, + "title": "Sort Colors", + "slug": "sort-colors", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 18 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 16 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 16 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 12 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Autodesk", + "slug": "autodesk", + "frequency": 2 + }, + { + "name": "eBay", + "slug": "ebay", + "frequency": 2 + }, + { + "name": "Swiggy", + "slug": "swiggy", + "frequency": 2 + }, + { + "name": "PhonePe", + "slug": "phonepe", + "frequency": 2 + } + ] + }, + { + "id": 154, + "title": "Trapping Rain Water", + "slug": "trapping-rain-water", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 69 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 62 + }, + { + "name": "Google", + "slug": "google", + "frequency": 31 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 13 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 11 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 9 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 6 + }, + { + "name": "Zopsmart", + "slug": "zopsmart", + "frequency": 6 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 5 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 4 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 4 + }, + { + "name": "PhonePe", + "slug": "phonepe", + "frequency": 4 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 3 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 3 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 3 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 3 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Expedia", + "slug": "expedia", + "frequency": 3 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "Nutanix", + "slug": "nutanix", + "frequency": 2 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + }, + { + "name": "Tekion", + "slug": "tekion", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Grammarly", + "slug": "grammarly", + "frequency": 2 + }, + { + "name": "Zeta", + "slug": "zeta", + "frequency": 2 + }, + { + "name": "Roblox", + "slug": "roblox", + "frequency": 2 + }, + { + "name": "Qualcomm", + "slug": "qualcomm", + "frequency": 2 + }, + { + "name": "InMobi", + "slug": "inmobi", + "frequency": 2 + }, + { + "name": "DE Shaw", + "slug": "de-shaw", + "frequency": 2 + }, + { + "name": "SAP", + "slug": "sap", + "frequency": 2 + }, + { + "name": "HashedIn", + "slug": "hashedin", + "frequency": 2 + } + ] + }, + { + "id": 155, + "title": "Container With Most Water", + "slug": "container-with-most-water", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 22 + }, + { + "name": "Google", + "slug": "google", + "frequency": 21 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 9 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 8 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 8 + }, + { + "name": "SAP", + "slug": "sap", + "frequency": 5 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 4 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 3 + }, + { + "name": "Deloitte", + "slug": "deloitte", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "Myntra", + "slug": "myntra", + "frequency": 2 + }, + { + "name": "HashedIn", + "slug": "hashedin", + "frequency": 2 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 2 + }, + { + "name": "Visa", + "slug": "visa", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + }, + { + "name": "Snowflake", + "slug": "snowflake", + "frequency": 2 + }, + { + "name": "Zopsmart", + "slug": "zopsmart", + "frequency": 2 + } + ] + }, + { + "id": 156, + "title": "Longest Word in Dictionary", + "slug": "longest-word-in-dictionary", + "pattern": [ + "Trie" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 2 + } + ] + }, + { + "id": 157, + "title": "Index Pairs of a String", + "slug": "index-pairs-of-a-string", + "pattern": [ + "Trie" + ], + "difficulty": "Easy", + "premium": true, + "companies": [] + }, + { + "id": 158, + "title": "Maximum XOR of Two Numbers in an Array", + "slug": "maximum-xor-of-two-numbers-in-an-array", + "pattern": [ + "Trie" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 2 + } + ] + }, + { + "id": 159, + "title": "Concatenated Words", + "slug": "concatenated-words", + "pattern": [ + "Trie" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 30 + } + ] + }, + { + "id": 160, + "title": "Prefix and Suffix Search", + "slug": "prefix-and-suffix-search", + "pattern": [ + "Trie" + ], + "difficulty": "Hard", + "premium": false, + "companies": [] + }, + { + "id": 161, + "title": "Palindrome Pairs", + "slug": "palindrome-pairs", + "pattern": [ + "Trie" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Airbnb", + "slug": "airbnb", + "frequency": 8 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 3 + }, + { + "name": "Google", + "slug": "google", + "frequency": 2 + } + ] + }, + { + "id": 162, + "title": "Design Search Autocomplete System", + "slug": "design-search-autocomplete-system", + "pattern": [ + "Trie" + ], + "difficulty": "Hard", + "premium": true, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 3 + }, + { + "name": "Pinterest", + "slug": "pinterest", + "frequency": 3 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "MongoDB", + "slug": "mongodb", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + } + ] + }, + { + "id": 163, + "title": "Word Squares", + "slug": "word-squares", + "pattern": [ + "Trie" + ], + "difficulty": "Hard", + "premium": true, + "companies": [] + }, + { + "id": 164, + "title": "Sort Items by Groups Respecting Dependencies", + "slug": "sort-items-by-groups-respecting-dependencies", + "pattern": [ + "DFS", + "Graph", + "Topological Sort" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Citadel", + "slug": "citadel", + "frequency": 3 + } + ] + }, + { + "id": 165, + "title": "Median of Two Sorted Arrays", + "slug": "median-of-two-sorted-arrays", + "pattern": [ + "Binary Search" + ], + "difficulty": "Hard", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 45 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 28 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 23 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 16 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 11 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 8 + }, + { + "name": "Cognizant", + "slug": "cognizant", + "frequency": 3 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "Wix", + "slug": "wix", + "frequency": 3 + }, + { + "name": "Rippling", + "slug": "rippling", + "frequency": 2 + }, + { + "name": "Autodesk", + "slug": "autodesk", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 2 + }, + { + "name": "Palo Alto Networks", + "slug": "palo-alto-networks", + "frequency": 2 + }, + { + "name": "Swiggy", + "slug": "swiggy", + "frequency": 2 + } + ] + }, + { + "id": 166, + "title": "Majority Element", + "slug": "majority-element", + "pattern": [ + "Sorting" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 25 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 17 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 13 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 10 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 9 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 5 + }, + { + "name": "Accenture", + "slug": "accenture", + "frequency": 3 + }, + { + "name": "DE Shaw", + "slug": "de-shaw", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Qualcomm", + "slug": "qualcomm", + "frequency": 2 + }, + { + "name": "Zoho", + "slug": "zoho", + "frequency": 2 + }, + { + "name": "Autodesk", + "slug": "autodesk", + "frequency": 2 + } + ] + }, + { + "id": 167, + "title": "Convert 1D Array Into 2D Array", + "slug": "convert-1d-array-into-2d-array", + "pattern": [ + "Arrays" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 2 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + } + ] + }, + { + "id": 168, + "title": "Move Zeroes", + "slug": "move-zeroes", + "pattern": [ + "Arrays", + "Two Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Google", + "slug": "google", + "frequency": 17 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 11 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 7 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 6 + }, + { + "name": "Apple", + "slug": "apple", + "frequency": 6 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 5 + }, + { + "name": "josh technology", + "slug": "josh-technology", + "frequency": 4 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 3 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 3 + }, + { + "name": "PayPal", + "slug": "paypal", + "frequency": 2 + }, + { + "name": "Goldman Sachs", + "slug": "goldman-sachs", + "frequency": 2 + }, + { + "name": "Capgemini", + "slug": "capgemini", + "frequency": 2 + }, + { + "name": "NetApp", + "slug": "netapp", + "frequency": 2 + }, + { + "name": "SAP", + "slug": "sap", + "frequency": 2 + }, + { + "name": "Uber", + "slug": "uber", + "frequency": 2 + }, + { + "name": "Walmart Labs", + "slug": "walmart-labs", + "frequency": 2 + }, + { + "name": "Cisco", + "slug": "cisco", + "frequency": 2 + }, + { + "name": "tcs", + "slug": "tcs", + "frequency": 2 + }, + { + "name": "Nvidia", + "slug": "nvidia", + "frequency": 2 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 2 + }, + { + "name": "JTG", + "slug": "jtg", + "frequency": 2 + }, + { + "name": "Anduril", + "slug": "anduril", + "frequency": 2 + } + ] + }, + { + "id": 169, + "title": "Is Subsequence", + "slug": "is-subsequence", + "pattern": [ + "Two Pointers" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 11 + }, + { + "name": "Google", + "slug": "google", + "frequency": 5 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + }, + { + "name": "Yandex", + "slug": "yandex", + "frequency": 3 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 2 + }, + { + "name": "Pinterest", + "slug": "pinterest", + "frequency": 2 + } + ] + }, + { + "id": 170, + "title": "Binary Tree Paths", + "slug": "binary-tree-paths", + "pattern": [ + "DFS", + "Backtracking" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + } + ] + }, + { + "id": 171, + "title": "Factor Combinations", + "slug": "factor-combinations", + "pattern": [ + "Arrays", + "Backtracking" + ], + "difficulty": "Medium", + "premium": true, + "companies": [ + { + "name": "LinkedIn", + "slug": "linkedin", + "frequency": 3 + } + ] + }, + { + "id": 172, + "title": "Split a String Into the Max Number of Unique Substrings", + "slug": "split-a-string-into-the-max-number-of-unique-substrings", + "pattern": [ + "Backtracking" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 2 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + } + ] + }, + { + "id": 173, + "title": "Maximum Average Subarray I", + "slug": "maximum-average-subarray-i", + "pattern": [ + "Sliding Window" + ], + "difficulty": "Easy", + "premium": false, + "companies": [ + { + "name": "Meta", + "slug": "facebook", + "frequency": 10 + }, + { + "name": "Google", + "slug": "google", + "frequency": 6 + }, + { + "name": "Amazon", + "slug": "amazon", + "frequency": 4 + } + ] + }, + { + "id": 174, + "title": "Gas Station", + "slug": "gas-station", + "pattern": [ + "Greedy" + ], + "difficulty": "Medium", + "premium": false, + "companies": [ + { + "name": "Amazon", + "slug": "amazon", + "frequency": 8 + }, + { + "name": "Microsoft", + "slug": "microsoft", + "frequency": 5 + }, + { + "name": "Bloomberg", + "slug": "bloomberg", + "frequency": 5 + }, + { + "name": "Google", + "slug": "google", + "frequency": 4 + }, + { + "name": "Flipkart", + "slug": "flipkart", + "frequency": 3 + }, + { + "name": "BitGo", + "slug": "bitgo", + "frequency": 3 + }, + { + "name": "TikTok", + "slug": "tiktok", + "frequency": 3 + }, + { + "name": "Oracle", + "slug": "oracle", + "frequency": 2 + }, + { + "name": "Meta", + "slug": "facebook", + "frequency": 2 + }, + { + "name": "Adobe", + "slug": "adobe", + "frequency": 2 + }, + { + "name": "Salesforce", + "slug": "salesforce", + "frequency": 2 + }, + { + "name": "ServiceNow", + "slug": "servicenow", + "frequency": 2 + } + ] + } + ] +} \ No newline at end of file